Merge pull request #323 from mithro/fix-make-submodule
Fix the cloning of library submodules
diff --git a/Makefile b/Makefile
index 1896b7e..ae7d4f7 100644
--- a/Makefile
+++ b/Makefile
@@ -79,9 +79,9 @@
@true
-LIBRARIES = $(sort $(notdir $(wildcard libraries/sky130_*_sc_*)))
+SC_LIBS = $(sort $(notdir $(wildcard libraries/sky130_*_sc_*)))
-$(LIBRARIES): | $(CONDA_ENV_PYTHON)
+$(SC_LIBS): | $(CONDA_ENV_PYTHON)
@$(IN_CONDA_ENV) for V in libraries/$@/*; do \
if [ -d "$$V/cells" ]; then \
python -m skywater_pdk.liberty $$V; \
@@ -99,7 +99,7 @@
sky130_fd_sc_ms: sky130_fd_sc_ms-leakage
-timing: $(LIBRARIES) | $(CONDA_ENV_PYTHON)
+timing: $(SC_LIBS) | $(CONDA_ENV_PYTHON)
@true
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))))