Makefile revision 1.42
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.
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: .PHONY
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
64checkflist: .PRECIOUS .PHONY check_DESTDIR
65	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist \
66	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
67
68checkflist-x11: .PHONY check_DESTDIR
69	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist -x ${CHECKFLIST_FLAGS}
70
71maketars: .PRECIOUS .PHONY check_DESTDIR check_RELEASEDIR .WAIT \
72		maketarsetup .WAIT ${MAKETARSETS:@.TARS.@do-${.TARS.}@}
73	@true
74
75maketarsetup: .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}
84do-${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
91makesrctars: .PRECIOUS .PHONY check_RELEASEDIR
92	mkdir -p ${RELEASEDIR}/source/sets
93	${SETSENV} ${HOST_SH} ${.CURDIR}/makesrctars \
94	    ${NETBSDSRCDIR} ${RELEASEDIR}/source/sets
95
96makesums: .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}
103do-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
113installsets: .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
126sets: .PHONY maketars .WAIT makesums
127	@true
128
129sourcesets: .PHONY makesrctars
130	@true
131
132.include <bsd.sys.mk>
133