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