blob: 9f28a0859ff563654fd66c794aeaf04e935765d5 [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-local
#
# installs the tech files locally.
#
# make install-dist
#
# installs the tech files in the git project
# that is used for distribution of software
# across the system.
#
# make clean
#
# clean up all files generated by 'make'
#
#---------------------------------------------------
#
# The following definitions are tied to the contents
# of this repository and should not be changed.
TECHS = sky130
#---------------------------------------------------
all: ${TECHS}
for tech in ${TECHS}; do \
${MAKE} tech_$$tech; done
#---------------------------------------------------
tech_sky130:
(cd sky130 && ${MAKE} all)
#---------------------------------------------------
install-sky130-local: sky130
(cd sky130 && ${MAKE} install-local)
install-sky130-dist: sky130
(cd sky130 && ${MAKE} install-dist)
clean-sky130:
(cd sky130 && ${MAKE} clean)
veryclean-sky130:
(cd sky130 && ${MAKE} veryclean)
#---------------------------------------------------
install:
${MAKE} install-local
install-local: ${TECHS}
for tech in ${TECHS}; do \
${MAKE} install-$${tech}-local; done
install-dist: ${TECHS}
for tech in ${TECHS}; do \
${MAKE} install-$${tech}-dist; done
#---------------------------------------------------
clean:
for tech in ${TECHS}; do \
${MAKE} clean-$${tech}; done
veryclean:
for tech in ${TECHS}; do \
${MAKE} veryclean-$${tech}; done
distclean:
for tech in ${TECHS}; do \
${MAKE} veryclean-$${tech}; done