blob: b0fcdc0bcd6557a8e4035bb217f26ba5ebb0699a [file] [log] [blame]
#---------------------------------------------------
# Makefile for efabless project open_pdks
# Tim Edwards, 11/21/2016
# Updated 10/19/2018 for use independently of the
# efabless /ef/ tree filesystem setup.
# Updated 5/5/2020 for use with the 2-stage install
#---------------------------------------------------
#
# Typical usage:
#
# make
# generates the tech files from source masters.
#
# make install
#
# installs the tech files. If the configuration
# script has been given the "--with-<PDK>-dist-path="
# option, then tech files are installed in the path
# (such as a git repository) that is used for
# distribution of software across a system. Otherwise,
# files are installed in the local path specified by
# the configuration option "--with-<PDK>-local-path=".
#
# make clean
#
# clean up all files generated by 'make'
#
# make veryclean
#
# clean up all files generated by 'make' and remove
# all log files.
#
#---------------------------------------------------
#
# The following definitions are tied to the contents
# of this repository and should not be changed.
TECHS =
SKY130_SOURCE_PATH = @SKY130_SOURCE_PATH@
ifneq ($(SKY130_SOURCE_PATH),)
TECHS += sky130
endif
DONE_MESSAGE = "Done."
ifeq ($(TECHS),)
DONE_MESSAGE = "No techs configured."
endif
TECHS_ALL = $(addprefix tech_,$(TECHS))
TECHS_INSTALL = $(addprefix install-,$(TECHS))
TECHS_CLEAN = $(addprefix clean-,$(TECHS))
TECHS_VERYCLEAN = $(addprefix veryclean-,$(TECHS))
#---------------------------------------------------
all: $(TECHS_ALL)
@echo $(DONE_MESSAGE)
install: $(TECHS_INSTALL)
@echo $(DONE_MESSAGE)
clean: $(TECHS_CLEAN)
@echo $(DONE_MESSAGE)
veryclean: $(TECHS_VERYCLEAN)
@echo $(DONE_MESSAGE)
distclean: $(TECHS_VERYCLEAN)
@echo $(DONE_MESSAGE)
#---------------------------------------------------
tech_sky130:
(cd sky130 && ${MAKE} all)
#---------------------------------------------------
install-sky130: sky130
(cd sky130 && ${MAKE} install)
clean-sky130:
(cd sky130 && ${MAKE} clean)
veryclean-sky130:
(cd sky130 && ${MAKE} veryclean)
#---------------------------------------------------