Makefile revision 69ee051e
169ee051eStron# $NetBSD: Makefile,v 1.32 2002/07/06 14:41:06 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 13b1c0e358Sfredb# them under the ${RELEASEDIR}/binary/sets directory. 14b1c0e358Sfredb# 15b1c0e358Sfredb# DESTDIR -- Same as for build. Mandatory for building a release. 16b1c0e358Sfredb# RELEASEDIR -- As explained above. 17b1c0e358Sfredb# BUILD_DONE -- If set, assume build is already done. 18b1c0e358Sfredb# INSTALL_DONE -- If set, assume binaries to tar up are to be found 19b1c0e358Sfredb# in ${DESTDIR} already. 20d6a6307bSlukem# NETBSDSRCDIR -- Set to the full path to the main source tree, /usr/src 21b1c0e358Sfredb# by default. Needed to find ./distrib/sets. 22b1c0e358Sfredb# 23b1c0e358Sfredb# cleandir distclean: Remove all generated files from under xsrc. 24b1c0e358Sfredb# 25b1c0e358Sfredb# clean: Remove object files, but keep imake generated makefiles. 26b1c0e358Sfredb 2719cf06cfShubertf.include <bsd.own.mk> 2819cf06cfShubertf 2969ee051eStron# Backwards compatibility with NetBSD 1.5 and 1.5.x where NETBSDSRCDIR 3069ee051eStron# doesn't get defined by "bsd.own.mk". 3169ee051eStronNETBSDSRCDIR?= ${BSDSRCDIR} 3269ee051eStron 331ed2dcdcStron.if defined(USE_XF86_4) && (${USE_XF86_4} != no) 342acc5bd1StronXCDIR= xfree/xc 352acc5bd1Stron.else 362acc5bd1StronXCDIR= xc 372acc5bd1Stron.endif 382acc5bd1Stron 39a63b1a70Sfredb.MAIN: all 40bf6f5851Sjwise.if defined(USE_XF86_4) && (${USE_XF86_4} != no) 41bf6f5851Sjwiseall: all-xc all-local 42bf6f5851Sjwise.else 43456141b6Sthorpejall: all-xc all-contrib all-local 44bf6f5851Sjwise.endif 45b583040eStv 46b583040eStvall-xc: 472acc5bd1Stron.if exists(${XCDIR}/xmakefile) && defined(UPDATE) 482acc5bd1Stron @cd ${XCDIR} && ${MAKE} Everything 49b583040eStv.else 502acc5bd1Stron @-rm -f ${XCDIR}/xmakefile 512acc5bd1Stron @cd ${XCDIR} && ${MAKE} World 52b583040eStv.endif 533cbc2fa9Smrg 543cbc2fa9Smrgall-contrib: 55f766d8bfSfredb @if [ ! -f contrib/Makefile ]; then \ 562acc5bd1Stron cd contrib && PATH=../${XCDIR}/config/imake:$$PATH \ 5788a49676Stron sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 5888a49676Stron ${.CURDIR}/contrib; \ 59f766d8bfSfredb fi 60b583040eStv @cd contrib && ${MAKE} 613cbc2fa9Smrg 62456141b6Sthorpejall-local: 63456141b6Sthorpej @if [ ! -f local/Makefile ]; then \ 642acc5bd1Stron cd local && PATH=../${XCDIR}/config/imake:$$PATH \ 6588a49676Stron sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 6688a49676Stron ${.CURDIR}/local; \ 67456141b6Sthorpej fi 68456141b6Sthorpej @cd local && ${MAKE} 69456141b6Sthorpej 70bf6f5851Sjwise.if defined(USE_XF86_4) && (${USE_XF86_4} != no) 71bf6f5851Sjwiseinstall: install-xc install-local 72bf6f5851Sjwise.else 73456141b6Sthorpejinstall: install-xc install-contrib install-local 74bf6f5851Sjwise.endif 753cbc2fa9Smrg 763cbc2fa9Smrginstall-xc: 7754c4591aSfredb @cd ${XCDIR} && \ 7854c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 7954c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 803cbc2fa9Smrg 813cbc2fa9Smrginstall-contrib: 8254c4591aSfredb @cd contrib && \ 8354c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 8454c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 855c5d6177Smrg 86456141b6Sthorpejinstall-local: 8754c4591aSfredb @cd local && \ 8854c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install && \ 8954c4591aSfredb ${MAKE} DESTDIR="${DESTDIR}" install.man 90456141b6Sthorpej 917e6ae19cStronclean: 92bf6f5851Sjwise.if defined(USE_XF86_4) && (${USE_XF86_4} != no) 93bf6f5851Sjwise @-cd ${XCDIR} && ${MAKE} clean 94bf6f5851Sjwise @-cd local && ${MAKE} clean 95bf6f5851Sjwise.else 962acc5bd1Stron @-cd ${XCDIR} && ${MAKE} clean 97b583040eStv @-cd contrib && ${MAKE} clean 9895c20adcStron @-cd local && ${MAKE} clean 99bf6f5851Sjwise.endif 10090360741Stv 10134e496fbSfredbcleandir distclean: clean 1022acc5bd1Stron find ${XCDIR} contrib local -name .depend | xargs rm 1032acc5bd1Stron find ${XCDIR} contrib local -name 'Makefile*' | \ 1047c7a996aSsimonb xargs grep -l "Makefile generated by imake" | xargs rm 1052acc5bd1Stron -rmdir ${XCDIR}/exports 1062acc5bd1Stron rm -f ${XCDIR}/xmakefile 1077e6ae19cStron 10890360741Stvbuild: 10934e496fbSfredb.if defined(UPDATE) 110ad374758Smrg @${MAKE} all && ${MAKE} install 11134e496fbSfredb.else 112ad374758Smrg @${MAKE} cleandir && ${MAKE} all && ${MAKE} install 11334e496fbSfredb.endif 114b1c0e358Sfredb 115b1c0e358Sfredb# release goo 116b1c0e358Sfredb# 117b1c0e358Sfredb.if !defined(DESTDIR) 118b1c0e358Sfredbrelease snapshot: 119b1c0e358Sfredb @echo setenv DESTDIR before doing that! 120b1c0e358Sfredb @false 121b1c0e358Sfredb.elif !defined(RELEASEDIR) 122b1c0e358Sfredbrelease snapshot: 123b1c0e358Sfredb @echo setenv RELEASEDIR before doing that! 124b1c0e358Sfredb @false 125b1c0e358Sfredb# 126b1c0e358Sfredb.else 127b1c0e358Sfredb# 128b1c0e358Sfredb.if defined(INSTALL_DONE) 129b1c0e358Sfredbrelease snapshot: 130b1c0e358Sfredb.elif defined(BUILD_DONE) 131b1c0e358Sfredbrelease snapshot: install 132b1c0e358Sfredb.else 133b1c0e358Sfredbrelease snapshot: build 134b1c0e358Sfredb# 135b1c0e358Sfredb.endif # INSTALL_DONE or BUILD_DONE 136b1c0e358Sfredb# 137b1c0e358Sfredb ${INSTALL} -d -m 755 -o root -g wheel ${RELEASEDIR}/binary/sets 138c1daac4bSwiz.if (${MACHINE} == "amiga") && !(defined(USE_XF86_4) && (${USE_XF86_4} != no)) 1392acc5bd1Stron cd ${XCDIR}/programs/Xserver/hw/netbsd/amiga && \ 14099e715b7Sis ${INSTALL} -c -m 644 INSTALL.X11 ${RELEASEDIR} 141761ef8e1Sis.endif 142d6a6307bSlukem cd ${NETBSDSRCDIR}/distrib/sets && \ 14300460360Sthorpej sh ./maketars -x -d ${DESTDIR} -t ${RELEASEDIR}/binary/sets 144b1c0e358Sfredb cd ${RELEASEDIR}/binary/sets && \ 145b1c0e358Sfredb cksum -o 1 *.tgz >BSDSUM && \ 146b1c0e358Sfredb cksum *.tgz >CKSUM && \ 147b1c0e358Sfredb cksum -m *.tgz >MD5 && \ 148b1c0e358Sfredb cksum -o 2 *.tgz >SYSVSUM 149b1c0e358Sfredb# 150e99d7581Sfredb.endif # DESTDIR and RELEASEDIR check 151