Makefile revision e404178d
1# $NetBSD: Makefile,v 1.42 2004/06/14 16:04:28 tron Exp $ 2# 3# Targets & Variables 4# 5# build: Clean out xsrc, and build and install everything that goes 6# under /usr/X11R6. 7# 8# DESTDIR -- Set to an alternative directory to install under. 9# UPDATE -- If set, don't make clean first, plus attempt to make 10# only the targets that are out of date. 11# 12# release snapshot: Same as build, plus tar up the X sets and install 13# them under the ${RELEASEDIR}/binary/sets directory (NetBSD <=1.6) 14# or the ${RELEASEDIR}/${MACHINE}/binary/sets directory (NetBSD >1.6). 15# 16# DESTDIR -- Same as for build. Mandatory for building a release. 17# RELEASEDIR -- As explained above. 18# BUILD_DONE -- If set, assume build is already done. 19# INSTALL_DONE -- If set, assume binaries to tar up are to be found 20# in ${DESTDIR} already. 21# NETBSDSRCDIR -- Set to the full path to the main source tree, /usr/src 22# by default. Needed to find ./distrib/sets. 23# 24# cleandir distclean: Remove all generated files from under xsrc. 25# 26# clean: Remove object files, but keep imake generated makefiles. 27 28.include <bsd.own.mk> 29 30# Backwards compatibility with NetBSD 1.5 and 1.5.x where NETBSDSRCDIR 31# doesn't get defined by "bsd.own.mk". 32NETBSDSRCDIR?= ${BSDSRCDIR} 33 34.if ${USE_XF86_4:Uno} != "no" 35XCDIR= xfree/xc 36.else 37XCDIR= xc 38.endif 39 40 41.MAIN: all 42.if ${USE_XF86_4:Uno} != "no" 43all: all-xc all-local 44.else 45all: all-xc all-contrib all-local 46.endif 47 48all-xc: 49.if exists(${XCDIR}/xmakefile) && defined(UPDATE) 50 @cd ${XCDIR} && ${MAKE} Everything 51.else 52 @-rm -f ${XCDIR}/xmakefile 53 @cd ${XCDIR} && ${MAKE} World 54.endif 55 56all-contrib: 57 @if [ ! -f contrib/Makefile ]; then \ 58 cd contrib && PATH=../${XCDIR}/config/imake:$$PATH \ 59 sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 60 ${.CURDIR}/contrib; \ 61 fi 62 @cd contrib && ${MAKE} 63 64all-local: 65 @if [ ! -f local/Makefile ]; then \ 66 cd local && PATH=../${XCDIR}/config/imake:$$PATH \ 67 sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 68 ${.CURDIR}/local; \ 69 fi 70 @cd local && ${MAKE} 71 72.if ${USE_XF86_4:Uno} != "no" 73install: install-xc install-local 74.else 75install: install-xc install-contrib install-local 76.endif 77 78install-xc: 79 @cd ${XCDIR} && \ 80 ${MAKE} DESTDIR="${DESTDIR}" install && \ 81 ${MAKE} DESTDIR="${DESTDIR}" install.man 82 83install-contrib: 84 @cd contrib && \ 85 ${MAKE} DESTDIR="${DESTDIR}" install && \ 86 ${MAKE} DESTDIR="${DESTDIR}" install.man 87 88install-local: 89 @cd local && \ 90 ${MAKE} DESTDIR="${DESTDIR}" install && \ 91 ${MAKE} DESTDIR="${DESTDIR}" install.man 92 93clean: 94.if ${USE_XF86_4:Uno} != "no" 95 @-cd ${XCDIR} && ${MAKE} clean 96 @-cd local && ${MAKE} clean 97.else 98 @-cd ${XCDIR} && ${MAKE} clean 99 @-cd contrib && ${MAKE} clean 100 @-cd local && ${MAKE} clean 101.endif 102 103cleandir distclean: clean 104 find ${XCDIR} contrib local -name .depend | xargs -n5 rm 105 find ${XCDIR} contrib local -name 'Makefile*' | \ 106 xargs -n5 grep -l "Makefile generated by imake" | xargs rm 107 -rmdir ${XCDIR}/exports 108 rm -f ${XCDIR}/xmakefile ${XCDIR}/config/cf/version.def \ 109 ${XCDIR}/config/cf/date.def 110 111build: 112.if defined(UPDATE) 113 @${MAKE} all && ${MAKE} install 114.else 115 @${MAKE} cleandir && ${MAKE} all && ${MAKE} install 116.endif 117 118# release goo 119# 120.if !defined(DESTDIR) 121release snapshot: 122 @echo setenv DESTDIR before doing that! 123 @false 124.elif !defined(RELEASEDIR) 125release snapshot: 126 @echo setenv RELEASEDIR before doing that! 127 @false 128# 129.else 130# 131.if defined(INSTALL_DONE) 132release snapshot: 133.elif defined(BUILD_DONE) 134release snapshot: install 135.else 136release snapshot: build 137# 138.endif # INSTALL_DONE or BUILD_DONE 139# 140 ${INSTALL} -d -m 755 -o root -g wheel ${RELEASEDIR}/${MACHINE}/binary/sets 141.if (${MACHINE} == "amiga") && ${USE_XF86_4:Uno} == "no" 142 cd ${XCDIR}/programs/Xserver/hw/netbsd/amiga && \ 143 ${INSTALL} -c -m 644 INSTALL.X11 ${RELEASEDIR}/${MACHINE} 144.endif 145 ${INSTALL} -d -m 755 -o root -g wheel ${DESTDIR}/etc/mtree 146.if defined(METALOG.add) && !exists(${DESTDIR}/etc/master.passwd) 147 cd ${NETBSDSRCDIR}/distrib/sets && \ 148 sh ./maketars -x -d ${DESTDIR:S,^$,/,} -N ${NETBSDSRCDIR}/etc -t ${RELEASEDIR}/${MACHINE}/binary/sets 149.else 150 cd ${NETBSDSRCDIR}/distrib/sets && \ 151 sh ./maketars -x -d ${DESTDIR:S,^$,/,} -t ${RELEASEDIR}/${MACHINE}/binary/sets 152.endif 153 cd ${RELEASEDIR}/${MACHINE}/binary/sets && \ 154 cksum -o 1 *.tgz >BSDSUM && \ 155 cksum *.tgz >CKSUM && \ 156 cksum -m *.tgz >MD5 && \ 157 cksum -o 2 *.tgz >SYSVSUM 158# 159.endif # DESTDIR and RELEASEDIR check 160