Makefile revision 1.47
11.47Sjmc#	$NetBSD: Makefile,v 1.47 2005/10/06 02:22:11 jmc Exp $
21.1Sthorpej
31.1Sthorpej# The `all' target must appear before bsd.own.mk is pulled in.
41.1Sthorpejall:
51.1Sthorpej	@echo "Please understand what you are doing, first."
61.1Sthorpej	@false
71.1Sthorpej
81.1Sthorpej.include <bsd.own.mk>
91.15Slukem.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
101.1Sthorpej
111.43SlukemSETSCMD=	cd ${.CURDIR} && \
121.43Slukem		DESTDIR=${DESTDIR:Q} \
131.6Slukem		MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
141.26Slukem		CKSUM=${TOOL_CKSUM:Q} MAKE=${MAKE:Q} MTREE=${TOOL_MTREE:Q} \
151.43Slukem		MKTEMP=${TOOL_MKTEMP:Q} PAX=${TOOL_PAX:Q} HOST_SH=${HOST_SH:Q} \
161.43Slukem		${HOST_SH}
171.30Stron
181.40Slukem.if ${MKX11} != "no"
191.40SlukemMAKEFLIST_FLAGS=	-b
201.45SlukemMAKESRCTARS_FLAGS=	-x ${X11SRCDIR}
211.40Slukem.else
221.40SlukemMAKEFLIST_FLAGS=
231.45SlukemMAKESRCTARS_FLAGS=
241.40Slukem.endif
251.40Slukem
261.33Sjmc.if !defined(MAKETARSETS)
271.43SlukemMAKETARSETS!= ${SETSCMD} ./makeflist -l ${MAKEFLIST_FLAGS}
281.33Sjmc.endif
291.33Sjmc
301.41Slukemprint_have_gcc3: .PHONY
311.30Stron	@echo ${HAVE_GCC3}
321.6Slukem
331.3Sthorpejprint_machine: .PHONY
341.3Sthorpej	@echo ${MACHINE}
351.3Sthorpej
361.3Sthorpejprint_machine_arch: .PHONY
371.3Sthorpej	@echo ${MACHINE_ARCH}
381.3Sthorpej
391.3Sthorpejprint_machine_cpu: .PHONY
401.3Sthorpej	@echo ${MACHINE_CPU}
411.3Sthorpej
421.3Sthorpejprint_object_fmt: .PHONY
431.3Sthorpej	@echo ${OBJECT_FMT}
441.3Sthorpej
451.17Slukemprint_toolchain_missing: .PHONY
461.17Slukem	@echo "${TOOLCHAIN_MISSING}"
471.29Smrg
481.29Smrgprint_use_tools_toolchain: .PHONY
491.29Smrg	@echo "${USE_TOOLS_TOOLCHAIN}"
501.5Stron
511.5Stronprint_x11_version: .PHONY
521.40Slukem	${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $$x11_version'
531.3Sthorpej
541.3Sthorpej# This target has debugging value only, really.
551.44Sheasmakeflist: .PHONY .PRECIOUS check_DESTDIR
561.43Slukem	${SETSCMD} ./makeflist ${MAKEFLIST_FLAGS}
571.3Sthorpej
581.1Sthorpej#
591.1Sthorpej# SET BUILDING TARGETS
601.1Sthorpej#
611.1Sthorpej
621.46SclTARDIR=		${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
631.43SlukemSOURCETARDIR=	${RELEASEDIR}/source/sets
641.43Slukem
651.27Slukem.if ${MKUNPRIVED} == "no"
661.27SlukemMETALOG.unpriv=
671.27Slukem.else
681.27SlukemMETALOG.unpriv=	-M ${METALOG}
691.27Slukem.endif
701.27Slukem
711.43Slukem
721.41Slukemcheckflist: .PRECIOUS .PHONY check_DESTDIR
731.43Slukem	${SETSCMD} ./checkflist \
741.40Slukem	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
751.4Smrg
761.41Slukemcheckflist-x11: .PHONY check_DESTDIR
771.43Slukem	${SETSCMD} ./checkflist -x ${CHECKFLIST_FLAGS}
781.43Slukem
791.1Sthorpej
801.41Slukemmaketars: .PRECIOUS .PHONY check_DESTDIR check_RELEASEDIR .WAIT \
811.41Slukem		maketarsetup .WAIT ${MAKETARSETS:@.TARS.@do-${.TARS.}@}
821.33Sjmc	@true
831.33Sjmc
841.43Slukemmaketarsetup: .EXEC
851.23Sveego.if defined(DESTDIR) && ${DESTDIR} != ""
861.43Slukem	${_MKMSG} "execute  checkflist"
871.32Slukem	${MAKE} checkflist
881.16Slukem.endif
891.43Slukem	mkdir -p ${TARDIR}
901.47Sjmc	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
911.43Slukem		rm -f ${TARDIR}/$$i ${TARDIR}/$$i.tmp; \
921.43Slukem	done
931.43Slukem
941.43Slukemmakesetfiles: .PHONY
951.43Slukem	${_MKMSG_CREATE} "set lists"
961.43Slukem	${SETSCMD} ./maketars -S -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
971.43Slukem	    -N ${NETBSDSRCDIR}/etc ${MAKEFLIST_FLAGS} -t ${TARDIR}
981.43Slukem
991.33Sjmc.for tar in ${MAKETARSETS}
1001.39Sjmcdo-${tar}: .PHONY
1011.43Slukem	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
1021.43Slukem	    -N ${NETBSDSRCDIR}/etc -t ${TARDIR} ${tar} \
1031.43Slukem	|| rm -f ${TARDIR}/${tar}.tgz
1041.33Sjmc.endfor
1051.1Sthorpej
1061.43Slukem
1071.41Slukemmakesrctars: .PRECIOUS .PHONY check_RELEASEDIR
1081.43Slukem	mkdir -p ${SOURCETARDIR}
1091.45Slukem	${SETSCMD} ./makesrctars ${MAKESRCTARS_FLAGS} \
1101.45Slukem	    ${NETBSDSRCDIR} ${SOURCETARDIR}
1111.43Slukem
1121.25Slukem
1131.41Slukemmakesums: .PRECIOUS .PHONY check_RELEASEDIR .WAIT \
1141.41Slukem		${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
1151.47Sjmc	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
1161.43Slukem		mv ${TARDIR}/$$i.tmp ${TARDIR}/$$i; \
1171.43Slukem	done
1181.33Sjmc
1191.33Sjmc.for tar in ${MAKETARSETS}
1201.39Sjmcdo-sum-${tar}: .PHONY do-${tar}
1211.43Slukem	${MAKESUMS} -t ${TARDIR} ${tar}.tgz
1221.47Sjmc	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
1231.43Slukem		${TOOL_CAT} ${TARDIR}/$$i >> ${TARDIR}/$$i.tmp; \
1241.35Sjmc	done
1251.33Sjmc.endfor
1261.37Sjmc.ORDER: ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
1271.18Slukem
1281.43Slukem
1291.41Slukeminstallsets: .PHONY check_DESTDIR
1301.18Slukem.if !defined(INSTALLDIR)
1311.18Slukem	@echo "setenv INSTALLDIR before doing that!"
1321.18Slukem	@false
1331.18Slukem.endif
1341.43Slukem	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} \
1351.41Slukem	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc ${MAKEFLIST_FLAGS} \
1361.20Slukem	    -i ${INSTALLDIR} ${INSTALLSETS}
1371.1Sthorpej
1381.43Slukem
1391.1Sthorpej#
1401.1Sthorpej# MAIN ENTRY POINTS
1411.1Sthorpej#
1421.1Sthorpej
1431.41Slukemsets: .PHONY maketars .WAIT makesums
1441.25Slukem	@true
1451.25Slukem
1461.41Slukemsourcesets: .PHONY makesrctars
1471.1Sthorpej	@true
1481.8Slukem
1491.8Slukem.include <bsd.sys.mk>
150