1 # $NetBSD: Makefile,v 1.31 2002/04/26 16:52:42 lukem 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. 14 # 15 # DESTDIR -- Same as for build. Mandatory for building a release. 16 # RELEASEDIR -- As explained above. 17 # BUILD_DONE -- If set, assume build is already done. 18 # INSTALL_DONE -- If set, assume binaries to tar up are to be found 19 # in ${DESTDIR} already. 20 # NETBSDSRCDIR -- Set to the full path to the main source tree, /usr/src 21 # by default. Needed to find ./distrib/sets. 22 # 23 # cleandir distclean: Remove all generated files from under xsrc. 24 # 25 # clean: Remove object files, but keep imake generated makefiles. 26 27 .include <bsd.own.mk> 28 29 .if defined(USE_XF86_4) && (${USE_XF86_4} != no) 30 XCDIR= xfree/xc 31 .else 32 XCDIR= xc 33 .endif 34 35 .MAIN: all 36 .if defined(USE_XF86_4) && (${USE_XF86_4} != no) 37 all: all-xc all-local 38 .else 39 all: all-xc all-contrib all-local 40 .endif 41 42 all-xc: 43 .if exists(${XCDIR}/xmakefile) && defined(UPDATE) 44 @cd ${XCDIR} && ${MAKE} Everything 45 .else 46 @-rm -f ${XCDIR}/xmakefile 47 @cd ${XCDIR} && ${MAKE} World 48 .endif 49 50 all-contrib: 51 @if [ ! -f contrib/Makefile ]; then \ 52 cd contrib && PATH=../${XCDIR}/config/imake:$$PATH \ 53 sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 54 ${.CURDIR}/contrib; \ 55 fi 56 @cd contrib && ${MAKE} 57 58 all-local: 59 @if [ ! -f local/Makefile ]; then \ 60 cd local && PATH=../${XCDIR}/config/imake:$$PATH \ 61 sh ../${XCDIR}/config/util/xmkmf -a ../${XCDIR} \ 62 ${.CURDIR}/local; \ 63 fi 64 @cd local && ${MAKE} 65 66 .if defined(USE_XF86_4) && (${USE_XF86_4} != no) 67 install: install-xc install-local 68 .else 69 install: install-xc install-contrib install-local 70 .endif 71 72 install-xc: 73 @cd ${XCDIR} && \ 74 ${MAKE} DESTDIR="${DESTDIR}" install && \ 75 ${MAKE} DESTDIR="${DESTDIR}" install.man 76 77 install-contrib: 78 @cd contrib && \ 79 ${MAKE} DESTDIR="${DESTDIR}" install && \ 80 ${MAKE} DESTDIR="${DESTDIR}" install.man 81 82 install-local: 83 @cd local && \ 84 ${MAKE} DESTDIR="${DESTDIR}" install && \ 85 ${MAKE} DESTDIR="${DESTDIR}" install.man 86 87 clean: 88 .if defined(USE_XF86_4) && (${USE_XF86_4} != no) 89 @-cd ${XCDIR} && ${MAKE} clean 90 @-cd local && ${MAKE} clean 91 .else 92 @-cd ${XCDIR} && ${MAKE} clean 93 @-cd contrib && ${MAKE} clean 94 @-cd local && ${MAKE} clean 95 .endif 96 97 cleandir distclean: clean 98 find ${XCDIR} contrib local -name .depend | xargs rm 99 find ${XCDIR} contrib local -name 'Makefile*' | \ 100 xargs grep -l "Makefile generated by imake" | xargs rm 101 -rmdir ${XCDIR}/exports 102 rm -f ${XCDIR}/xmakefile 103 104 build: 105 .if defined(UPDATE) 106 @${MAKE} all && ${MAKE} install 107 .else 108 @${MAKE} cleandir && ${MAKE} all && ${MAKE} install 109 .endif 110 111 # release goo 112 # 113 .if !defined(DESTDIR) 114 release snapshot: 115 @echo setenv DESTDIR before doing that! 116 @false 117 .elif !defined(RELEASEDIR) 118 release snapshot: 119 @echo setenv RELEASEDIR before doing that! 120 @false 121 # 122 .else 123 # 124 .if defined(INSTALL_DONE) 125 release snapshot: 126 .elif defined(BUILD_DONE) 127 release snapshot: install 128 .else 129 release snapshot: build 130 # 131 .endif # INSTALL_DONE or BUILD_DONE 132 # 133 ${INSTALL} -d -m 755 -o root -g wheel ${RELEASEDIR}/binary/sets 134 .if (${MACHINE} == "amiga") && !(defined(USE_XF86_4) && (${USE_XF86_4} != no)) 135 cd ${XCDIR}/programs/Xserver/hw/netbsd/amiga && \ 136 ${INSTALL} -c -m 644 INSTALL.X11 ${RELEASEDIR} 137 .endif 138 cd ${NETBSDSRCDIR}/distrib/sets && \ 139 sh ./maketars -x -d ${DESTDIR} -t ${RELEASEDIR}/binary/sets 140 cd ${RELEASEDIR}/binary/sets && \ 141 cksum -o 1 *.tgz >BSDSUM && \ 142 cksum *.tgz >CKSUM && \ 143 cksum -m *.tgz >MD5 && \ 144 cksum -o 2 *.tgz >SYSVSUM 145 # 146 .endif # DESTDIR and RELEASEDIR check 147