Makefile revision 1.38
1#	$NetBSD: Makefile,v 1.38 2003/12/29 03:13:25 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 !defined(MAKETARSETS)
17MAKETARSETS!=	${SETSENV} ${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $${nlists}'
18.endif
19
20print_have_gcc3:
21	@echo ${HAVE_GCC3}
22
23print_machine: .PHONY
24	@echo ${MACHINE}
25
26print_machine_arch: .PHONY
27	@echo ${MACHINE_ARCH}
28
29print_machine_cpu: .PHONY
30	@echo ${MACHINE_CPU}
31
32print_object_fmt: .PHONY
33	@echo ${OBJECT_FMT}
34
35print_toolchain_missing: .PHONY
36	@echo "${TOOLCHAIN_MISSING}"
37
38print_use_tools_toolchain: .PHONY
39	@echo "${USE_TOOLS_TOOLCHAIN}"
40
41print_x11_version: .PHONY
42.if defined(USE_XF86_4) && (${USE_XF86_4} != no)
43	@echo 4
44.else
45	@echo 3
46.endif
47
48# This target has debugging value only, really.
49makeflist: .PHONY check_DESTDIR
50	${SETSENV} ${HOST_SH} ${.CURDIR}/makeflist
51
52#
53# SET BUILDING TARGETS
54#
55
56.if ${MKUNPRIVED} == "no"
57METALOG.unpriv=
58.else
59METALOG.unpriv=	-M ${METALOG}
60.endif
61
62.PRECIOUS: checkflist
63checkflist: check_DESTDIR
64	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist ${CHECKFLIST_FLAGS} \
65	    ${METALOG.unpriv}
66
67.PRECIOUS: checkflist-x11
68checkflist-x11: check_DESTDIR
69	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist -x ${CHECKFLIST_FLAGS}
70
71.PRECIOUS: maketars
72maketars: check_DESTDIR check_RELEASEDIR .WAIT maketarsetup .WAIT ${MAKETARSETS:@.TARS.@${RELEASEDIR}/${MACHINE}/binary/sets/${.TARS.}.tgz@}
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.tmp; done
82	-[ "${MAKETARSETS}" ] && for i in ${MAKETARSETS}; do \
83		rm -f ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tgz; done
84	
85.for tar in ${MAKETARSETS}
86${RELEASEDIR}/${MACHINE}/binary/sets/${tar}.tgz:
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 ${RELEASEDIR}/${MACHINE}/binary/sets/${tar}.tgz
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