Makefile revision c60ab926
1c60ab926Stron# $NetBSD: Makefile,v 1.39 2003/06/25 12:26:17 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 341ed2dcdcStron.if defined(USE_XF86_4) && (${USE_XF86_4} != no) 352acc5bd1StronXCDIR= xfree/xc 362acc5bd1Stron.else 372acc5bd1StronXCDIR= xc 382acc5bd1Stron.endif 392acc5bd1Stron 40a63b1a70Sfredb.MAIN: all 41bf6f5851Sjwise.if defined(USE_XF86_4) && (${USE_XF86_4} != no) 42bf6f5851Sjwiseall: all-xc all-local 43bf6f5851Sjwise.else 44456141b6Sthorpejall: all-xc all-contrib all-local 45bf6f5851Sjwise.endif 46b583040eStv 47b583040eStvall-xc: 482acc5bd1Stron.if exists(${XCDIR}/xmakefile) && defined(UPDATE) 492acc5bd1Stron @cd ${XCDIR} && ${MAKE} Everything 50b583040eStv.else 512acc5bd1Stron @-rm -f ${XCDIR}/xmakefile 522acc5bd1Stron @cd ${XCDIR} && ${MAKE} World 53b583040eStv.endif 543cbc2fa9Smrg 553cbc2fa9Smrgall-contrib: 56f766d8bfSfredb @if [ ! -f contrib/Makefile ]; then \ 572acc5bd1Stron cd contrib && PATH=../${XCDIR}/config/imake:$$PATH \ 5888a49676Stron sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 5988a49676Stron ${.CURDIR}/contrib; \ 60f766d8bfSfredb fi 61b583040eStv @cd contrib && ${MAKE} 623cbc2fa9Smrg 63456141b6Sthorpejall-local: 64456141b6Sthorpej @if [ ! -f local/Makefile ]; then \ 652acc5bd1Stron cd local && PATH=../${XCDIR}/config/imake:$$PATH \ 6688a49676Stron sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 6788a49676Stron ${.CURDIR}/local; \ 68456141b6Sthorpej fi 69456141b6Sthorpej @cd local && ${MAKE} 70456141b6Sthorpej 71bf6f5851Sjwise.if defined(USE_XF86_4) && (${USE_XF86_4} != no) 72bf6f5851Sjwiseinstall: install-xc install-local 73bf6f5851Sjwise.else 74456141b6Sthorpejinstall: install-xc install-contrib install-local 75bf6f5851Sjwise.endif 763cbc2fa9Smrg 773cbc2fa9Smrginstall-xc: 7854c4591aSfredb @cd ${XCDIR} && \ 7954c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 8054c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 813cbc2fa9Smrg 823cbc2fa9Smrginstall-contrib: 8354c4591aSfredb @cd contrib && \ 8454c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 8554c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 865c5d6177Smrg 87456141b6Sthorpejinstall-local: 8854c4591aSfredb @cd local && \ 8954c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 9054c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 91456141b6Sthorpej 927e6ae19cStronclean: 93bf6f5851Sjwise.if defined(USE_XF86_4) && (${USE_XF86_4} != no) 94bf6f5851Sjwise @-cd ${XCDIR} && ${MAKE} clean 95bf6f5851Sjwise @-cd local && ${MAKE} clean 96bf6f5851Sjwise.else 972acc5bd1Stron @-cd ${XCDIR} && ${MAKE} clean 98b583040eStv @-cd contrib && ${MAKE} clean 9995c20adcStron @-cd local && ${MAKE} clean 100bf6f5851Sjwise.endif 10190360741Stv 10234e496fbSfredbcleandir distclean: clean 103aea64ab2Sfredb find ${XCDIR} contrib local -name .depend | xargs -n5 rm 1042acc5bd1Stron find ${XCDIR} contrib local -name 'Makefile*' | \ 105aea64ab2Sfredb xargs -n5 grep -l "Makefile generated by imake" | xargs rm 1062acc5bd1Stron -rmdir ${XCDIR}/exports 1072acc5bd1Stron rm -f ${XCDIR}/xmakefile 1087e6ae19cStron 10990360741Stvbuild: 11034e496fbSfredb.if defined(UPDATE) 111ad374758Smrg @${MAKE} all && ${MAKE} install 11234e496fbSfredb.else 113ad374758Smrg @${MAKE} cleandir && ${MAKE} all && ${MAKE} install 11434e496fbSfredb.endif 115b1c0e358Sfredb 116b1c0e358Sfredb# release goo 117b1c0e358Sfredb# 118b1c0e358Sfredb.if !defined(DESTDIR) 119b1c0e358Sfredbrelease snapshot: 120b1c0e358Sfredb @echo setenv DESTDIR before doing that! 121b1c0e358Sfredb @false 122b1c0e358Sfredb.elif !defined(RELEASEDIR) 123b1c0e358Sfredbrelease snapshot: 124b1c0e358Sfredb @echo setenv RELEASEDIR before doing that! 125b1c0e358Sfredb @false 126b1c0e358Sfredb# 127b1c0e358Sfredb.else 128b1c0e358Sfredb# 129b1c0e358Sfredb.if defined(INSTALL_DONE) 130b1c0e358Sfredbrelease snapshot: 131b1c0e358Sfredb.elif defined(BUILD_DONE) 132b1c0e358Sfredbrelease snapshot: install 133b1c0e358Sfredb.else 134b1c0e358Sfredbrelease snapshot: build 135b1c0e358Sfredb# 136b1c0e358Sfredb.endif # INSTALL_DONE or BUILD_DONE 137b1c0e358Sfredb# 1382332351cSmatt ${INSTALL} -d -m 755 -o root -g wheel ${RELEASEDIR}/${MACHINE}/binary/sets 139c1daac4bSwiz.if (${MACHINE} == "amiga") && !(defined(USE_XF86_4) && (${USE_XF86_4} != no)) 1402acc5bd1Stron cd ${XCDIR}/programs/Xserver/hw/netbsd/amiga && \ 1412332351cSmatt ${INSTALL} -c -m 644 INSTALL.X11 ${RELEASEDIR}/${MACHINE} 142761ef8e1Sis.endif 143c60ab926Stron.if defined(METALOG.add) && !exists(${DESTDIR}/etc/master.passwd) 144eecca19eStron cd ${NETBSDSRCDIR}/distrib/sets && \ 1452332351cSmatt sh ./maketars -x -d ${DESTDIR:S,^$,/,} -N ${NETBSDSRCDIR}/etc -t ${RELEASEDIR}/${MACHINE}/binary/sets 146eecca19eStron.else 147d6a6307bSlukem cd ${NETBSDSRCDIR}/distrib/sets && \ 1482332351cSmatt sh ./maketars -x -d ${DESTDIR:S,^$,/,} -t ${RELEASEDIR}/${MACHINE}/binary/sets 149eecca19eStron.endif 1502332351cSmatt cd ${RELEASEDIR}/${MACHINE}/binary/sets && \ 151b1c0e358Sfredb cksum -o 1 *.tgz >BSDSUM && \ 152b1c0e358Sfredb cksum *.tgz >CKSUM && \ 153b1c0e358Sfredb cksum -m *.tgz >MD5 && \ 154b1c0e358Sfredb cksum -o 2 *.tgz >SYSVSUM 155b1c0e358Sfredb# 156e99d7581Sfredb.endif # DESTDIR and RELEASEDIR check 157