Initialize all the library submodules.
Fixes #321.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
diff --git a/scripts/make/git.mk b/scripts/make/git.mk
index e1a862e..c36a296 100644
--- a/scripts/make/git.mk
+++ b/scripts/make/git.mk
@@ -21,19 +21,24 @@
$(error "Version value could not be determined. Make sure you fetch the tags.")
endif
-submodules: libraries/sky130_fd_sc_hd/$(SUBMODULE_VERSION)/.git libraries/sky130_fd_sc_hdll/$(SUBMODULE_VERSION)/.git libraries/sky130_fd_sc_hs/$(SUBMODULE_VERSION)/.git libraries/sky130_fd_sc_ms/$(SUBMODULE_VERSION)/.git libraries/sky130_fd_sc_ls/$(SUBMODULE_VERSION)/.git
+LIBRARIES = $(sort $(notdir $(wildcard libraries/sky130_*)))
-libraries/sky130_fd_sc_hd/%/.git: .gitmodules
- git submodule update --init $(@D)
+LIBS_DOT_GIT = $(addsuffix /$(SUBMODULE_VERSION)/.git,$(addprefix libraries/,$(LIBRARIES)))
-libraries/sky130_fd_sc_hdll/%/.git: .gitmodules
- git submodule update --init $(@D)
+libraries-info:
+ @echo "The following libraries exist:"
+ @for L in $(LIBRARIES); do \
+ LD=libraries/$$L/$(SUBMODULE_VERSION); \
+ echo " * $$L"; \
+ echo " $$(git submodule status $$LD)"; \
+ done
+ @echo $(LIBS_DOT_GIT)
-libraries/sky130_fd_sc_hs/%/.git: .gitmodules
- git submodule update --init $(@D)
+submodules: $(LIBS_DOT_GIT)
-libraries/sky130_fd_sc_ms/%/.git: .gitmodules
- git submodule update --init $(@D)
+define LIB_template
+libraries/$(1)/%/.git: .gitmodules
+ git submodule update --init $$(@D)
+endef
-libraries/sky130_fd_sc_ls/%/.git: .gitmodules
- git submodule update --init $(@D)
+$(foreach lib,$(LIBRARIES), $(eval $(call LIB_template,$(lib))))