Makefile revision 1.48 1 # $NetBSD: Makefile,v 1.48 2005/10/07 20:00:54 jmc Exp $
2
3 # The `all' target must appear before bsd.own.mk is pulled in.
4 all:
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
11 SETSCMD= 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"
19 MAKEFLIST_FLAGS= -b
20 MAKESRCTARS_FLAGS= -x ${X11SRCDIR} -N ${NETBSDSRCDIR}/etc
21 .else
22 MAKEFLIST_FLAGS=
23 MAKESRCTARS_FLAGS= -N ${NETBSDSRCDIR}/etc
24 .endif
25
26 .if !defined(MAKETARSETS)
27 MAKETARSETS!= ${SETSCMD} ./makeflist -l ${MAKEFLIST_FLAGS}
28 .endif
29
30 print_have_gcc3: .PHONY
31 @echo ${HAVE_GCC3}
32
33 print_machine: .PHONY
34 @echo ${MACHINE}
35
36 print_machine_arch: .PHONY
37 @echo ${MACHINE_ARCH}
38
39 print_machine_cpu: .PHONY
40 @echo ${MACHINE_CPU}
41
42 print_object_fmt: .PHONY
43 @echo ${OBJECT_FMT}
44
45 print_toolchain_missing: .PHONY
46 @echo "${TOOLCHAIN_MISSING}"
47
48 print_use_tools_toolchain: .PHONY
49 @echo "${USE_TOOLS_TOOLCHAIN}"
50
51 print_x11_version: .PHONY
52 ${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $$x11_version'
53
54 # This target has debugging value only, really.
55 makeflist: .PHONY .PRECIOUS check_DESTDIR
56 ${SETSCMD} ./makeflist ${MAKEFLIST_FLAGS}
57
58 #
59 # SET BUILDING TARGETS
60 #
61
62 TARDIR= ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
63 SOURCETARDIR= ${RELEASEDIR}/source/sets
64
65 .if ${MKUNPRIVED} == "no"
66 METALOG.unpriv=
67 .else
68 METALOG.unpriv= -M ${METALOG}
69 .endif
70
71
72 checkflist: .PRECIOUS .PHONY check_DESTDIR
73 ${SETSCMD} ./checkflist \
74 ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
75
76 checkflist-x11: .PHONY check_DESTDIR
77 ${SETSCMD} ./checkflist -x ${CHECKFLIST_FLAGS}
78
79
80 maketars: .PRECIOUS .PHONY check_DESTDIR check_RELEASEDIR .WAIT \
81 maketarsetup .WAIT ${MAKETARSETS:@.TARS.@do-${.TARS.}@}
82 @true
83
84 maketarsetup: .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 SHA512 SYSVSUM; do \
91 rm -f ${TARDIR}/$$i ${TARDIR}/$$i.tmp; \
92 done
93
94 makesetfiles: .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}
100 do-${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
107 makesrctars: .PRECIOUS .PHONY check_RELEASEDIR
108 mkdir -p ${SOURCETARDIR}
109 ${SETSCMD} ./makesrctars ${MAKESRCTARS_FLAGS} \
110 ${NETBSDSRCDIR} ${SOURCETARDIR}
111
112
113 makesums: .PRECIOUS .PHONY check_RELEASEDIR .WAIT \
114 ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
115 for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
116 mv ${TARDIR}/$$i.tmp ${TARDIR}/$$i; \
117 done
118
119 .for tar in ${MAKETARSETS}
120 do-sum-${tar}: .PHONY do-${tar}
121 ${MAKESUMS} -t ${TARDIR} ${tar}.tgz
122 for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
123 ${TOOL_CAT} ${TARDIR}/$$i >> ${TARDIR}/$$i.tmp; \
124 done
125 .endfor
126 .ORDER: ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
127
128
129 installsets: .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
143 sets: .PHONY maketars .WAIT makesums
144 @true
145
146 sourcesets: .PHONY makesrctars
147 @true
148
149 .include <bsd.sys.mk>
150