From dac0871c34edff55670987e42befa5f1bcd59956 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Wed, 28 Apr 2021 18:52:53 -0700 Subject: [PATCH 1/2] Initialize all the library submodules. Fixes #321. Signed-off-by: Tim 'mithro' Ansell --- scripts/make/git.mk | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) 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 @@ ifeq (,$(FULL_VERSION)) $(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)))) From 04968deacd69914edbe77780426ce0a8f074373a Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Wed, 28 Apr 2021 18:39:20 -0700 Subject: [PATCH 2/2] Rename value in top Makefile so it doesn't conflict. `LIBRARIES` in the top Makefile would conflict with `LIBRARIES` in the `scripts/make/git.mk`. Signed-off-by: Tim 'mithro' Ansell --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 1896b7e..ae7d4f7 100644 --- a/Makefile +++ b/Makefile @@ -79,9 +79,9 @@ all: README.rst @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-leakage: | $(CONDA_ENV_PYTHON) sky130_fd_sc_ms: sky130_fd_sc_ms-leakage -timing: $(LIBRARIES) | $(CONDA_ENV_PYTHON) +timing: $(SC_LIBS) | $(CONDA_ENV_PYTHON) @true