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