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