Makefile revision 1.45
1#	$NetBSD: Makefile,v 1.45 2004/04/20 06:36:34 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
11SETSCMD=	cd ${.CURDIR} && \
12		DESTDIR=${DESTDIR:Q} \
13		MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
14		CKSUM=${TOOL_CKSUM:Q} MAKE=${MAKE:Q} MTREE=${TOOL_MTREE:Q} \
15		MKTEMP=${TOOL_MKTEMP:Q} PAX=${TOOL_PAX:Q} HOST_SH=${HOST_SH:Q} \
16		${HOST_SH}
17
18.if ${MKX11} != "no"
19MAKEFLIST_FLAGS=	-b
20MAKESRCTARS_FLAGS=	-x ${X11SRCDIR}
21.else
22MAKEFLIST_FLAGS=
23MAKESRCTARS_FLAGS=
24.endif
25
26.if !defined(MAKETARSETS)
27MAKETARSETS!= ${SETSCMD} ./makeflist -l ${MAKEFLIST_FLAGS}
28.endif
29
30print_have_gcc3: .PHONY
31	@echo ${HAVE_GCC3}
32
33print_machine: .PHONY
34	@echo ${MACHINE}
35
36print_machine_arch: .PHONY
37	@echo ${MACHINE_ARCH}
38
39print_machine_cpu: .PHONY
40	@echo ${MACHINE_CPU}
41
42print_object_fmt: .PHONY
43	@echo ${OBJECT_FMT}
44
45print_toolchain_missing: .PHONY
46	@echo "${TOOLCHAIN_MISSING}"
47
48print_use_tools_toolchain: .PHONY
49	@echo "${USE_TOOLS_TOOLCHAIN}"
50
51print_x11_version: .PHONY
52	${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $$x11_version'
53
54# This target has debugging value only, really.
55makeflist: .PHONY .PRECIOUS check_DESTDIR
56	${SETSCMD} ./makeflist ${MAKEFLIST_FLAGS}
57
58#
59# SET BUILDING TARGETS
60#
61
62TARDIR=		${RELEASEDIR}/${MACHINE}/binary/sets
63SOURCETARDIR=	${RELEASEDIR}/source/sets
64
65.if ${MKUNPRIVED} == "no"
66METALOG.unpriv=
67.else
68METALOG.unpriv=	-M ${METALOG}
69.endif
70
71
72checkflist: .PRECIOUS .PHONY check_DESTDIR
73	${SETSCMD} ./checkflist \
74	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
75
76checkflist-x11: .PHONY check_DESTDIR
77	${SETSCMD} ./checkflist -x ${CHECKFLIST_FLAGS}
78
79
80maketars: .PRECIOUS .PHONY check_DESTDIR check_RELEASEDIR .WAIT \
81		maketarsetup .WAIT ${MAKETARSETS:@.TARS.@do-${.TARS.}@}
82	@true
83
84maketarsetup: .EXEC
85.if defined(DESTDIR) && ${DESTDIR} != ""
86	${_MKMSG} "execute  checkflist"
87	${MAKE} checkflist
88.endif
89	mkdir -p ${TARDIR}
90	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
91		rm -f ${TARDIR}/$$i ${TARDIR}/$$i.tmp; \
92	done
93
94makesetfiles: .PHONY
95	${_MKMSG_CREATE} "set lists"
96	${SETSCMD} ./maketars -S -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
97	    -N ${NETBSDSRCDIR}/etc ${MAKEFLIST_FLAGS} -t ${TARDIR}
98
99.for tar in ${MAKETARSETS}
100do-${tar}: .PHONY
101	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
102	    -N ${NETBSDSRCDIR}/etc -t ${TARDIR} ${tar} \
103	|| rm -f ${TARDIR}/${tar}.tgz
104.endfor
105
106
107makesrctars: .PRECIOUS .PHONY check_RELEASEDIR
108	mkdir -p ${SOURCETARDIR}
109	${SETSCMD} ./makesrctars ${MAKESRCTARS_FLAGS} \
110	    ${NETBSDSRCDIR} ${SOURCETARDIR}
111
112
113makesums: .PRECIOUS .PHONY check_RELEASEDIR .WAIT \
114		${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
115	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
116		mv ${TARDIR}/$$i.tmp ${TARDIR}/$$i; \
117	done
118
119.for tar in ${MAKETARSETS}
120do-sum-${tar}: .PHONY do-${tar}
121	${MAKESUMS} -t ${TARDIR} ${tar}.tgz
122	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
123		${TOOL_CAT} ${TARDIR}/$$i >> ${TARDIR}/$$i.tmp; \
124	done
125.endfor
126.ORDER: ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
127
128
129installsets: .PHONY check_DESTDIR
130.if !defined(INSTALLDIR)
131	@echo "setenv INSTALLDIR before doing that!"
132	@false
133.endif
134	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} \
135	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc ${MAKEFLIST_FLAGS} \
136	    -i ${INSTALLDIR} ${INSTALLSETS}
137
138
139#
140# MAIN ENTRY POINTS
141#
142
143sets: .PHONY maketars .WAIT makesums
144	@true
145
146sourcesets: .PHONY makesrctars
147	@true
148
149.include <bsd.sys.mk>
150