Makefile revision 1.40
1# $NetBSD: Makefile,v 1.40 2004/01/08 01:48:45 lukem Exp $ 2 3# The `all' target must appear before bsd.own.mk is pulled in. 4all: 5 @echo "Please understand what you are doing, first." 6 @false 7 8.include <bsd.own.mk> 9.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib" 10 11SETSENV= DESTDIR=${DESTDIR:Q} \ 12 MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 13 CKSUM=${TOOL_CKSUM:Q} MAKE=${MAKE:Q} MTREE=${TOOL_MTREE:Q} \ 14 MKTEMP=${TOOL_MKTEMP:Q} PAX=${TOOL_PAX:Q} HOST_SH=${HOST_SH:Q} 15 16.if ${MKX11} != "no" 17MAKEFLIST_FLAGS= -b 18.else 19MAKEFLIST_FLAGS= 20.endif 21 22.if !defined(MAKETARSETS) 23MAKETARSETS!= ${SETSENV} ${HOST_SH} ${.CURDIR}/makeflist -l ${MAKEFLIST_FLAGS} 24.endif 25 26print_have_gcc3: 27 @echo ${HAVE_GCC3} 28 29print_machine: .PHONY 30 @echo ${MACHINE} 31 32print_machine_arch: .PHONY 33 @echo ${MACHINE_ARCH} 34 35print_machine_cpu: .PHONY 36 @echo ${MACHINE_CPU} 37 38print_object_fmt: .PHONY 39 @echo ${OBJECT_FMT} 40 41print_toolchain_missing: .PHONY 42 @echo "${TOOLCHAIN_MISSING}" 43 44print_use_tools_toolchain: .PHONY 45 @echo "${USE_TOOLS_TOOLCHAIN}" 46 47print_x11_version: .PHONY 48 ${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $$x11_version' 49 50# This target has debugging value only, really. 51makeflist: .PHONY check_DESTDIR 52 ${SETSENV} ${HOST_SH} ${.CURDIR}/makeflist ${MAKEFLIST_FLAGS} 53 54# 55# SET BUILDING TARGETS 56# 57 58.if ${MKUNPRIVED} == "no" 59METALOG.unpriv= 60.else 61METALOG.unpriv= -M ${METALOG} 62.endif 63 64.PRECIOUS: checkflist 65checkflist: check_DESTDIR 66 ${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist \ 67 ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv} 68 69.PRECIOUS: checkflist-x11 70checkflist-x11: check_DESTDIR 71 ${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist -x ${CHECKFLIST_FLAGS} 72 73.PRECIOUS: maketars 74maketars: check_DESTDIR check_RELEASEDIR .WAIT maketarsetup .WAIT ${MAKETARSETS:@.TARS.@do-${.TARS.}@} 75 @true 76 77maketarsetup: .PHONY 78.if defined(DESTDIR) && ${DESTDIR} != "" 79 ${MAKE} checkflist 80.endif 81 mkdir -p ${RELEASEDIR}/${MACHINE}/binary/sets 82 for i in BSDSUM CKSUM MD5 SYSVSUM; do \ 83 rm -f ${RELEASEDIR}/${MACHINE}/binary/sets/$$i ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp; done 84 85.for tar in ${MAKETARSETS} 86do-${tar}: .PHONY 87 ${SETSENV} ${HOST_SH} ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \ 88 ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \ 89 -t ${RELEASEDIR}/${MACHINE}/binary/sets ${tar} 90.endfor 91 92.PRECIOUS: makesrctars 93makesrctars: check_RELEASEDIR 94 mkdir -p ${RELEASEDIR}/source/sets 95 ${SETSENV} ${HOST_SH} ${.CURDIR}/makesrctars \ 96 ${NETBSDSRCDIR} ${RELEASEDIR}/source/sets 97 98.PRECIOUS: makesums 99makesums: check_RELEASEDIR .WAIT ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@} 100 for i in BSDSUM CKSUM MD5 SYSVSUM; do \ 101 mv ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp \ 102 ${RELEASEDIR}/${MACHINE}/binary/sets/$$i; done 103 104.for tar in ${MAKETARSETS} 105do-sum-${tar}: .PHONY do-${tar} 106 ${SETSENV} ${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/binary/sets ${tar}.tgz 107 for i in BSDSUM CKSUM MD5 SYSVSUM; do \ 108 ${TOOL_CAT} ${RELEASEDIR}/${MACHINE}/binary/sets/$$i >> ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp; \ 109 done 110.endfor 111.ORDER: ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@} 112 113.PRECIOUS: installsets 114installsets: check_DESTDIR 115.if !defined(INSTALLDIR) 116 @echo "setenv INSTALLDIR before doing that!" 117 @false 118.endif 119 ${SETSENV} ${HOST_SH} ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \ 120 ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \ 121 -i ${INSTALLDIR} ${INSTALLSETS} 122 123# 124# MAIN ENTRY POINTS 125# 126 127sets: maketars .WAIT makesums 128 @true 129 130sourcesets: makesrctars 131 @true 132 133.include <bsd.sys.mk> 134