Makefile revision dabe2211
1dabe2211Stron# $NetBSD: Makefile,v 1.41 2004/03/12 20:20:49 tron Exp $ 23cbc2fa9Smrg# 3b1c0e358Sfredb# Targets & Variables 4b1c0e358Sfredb# 5b1c0e358Sfredb# build: Clean out xsrc, and build and install everything that goes 6b1c0e358Sfredb# under /usr/X11R6. 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 3481d95bffSlukem.if ${USE_XF86_4:Uno} != "no" 352acc5bd1StronXCDIR= xfree/xc 362acc5bd1Stron.else 372acc5bd1StronXCDIR= xc 382acc5bd1Stron.endif 392acc5bd1Stron 4081d95bffSlukem 41a63b1a70Sfredb.MAIN: all 4281d95bffSlukem.if ${USE_XF86_4:Uno} != "no" 43bf6f5851Sjwiseall: all-xc all-local 44bf6f5851Sjwise.else 45456141b6Sthorpejall: all-xc all-contrib all-local 46bf6f5851Sjwise.endif 47b583040eStv 48b583040eStvall-xc: 492acc5bd1Stron.if exists(${XCDIR}/xmakefile) && defined(UPDATE) 502acc5bd1Stron @cd ${XCDIR} && ${MAKE} Everything 51b583040eStv.else 522acc5bd1Stron @-rm -f ${XCDIR}/xmakefile 532acc5bd1Stron @cd ${XCDIR} && ${MAKE} World 54b583040eStv.endif 553cbc2fa9Smrg 563cbc2fa9Smrgall-contrib: 57f766d8bfSfredb @if [ ! -f contrib/Makefile ]; then \ 582acc5bd1Stron cd contrib && PATH=../${XCDIR}/config/imake:$$PATH \ 5988a49676Stron sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 6088a49676Stron ${.CURDIR}/contrib; \ 61f766d8bfSfredb fi 62b583040eStv @cd contrib && ${MAKE} 633cbc2fa9Smrg 64456141b6Sthorpejall-local: 65456141b6Sthorpej @if [ ! -f local/Makefile ]; then \ 662acc5bd1Stron cd local && PATH=../${XCDIR}/config/imake:$$PATH \ 6788a49676Stron sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 6888a49676Stron ${.CURDIR}/local; \ 69456141b6Sthorpej fi 70456141b6Sthorpej @cd local && ${MAKE} 71456141b6Sthorpej 7281d95bffSlukem.if ${USE_XF86_4:Uno} != "no" 73bf6f5851Sjwiseinstall: install-xc install-local 74bf6f5851Sjwise.else 75456141b6Sthorpejinstall: install-xc install-contrib install-local 76bf6f5851Sjwise.endif 773cbc2fa9Smrg 783cbc2fa9Smrginstall-xc: 7954c4591aSfredb @cd ${XCDIR} && \ 8054c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 8154c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 823cbc2fa9Smrg 833cbc2fa9Smrginstall-contrib: 8454c4591aSfredb @cd contrib && \ 8554c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 8654c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 875c5d6177Smrg 88456141b6Sthorpejinstall-local: 8954c4591aSfredb @cd local && \ 9054c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 9154c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 92456141b6Sthorpej 937e6ae19cStronclean: 9481d95bffSlukem.if ${USE_XF86_4:Uno} != "no" 95bf6f5851Sjwise @-cd ${XCDIR} && ${MAKE} clean 96bf6f5851Sjwise @-cd local && ${MAKE} clean 97bf6f5851Sjwise.else 982acc5bd1Stron @-cd ${XCDIR} && ${MAKE} clean 99b583040eStv @-cd contrib && ${MAKE} clean 10095c20adcStron @-cd local && ${MAKE} clean 101bf6f5851Sjwise.endif 10290360741Stv 10334e496fbSfredbcleandir distclean: clean 104aea64ab2Sfredb find ${XCDIR} contrib local -name .depend | xargs -n5 rm 1052acc5bd1Stron find ${XCDIR} contrib local -name 'Makefile*' | \ 106aea64ab2Sfredb xargs -n5 grep -l "Makefile generated by imake" | xargs rm 1072acc5bd1Stron -rmdir ${XCDIR}/exports 1082acc5bd1Stron rm -f ${XCDIR}/xmakefile 1097e6ae19cStron 11090360741Stvbuild: 11134e496fbSfredb.if defined(UPDATE) 112ad374758Smrg @${MAKE} all && ${MAKE} install 11334e496fbSfredb.else 114ad374758Smrg @${MAKE} cleandir && ${MAKE} all && ${MAKE} install 11534e496fbSfredb.endif 116b1c0e358Sfredb 117b1c0e358Sfredb# release goo 118b1c0e358Sfredb# 119b1c0e358Sfredb.if !defined(DESTDIR) 120b1c0e358Sfredbrelease snapshot: 121b1c0e358Sfredb @echo setenv DESTDIR before doing that! 122b1c0e358Sfredb @false 123b1c0e358Sfredb.elif !defined(RELEASEDIR) 124b1c0e358Sfredbrelease snapshot: 125b1c0e358Sfredb @echo setenv RELEASEDIR before doing that! 126b1c0e358Sfredb @false 127b1c0e358Sfredb# 128b1c0e358Sfredb.else 129b1c0e358Sfredb# 130b1c0e358Sfredb.if defined(INSTALL_DONE) 131b1c0e358Sfredbrelease snapshot: 132b1c0e358Sfredb.elif defined(BUILD_DONE) 133b1c0e358Sfredbrelease snapshot: install 134b1c0e358Sfredb.else 135b1c0e358Sfredbrelease snapshot: build 136b1c0e358Sfredb# 137b1c0e358Sfredb.endif # INSTALL_DONE or BUILD_DONE 138b1c0e358Sfredb# 1392332351cSmatt ${INSTALL} -d -m 755 -o root -g wheel ${RELEASEDIR}/${MACHINE}/binary/sets 14081d95bffSlukem.if (${MACHINE} == "amiga") && ${USE_XF86_4:Uno} == "no" 1412acc5bd1Stron cd ${XCDIR}/programs/Xserver/hw/netbsd/amiga && \ 1422332351cSmatt ${INSTALL} -c -m 644 INSTALL.X11 ${RELEASEDIR}/${MACHINE} 143761ef8e1Sis.endif 144dabe2211Stron ${INSTALL} -d -m 755 -o root -g wheel ${DESTDIR}/etc/mtree 145c60ab926Stron.if defined(METALOG.add) && !exists(${DESTDIR}/etc/master.passwd) 146eecca19eStron cd ${NETBSDSRCDIR}/distrib/sets && \ 1472332351cSmatt sh ./maketars -x -d ${DESTDIR:S,^$,/,} -N ${NETBSDSRCDIR}/etc -t ${RELEASEDIR}/${MACHINE}/binary/sets 148eecca19eStron.else 149d6a6307bSlukem cd ${NETBSDSRCDIR}/distrib/sets && \ 1502332351cSmatt sh ./maketars -x -d ${DESTDIR:S,^$,/,} -t ${RELEASEDIR}/${MACHINE}/binary/sets 151eecca19eStron.endif 1522332351cSmatt cd ${RELEASEDIR}/${MACHINE}/binary/sets && \ 153b1c0e358Sfredb cksum -o 1 *.tgz >BSDSUM && \ 154b1c0e358Sfredb cksum *.tgz >CKSUM && \ 155b1c0e358Sfredb cksum -m *.tgz >MD5 && \ 156b1c0e358Sfredb cksum -o 2 *.tgz >SYSVSUM 157b1c0e358Sfredb# 158e99d7581Sfredb.endif # DESTDIR and RELEASEDIR check 159