| #--------------------------------------------------- |
| # 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) |
| |
| #--------------------------------------------------- |