| # Copyright 2020 SkyWater PDK Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # https://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| FULL_VERSION := $(shell git describe --long) |
| TAG_VERSION := $(firstword $(subst -, ,$(FULL_VERSION))) |
| |
| SUBMODULE_VERSION ?= latest |
| |
| ifeq (,$(FULL_VERSION)) |
| $(error "Version value could not be determined. Make sure you fetch the tags.") |
| endif |
| |
| LIBRARIES = $(sort $(notdir $(wildcard libraries/sky130_*))) |
| |
| LIBS_DOT_GIT = $(addsuffix /$(SUBMODULE_VERSION)/.git,$(addprefix libraries/,$(LIBRARIES))) |
| |
| 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) |
| |
| submodules: $(LIBS_DOT_GIT) |
| |
| define LIB_template |
| libraries/$(1)/%/.git: .gitmodules |
| git submodule update --init $$(@D) |
| endef |
| |
| $(foreach lib,$(LIBRARIES), $(eval $(call LIB_template,$(lib)))) |