Makefile revision 1.40
11.40Slukem#	$NetBSD: Makefile,v 1.40 2004/01/08 01:48:45 lukem 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.6SlukemSETSENV=	DESTDIR=${DESTDIR:Q} \
121.6Slukem		MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
131.26Slukem		CKSUM=${TOOL_CKSUM:Q} MAKE=${MAKE:Q} MTREE=${TOOL_MTREE:Q} \
141.38Slukem		MKTEMP=${TOOL_MKTEMP:Q} PAX=${TOOL_PAX:Q} HOST_SH=${HOST_SH:Q}
151.30Stron
161.40Slukem.if ${MKX11} != "no"
171.40SlukemMAKEFLIST_FLAGS=	-b
181.40Slukem.else
191.40SlukemMAKEFLIST_FLAGS=
201.40Slukem.endif
211.40Slukem
221.33Sjmc.if !defined(MAKETARSETS)
231.40SlukemMAKETARSETS!= ${SETSENV} ${HOST_SH} ${.CURDIR}/makeflist -l ${MAKEFLIST_FLAGS}
241.33Sjmc.endif
251.33Sjmc
261.30Stronprint_have_gcc3:
271.30Stron	@echo ${HAVE_GCC3}
281.6Slukem
291.3Sthorpejprint_machine: .PHONY
301.3Sthorpej	@echo ${MACHINE}
311.3Sthorpej
321.3Sthorpejprint_machine_arch: .PHONY
331.3Sthorpej	@echo ${MACHINE_ARCH}
341.3Sthorpej
351.3Sthorpejprint_machine_cpu: .PHONY
361.3Sthorpej	@echo ${MACHINE_CPU}
371.3Sthorpej
381.3Sthorpejprint_object_fmt: .PHONY
391.3Sthorpej	@echo ${OBJECT_FMT}
401.3Sthorpej
411.17Slukemprint_toolchain_missing: .PHONY
421.17Slukem	@echo "${TOOLCHAIN_MISSING}"
431.29Smrg
441.29Smrgprint_use_tools_toolchain: .PHONY
451.29Smrg	@echo "${USE_TOOLS_TOOLCHAIN}"
461.5Stron
471.5Stronprint_x11_version: .PHONY
481.40Slukem	${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $$x11_version'
491.3Sthorpej
501.3Sthorpej# This target has debugging value only, really.
511.7Slukemmakeflist: .PHONY check_DESTDIR
521.40Slukem	${SETSENV} ${HOST_SH} ${.CURDIR}/makeflist ${MAKEFLIST_FLAGS}
531.3Sthorpej
541.1Sthorpej#
551.1Sthorpej# SET BUILDING TARGETS
561.1Sthorpej#
571.1Sthorpej
581.27Slukem.if ${MKUNPRIVED} == "no"
591.27SlukemMETALOG.unpriv=
601.27Slukem.else
611.27SlukemMETALOG.unpriv=	-M ${METALOG}
621.27Slukem.endif
631.27Slukem
641.1Sthorpej.PRECIOUS: checkflist
651.7Slukemcheckflist: check_DESTDIR
661.40Slukem	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist \
671.40Slukem	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
681.4Smrg
691.7Slukem.PRECIOUS: checkflist-x11
701.7Slukemcheckflist-x11: check_DESTDIR
711.32Slukem	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist -x ${CHECKFLIST_FLAGS}
721.1Sthorpej
731.2Sthorpej.PRECIOUS: maketars
741.39Sjmcmaketars: check_DESTDIR check_RELEASEDIR .WAIT maketarsetup .WAIT ${MAKETARSETS:@.TARS.@do-${.TARS.}@}
751.33Sjmc	@true
761.33Sjmc
771.33Sjmcmaketarsetup: .PHONY
781.23Sveego.if defined(DESTDIR) && ${DESTDIR} != ""
791.32Slukem	${MAKE} checkflist
801.16Slukem.endif
811.24Slukem	mkdir -p ${RELEASEDIR}/${MACHINE}/binary/sets
821.35Sjmc	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
831.39Sjmc		rm -f ${RELEASEDIR}/${MACHINE}/binary/sets/$$i ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp; done
841.35Sjmc	
851.33Sjmc.for tar in ${MAKETARSETS}
861.39Sjmcdo-${tar}: .PHONY
871.25Slukem	${SETSENV} ${HOST_SH} ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \
881.27Slukem	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \
891.33Sjmc	    -t ${RELEASEDIR}/${MACHINE}/binary/sets ${tar}
901.33Sjmc.endfor
911.1Sthorpej
921.25Slukem.PRECIOUS: makesrctars
931.25Slukemmakesrctars: check_RELEASEDIR
941.25Slukem	mkdir -p ${RELEASEDIR}/source/sets
951.25Slukem	${SETSENV} ${HOST_SH} ${.CURDIR}/makesrctars \
961.25Slukem	    ${NETBSDSRCDIR} ${RELEASEDIR}/source/sets
971.25Slukem
981.2Sthorpej.PRECIOUS: makesums
991.33Sjmcmakesums: check_RELEASEDIR .WAIT ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
1001.35Sjmc	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
1011.35Sjmc		mv ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp \
1021.35Sjmc			${RELEASEDIR}/${MACHINE}/binary/sets/$$i; done
1031.33Sjmc
1041.33Sjmc.for tar in ${MAKETARSETS}
1051.39Sjmcdo-sum-${tar}: .PHONY do-${tar}
1061.33Sjmc	${SETSENV} ${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/binary/sets ${tar}.tgz
1071.35Sjmc	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
1081.35Sjmc		${TOOL_CAT} ${RELEASEDIR}/${MACHINE}/binary/sets/$$i >> ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp; \
1091.35Sjmc	done
1101.33Sjmc.endfor
1111.37Sjmc.ORDER: ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
1121.18Slukem
1131.18Slukem.PRECIOUS: installsets
1141.18Slukeminstallsets: check_DESTDIR
1151.18Slukem.if !defined(INSTALLDIR)
1161.18Slukem	@echo "setenv INSTALLDIR before doing that!"
1171.18Slukem	@false
1181.18Slukem.endif
1191.25Slukem	${SETSENV} ${HOST_SH} ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \
1201.27Slukem	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \
1211.20Slukem	    -i ${INSTALLDIR} ${INSTALLSETS}
1221.1Sthorpej
1231.1Sthorpej#
1241.1Sthorpej# MAIN ENTRY POINTS
1251.1Sthorpej#
1261.1Sthorpej
1271.14Ssommerfesets: maketars .WAIT makesums
1281.25Slukem	@true
1291.25Slukem
1301.25Slukemsourcesets: makesrctars
1311.1Sthorpej	@true
1321.8Slukem
1331.8Slukem.include <bsd.sys.mk>
134