Makefile revision ff4f940d
1ff4f940dSabs# $NetBSD: Makefile,v 1.45 2021/11/02 22:09:17 abs Exp $ 23cbc2fa9Smrg# 3b1c0e358Sfredb# Targets & Variables 4b1c0e358Sfredb# 5b1c0e358Sfredb# build: Clean out xsrc, and build and install everything that goes 6ff4f940dSabs# under /usr/X11R7. 7b1c0e358Sfredb# 8b1c0e358Sfredb# DESTDIR -- Set to an alternative directory to install under. 9b1c0e358Sfredb# UPDATE -- If set, don't make clean first, plus attempt to make 10b1c0e358Sfredb# only the targets that are out of date. 11b1c0e358Sfredb# 12b1c0e358Sfredb# release snapshot: Same as build, plus tar up the X sets and install 1347e71ac4Stron# them under the ${RELEASEDIR}/binary/sets directory (NetBSD <=1.6) 1447e71ac4Stron# or the ${RELEASEDIR}/${MACHINE}/binary/sets directory (NetBSD >1.6). 15b1c0e358Sfredb# 16b1c0e358Sfredb# DESTDIR -- Same as for build. Mandatory for building a release. 17b1c0e358Sfredb# RELEASEDIR -- As explained above. 18b1c0e358Sfredb# BUILD_DONE -- If set, assume build is already done. 19b1c0e358Sfredb# INSTALL_DONE -- If set, assume binaries to tar up are to be found 20b1c0e358Sfredb# in ${DESTDIR} already. 21d6a6307bSlukem# NETBSDSRCDIR -- Set to the full path to the main source tree, /usr/src 22b1c0e358Sfredb# by default. Needed to find ./distrib/sets. 23b1c0e358Sfredb# 24b1c0e358Sfredb# cleandir distclean: Remove all generated files from under xsrc. 25b1c0e358Sfredb# 26b1c0e358Sfredb# clean: Remove object files, but keep imake generated makefiles. 27b1c0e358Sfredb 2819cf06cfShubertf.include <bsd.own.mk> 2919cf06cfShubertf 3069ee051eStron# Backwards compatibility with NetBSD 1.5 and 1.5.x where NETBSDSRCDIR 3169ee051eStron# doesn't get defined by "bsd.own.mk". 3269ee051eStronNETBSDSRCDIR?= ${BSDSRCDIR} 3369ee051eStron 342acc5bd1StronXCDIR= xfree/xc 3581d95bffSlukem 36a63b1a70Sfredb.MAIN: all 37bf6f5851Sjwiseall: all-xc all-local 38b583040eStv 39b583040eStvall-xc: 402acc5bd1Stron.if exists(${XCDIR}/xmakefile) && defined(UPDATE) 412acc5bd1Stron @cd ${XCDIR} && ${MAKE} Everything 42b583040eStv.else 432acc5bd1Stron @-rm -f ${XCDIR}/xmakefile 442acc5bd1Stron @cd ${XCDIR} && ${MAKE} World 45b583040eStv.endif 463cbc2fa9Smrg 47456141b6Sthorpejall-local: 48456141b6Sthorpej @if [ ! -f local/Makefile ]; then \ 492acc5bd1Stron cd local && PATH=../${XCDIR}/config/imake:$$PATH \ 5088a49676Stron sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 5188a49676Stron ${.CURDIR}/local; \ 52456141b6Sthorpej fi 53456141b6Sthorpej @cd local && ${MAKE} 54456141b6Sthorpej 55bf6f5851Sjwiseinstall: install-xc install-local 563cbc2fa9Smrg 573cbc2fa9Smrginstall-xc: 5854c4591aSfredb @cd ${XCDIR} && \ 5954c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 6054c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 613cbc2fa9Smrg 62456141b6Sthorpejinstall-local: 6354c4591aSfredb @cd local && \ 6454c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 6554c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 66456141b6Sthorpej 677e6ae19cStronclean: 682acc5bd1Stron @-cd ${XCDIR} && ${MAKE} clean 6995c20adcStron @-cd local && ${MAKE} clean 7090360741Stv 7134e496fbSfredbcleandir distclean: clean 72012e3561Stron find ${XCDIR} local -name .depend | xargs -n5 rm 73012e3561Stron find ${XCDIR} local -name 'Makefile*' | \ 74aea64ab2Sfredb xargs -n5 grep -l "Makefile generated by imake" | xargs rm 752acc5bd1Stron -rmdir ${XCDIR}/exports 76e404178dStron rm -f ${XCDIR}/xmakefile ${XCDIR}/config/cf/version.def \ 77e404178dStron ${XCDIR}/config/cf/date.def 787e6ae19cStron 7990360741Stvbuild: 8034e496fbSfredb.if defined(UPDATE) 81ad374758Smrg @${MAKE} all && ${MAKE} install 8234e496fbSfredb.else 83ad374758Smrg @${MAKE} cleandir && ${MAKE} all && ${MAKE} install 8434e496fbSfredb.endif 85b1c0e358Sfredb 86b1c0e358Sfredb# release goo 87b1c0e358Sfredb# 88b1c0e358Sfredb.if !defined(DESTDIR) 89b1c0e358Sfredbrelease snapshot: 90b1c0e358Sfredb @echo setenv DESTDIR before doing that! 91b1c0e358Sfredb @false 92b1c0e358Sfredb.elif !defined(RELEASEDIR) 93b1c0e358Sfredbrelease snapshot: 94b1c0e358Sfredb @echo setenv RELEASEDIR before doing that! 95b1c0e358Sfredb @false 96b1c0e358Sfredb# 97b1c0e358Sfredb.else 98b1c0e358Sfredb# 99b1c0e358Sfredb.if defined(INSTALL_DONE) 100b1c0e358Sfredbrelease snapshot: 101b1c0e358Sfredb.elif defined(BUILD_DONE) 102b1c0e358Sfredbrelease snapshot: install 103b1c0e358Sfredb.else 104b1c0e358Sfredbrelease snapshot: build 105b1c0e358Sfredb# 106b1c0e358Sfredb.endif # INSTALL_DONE or BUILD_DONE 107b1c0e358Sfredb# 1082332351cSmatt ${INSTALL} -d -m 755 -o root -g wheel ${RELEASEDIR}/${MACHINE}/binary/sets 109dabe2211Stron ${INSTALL} -d -m 755 -o root -g wheel ${DESTDIR}/etc/mtree 110c60ab926Stron.if defined(METALOG.add) && !exists(${DESTDIR}/etc/master.passwd) 111eecca19eStron cd ${NETBSDSRCDIR}/distrib/sets && \ 1122332351cSmatt sh ./maketars -x -d ${DESTDIR:S,^$,/,} -N ${NETBSDSRCDIR}/etc -t ${RELEASEDIR}/${MACHINE}/binary/sets 113eecca19eStron.else 114d6a6307bSlukem cd ${NETBSDSRCDIR}/distrib/sets && \ 1152332351cSmatt sh ./maketars -x -d ${DESTDIR:S,^$,/,} -t ${RELEASEDIR}/${MACHINE}/binary/sets 116eecca19eStron.endif 1172332351cSmatt cd ${RELEASEDIR}/${MACHINE}/binary/sets && \ 118b1c0e358Sfredb cksum -o 1 *.tgz >BSDSUM && \ 119b1c0e358Sfredb cksum *.tgz >CKSUM && \ 120b1c0e358Sfredb cksum -m *.tgz >MD5 && \ 121b1c0e358Sfredb cksum -o 2 *.tgz >SYSVSUM 122b1c0e358Sfredb# 123e99d7581Sfredb.endif # DESTDIR and RELEASEDIR check 124