Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 599 lines (535 sloc) 18.354 kb
42ee44a Pull up the following revisions(s) (requested by martin in ticket #503):
sborrill authored
1 # $NetBSD: Makefile,v 1.291.2.2 2012/08/15 17:36:46 sborrill Exp $
4693743 Improve documentation.
cjs authored
2
69d1160 * Add two new (experimental) targets:
lukem authored
3 #
4693743 Improve documentation.
cjs authored
4 # This is the top-level makefile for building NetBSD. For an outline of
5 # how to build a snapshot or release, as well as other release engineering
4152b20 netbsd.org->NetBSD.org
salo authored
6 # information, see http://www.NetBSD.org/developers/releng/index.html
4693743 Improve documentation.
cjs authored
7 #
8 # Not everything you can set or do is documented in this makefile. In
9 # particular, you should review the files in /usr/share/mk (especially
10 # bsd.README) for general information on building programs and writing
11 # Makefiles within this structure, and see the comments in src/etc/Makefile
12 # for further information on installation and release set options.
13 #
14 # Variables listed below can be set on the make command line (highest
15 # priority), in /etc/mk.conf (middle priority), or in the environment
16 # (lowest priority).
17 #
18 # Variables:
f7a8ac6 Document MKOBJDIRS here, and sort the variable list in the comments
sommerfeld authored
19 # DESTDIR is the target directory for installation of the compiled
20 # software. It defaults to /. Note that programs are built against
21 # libraries installed in DESTDIR.
0f2c0be Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was d…
lukem authored
22 # MKMAN, if `no', will prevent building of manual pages.
23 # MKOBJDIRS, if not `no', will build object directories at
f7a8ac6 Document MKOBJDIRS here, and sort the variable list in the comments
sommerfeld authored
24 # an appropriate point in a build.
0f2c0be Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was d…
lukem authored
25 # MKSHARE, if `no', will prevent building and installing
4693743 Improve documentation.
cjs authored
26 # anything in /usr/share.
0f2c0be Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was d…
lukem authored
27 # MKUPDATE, if not `no', will avoid a `make cleandir' at the start of
6485a5c Fix whitespace usage in comment.
enami authored
28 # `make build', as well as having the effects listed in
29 # /usr/share/mk/bsd.README.
f40352f clarify some variable documentation; from cagney
mrg authored
30 # NOCLEANDIR, if defined, will avoid a `make cleandir' at the start
6485a5c Fix whitespace usage in comment.
enami authored
31 # of the `make build'.
f979063 Document the cool NOCLEANDIR/NOINCLUDES options that somebody added.
toddpw authored
32 # NOINCLUDES will avoid the `make includes' usually done by `make build'.
4693743 Improve documentation.
cjs authored
33 #
0f2c0be Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was d…
lukem authored
34 # See mk.conf(5) for more details.
35 #
36 #
4693743 Improve documentation.
cjs authored
37 # Targets:
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
38 # build:
4626503 Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
lukem authored
39 # Builds a full release of NetBSD in DESTDIR, except for the
40 # /etc configuration files.
41 # If BUILD_DONE is set, this is an empty target.
42 # distribution:
43 # Builds a full release of NetBSD in DESTDIR, including the /etc
44 # configuration files.
45 # buildworld:
46 # As per `make distribution', except that it ensures that DESTDIR
47 # is not the root directory.
48 # installworld:
49 # Install the distribution from DESTDIR to INSTALLWORLDDIR (which
50 # defaults to the root directory). Ensures that INSTALLWORLDDIR
a8ef41d s/is the not root/is not the root/ in a comment - from Snader_LB
abs authored
51 # is not the root directory if cross compiling.
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
52 # release:
4903b14 Modify "release" to invoke "make distribution" instead of "make build",
lukem authored
53 # Does a `make distribution', and then tars up the DESTDIR files
97b91fc Consistently document RELEASEDIR/RELEASEMACHINEDIR.
lukem authored
54 # into ${RELEASEDIR}/${RELEASEMACHINEDIR}, in release(7) format.
4626503 Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
lukem authored
55 # (See etc/Makefile for more information on this.)
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
56 # regression-tests:
57 # Runs the regression tests in "regress" on this host.
b31e270 Add "sourcesets" argument/target, which builds source sets into
lukem authored
58 # sets:
97b91fc Consistently document RELEASEDIR/RELEASEMACHINEDIR.
lukem authored
59 # Populate ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
60 # from ${DESTDIR}
b31e270 Add "sourcesets" argument/target, which builds source sets into
lukem authored
61 # sourcesets:
62 # Populate ${RELEASEDIR}/source/sets from ${NETBSDSRCDIR}
0934a2e Add a new "syspkgs" target, which simply chains to the "syspkgs" target
apb authored
63 # syspkgs:
97b91fc Consistently document RELEASEDIR/RELEASEMACHINEDIR.
lukem authored
64 # Populate ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
65 # from ${DESTDIR}
468bd5d * Add an "iso-image" target in the top level Makefile,
apb authored
66 # iso-image:
82d4f8d Add an iso-image-source option which does the same thing as iso-image…
jnemeth authored
67 # Create CD-ROM image in RELEASEDIR/iso.
468bd5d * Add an "iso-image" target in the top level Makefile,
apb authored
68 # RELEASEDIR must already have been populated by `make release'
69 # or equivalent.
82d4f8d Add an iso-image-source option which does the same thing as iso-image…
jnemeth authored
70 # iso-image-source:
71 # Create CD-ROM image with source in RELEASEDIR/iso.
72 # RELEASEDIR must already have been populated by
73 # `make release sourcesets' or equivalent.
b9a53cc Add "live-image" and "install-image" target support to build.sh.
tsutsui authored
74 # live-image:
75 # Create bootable live image for emulators or USB stick etc.
76 # in RELEASEDIR/liveimage.
77 # RELEASEDIR must already have been populated by `make release'
78 # or equivalent.
79 # install-image:
80 # Create bootable installation image for USB stick etc.
81 # in RELEASEDIR/installimage.
82 # RELEASEDIR must already have been populated by `make release'
83 # or equivalent.
c76af6d fix PR#12832: split `make build' up into these steps (from new the
mrg authored
84 #
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
85 # Targets invoked by `make build,' in order:
86 # cleandir: cleans the tree.
5b60ec5 Add a do-top-obj target, which builds the top-level obj directory.
apb authored
87 # do-top-obj: creates the top level object directory.
07f4031 Defer the "make obj" step until after tools are built and installed.
apb authored
88 # do-tools-obj: creates object directories for the host toolchain.
85a68ff Major overhaul of src/tools and host toolchain. Summary of changes:
tv authored
89 # do-tools: builds host toolchain.
07f4031 Defer the "make obj" step until after tools are built and installed.
apb authored
90 # obj: creates object directories.
a7041f0 Put do-make-tools before creating distrib-dirs (as binstall has to be
tv authored
91 # do-distrib-dirs: creates the distribution directories.
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
92 # includes: installs include files.
be4d05d update "targets invoked by make build" to match reality ...
lukem authored
93 # do-tools-compat: builds the "libnbcompat" library; needed for some
94 # random host tool programs in the source tree.
5b1b90c correct the comment describing the build order
lukem authored
95 # do-lib-csu: builds and installs prerequisites from lib/csu.
26b7b01 Provide 'do-libgcc' to build gnu/lib/crtstuff${LIBGCC_EXT} (if necess…
lukem authored
96 # do-libgcc: builds and installs prerequisites from
97 # gnu/lib/crtstuff${LIBGCC_EXT} (if necessary) and
98 # gnu/lib/libgcc${LIBGCC_EXT}.
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
99 # do-libpcc: builds and install prerequisites from
85fe8f8 Centralise USE_COMPILERCRTSTUFF.
skrll authored
100 # external/bsd/pcc/crtstuff (if necessary) and
101 # external/bsd/pcc/libpcc.
7c3b4fc Add a do-lib-libc target which is processed after do-lib-csu. This
thorpej authored
102 # do-lib-libc: builds and installs prerequisites from lib/libc.
b9e597f Re-add intermediate dependall/install targets (do-lib-csu, do-lib,
tv authored
103 # do-lib: builds and installs prerequisites from lib.
0ab9b9d build & install librumpdev_netsmb and librumpfs_smbfs components
pooka authored
104 # do-sys-rump-dev-lib: builds and installs prerequisites from sys/rump/dev/lib
c35eff1 add do-sys-rump-net-lib
pooka authored
105 # do-sys-rump-fs-lib: builds and installs prerequisites from sys/rump/fs/lib
b2814fa descend into sys/rump/kern
pooka authored
106 # do-sys-rump-kern-lib: builds and installs prereq. from sys/rump/kern/lib
c35eff1 add do-sys-rump-net-lib
pooka authored
107 # do-sys-rump-net-lib: builds and installs prerequisites from sys/rump/net/lib
40de13a Build kernel modules the same time as the rest of the system libraries.
pooka authored
108 # do-sys-modules: builds and installs kernel modules (used by rump binaries)
770f682 MKDYNAMICROOT for a.out
itohy authored
109 # do-ld.so: builds and installs prerequisites from libexec/ld.*_so.
82ead09 - enable 32-bit library builds on amd64 and sparc64
mrg authored
110 # do-compat-lib-csu: builds and installs prerequisites from compat/lib/csu
111 # if ${MKCOMPAT} != "no".
112 # do-compat-libgcc: builds and installs prerequisites from
113 # compat/gnu/lib/crtstuff${LIBGCC_EXT} (if necessary) and
114 # compat/gnu/lib/libgcc${LIBGCC_EXT} if ${MKCOMPAT} != "no".
115 # do-compat-lib-libc: builds and installs prerequisites from compat/lib/libc
116 # if ${MKCOMPAT} != "no".
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
117 # do-build: builds and installs the entire system.
4694719 - retire MKXORG from public use
mrg authored
118 # do-x11: builds and installs X11 if ${MKX11} != "no"; either
119 # X11R7 from src/external/mit/xorg if ${X11FLAVOUR} == "Xorg"
120 # or X11R6 from src/x11
358f392 Support "extsrc", externally added programs and libraries. Users can…
uebayasi authored
121 # do-extsrc: builds and installs extsrc if ${MKEXTSRC} != "no".
ed6f193 fix some comments
lukem authored
122 # do-obsolete: installs the obsolete sets (for the postinstall-* targets).
69d1160 * Add two new (experimental) targets:
lukem authored
123 #
448982f pull in bsd.own.mk earlier, to get configuration variables.
cgd authored
124
79154dd * Always descend into "tools" regardless of USETOOLS setting. Instead,
tv authored
125 .if ${.MAKEFLAGS:M${.CURDIR}/share/mk} == ""
126 .MAKEFLAGS: -m ${.CURDIR}/share/mk
127 .endif
128
69d1160 * Add two new (experimental) targets:
lukem authored
129 #
9d29a4f If _SRC_TOP_OBJ_ gets set here, we will end up with a directory that may
tv authored
130 # If _SRC_TOP_OBJ_ gets set here, we will end up with a directory that may
131 # not be the top level objdir, because "make obj" can happen in the *middle*
132 # of "make build" (long after <bsd.own.mk> is calculated it). So, pre-set
133 # _SRC_TOP_OBJ_ here so it will not be added to ${.MAKEOVERRIDES}.
69d1160 * Add two new (experimental) targets:
lukem authored
134 #
9d29a4f If _SRC_TOP_OBJ_ gets set here, we will end up with a directory that may
tv authored
135 _SRC_TOP_OBJ_=
136
79154dd * Always descend into "tools" regardless of USETOOLS setting. Instead,
tv authored
137 .include <bsd.own.mk>
a445358 change "Id" to "Header" in rcsid, and noted why etc was not in subdirs
cgd authored
138
69d1160 * Add two new (experimental) targets:
lukem authored
139 #
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
140 # Sanity check: make sure that "make build" is not invoked simultaneously
141 # with a standard recursive target.
69d1160 * Add two new (experimental) targets:
lukem authored
142 #
c2e4e20 Fix the rebuild of libgcc:
tv authored
143
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
144 .if make(build) || make(release) || make(snapshot)
145 .for targ in ${TARGETS:Nobj:Ncleandir}
146 .if make(${targ}) && !target(.BEGIN)
147 .BEGIN:
148 @echo 'BUILD ABORTED: "make build" and "make ${targ}" are mutually exclusive.'
149 @false
150 .endif
151 .endfor
046845e Add a 'NBUILDJOBS' variable which control the number of jobs started in
bouyer authored
152 .endif
153
69d1160 * Add two new (experimental) targets:
lukem authored
154 #
5b60ec5 Add a do-top-obj target, which builds the top-level obj directory.
apb authored
155 # _SUBDIR is used to set SUBDIR, after removing directories that have
156 # BUILD_${dir}=no, or that have no ${dir}/Makefile.
69d1160 * Add two new (experimental) targets:
lukem authored
157 #
0946e1f add crypto/external to the build.
christos authored
158 _SUBDIR= tools lib include gnu external crypto/external bin games
159 _SUBDIR+= libexec sbin usr.bin
82ead09 - enable 32-bit library builds on amd64 and sparc64
mrg authored
160 _SUBDIR+= usr.sbin share rescue sys etc tests compat .WAIT distrib regress
e2c2314 make sure include and include/sys are populated before starting to
assar authored
161
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
162 .for dir in ${_SUBDIR}
5b60ec5 Add a do-top-obj target, which builds the top-level obj directory.
apb authored
163 .if "${dir}" == ".WAIT" \
164 || (${BUILD_${dir}:Uyes} != "no" && exists(${dir}/Makefile))
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
165 SUBDIR+= ${dir}
634e8c1 allow builds to work if directory games is missing. Closes pr misc/19…
explorer authored
166 .endif
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
167 .endfor
c330d79 allow toplevel makefile to descend into sys
cgd authored
168
72a7b88 Make regress only if directory exists. It can be optional.
brezak authored
169 .if exists(regress)
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
170 regression-tests: .PHONY .MAKE
7e08344 oops, clean that up a bit
cgd authored
171 @echo Running regression tests...
8993a70 Convert lines of the form
lukem authored
172 ${MAKEDIRTARGET} regress regress
bc33876 if not installing man pages, don't remake whatis db
cgd authored
173 .endif
7413e10 add some new targets to DTRT when installing/building
cgd authored
174
0f2c0be Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was d…
lukem authored
175 .if ${MKUNPRIVED} != "no"
62b3892 Fix what rev. 1.176 broke, in particular, doing a priv'd build into
thorpej authored
176 NOPOSTINSTALL= # defined
177 .endif
178
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
179 afterinstall: .PHONY .MAKE
a0e7536 Add a new target (infodir-meta:) that synthesizes the share/info/dir
perry authored
180 .if ${MKMAN} != "no"
8993a70 Convert lines of the form
lukem authored
181 ${MAKEDIRTARGET} share/man makedb
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
182 .endif
0f2c0be Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was d…
lukem authored
183 .if (${MKUNPRIVED} != "no" && ${MKINFO} != "no")
8993a70 Convert lines of the form
lukem authored
184 ${MAKEDIRTARGET} gnu/usr.bin/texinfo/install-info infodir-meta
a0e7536 Add a new target (infodir-meta:) that synthesizes the share/info/dir
perry authored
185 .endif
62b3892 Fix what rev. 1.176 broke, in particular, doing a priv'd build into
thorpej authored
186 .if !defined(NOPOSTINSTALL)
8993a70 Convert lines of the form
lukem authored
187 ${MAKEDIRTARGET} . postinstall-check
52b0450 In afterinstall, only run postinstall check if DESTDIR == / (or equiv…
lukem authored
188 .endif
6c495ae move postinstall from afterinstall to separate "postinstall-check" ta…
lukem authored
189
c39ab16 use usr.sbin/postinstall/postinstall instead of etc/postinstall
lukem authored
190 _POSTINSTALL= ${.CURDIR}/usr.sbin/postinstall/postinstall
42ee44a Pull up the following revisions(s) (requested by martin in ticket #503):
sborrill authored
191 _POSTINSTALL_ENV= \
192 AWK=${TOOL_AWK:Q} \
193 DB=${TOOL_DB:Q} \
194 HOST_SH=${HOST_SH:Q} \
195 MAKE=${MAKE:Q} \
196 PWD_MKDB=${TOOL_PWD_MKDB:Q} \
197 STAT=${TOOL_STAT:Q}
c39ab16 use usr.sbin/postinstall/postinstall instead of etc/postinstall
lukem authored
198
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
199 postinstall-check: .PHONY
ff9a5ba run "./etc/postinstall check" in afterinstall:
lukem authored
200 @echo " === Post installation checks ==="
42ee44a Pull up the following revisions(s) (requested by martin in ticket #503):
sborrill authored
201 ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ check; if [ $$? -gt 1 ]; then exit 1; fi
ff9a5ba run "./etc/postinstall check" in afterinstall:
lukem authored
202 @echo " ================================"
203
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
204 postinstall-fix: .NOTMAIN .PHONY
84bb4a2 we might as well provide a handy "postinstall-fix" target whilst here
lukem authored
205 @echo " === Post installation fixes ==="
42ee44a Pull up the following revisions(s) (requested by martin in ticket #503):
sborrill authored
206 ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ fix
6784880 Add postinstall-fix-obsolete (to invoke "postinstall fix obsolete" -
lukem authored
207 @echo " ==============================="
208
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
209 postinstall-fix-obsolete: .NOTMAIN .PHONY
6784880 Add postinstall-fix-obsolete (to invoke "postinstall fix obsolete" -
lukem authored
210 @echo " === Removing obsolete files ==="
42ee44a Pull up the following revisions(s) (requested by martin in ticket #503):
sborrill authored
211 ${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ fix obsolete
6784880 Add postinstall-fix-obsolete (to invoke "postinstall fix obsolete" -
lukem authored
212 @echo " ==============================="
84bb4a2 we might as well provide a handy "postinstall-fix" target whilst here
lukem authored
213
a0e7536 Add a new target (infodir-meta:) that synthesizes the share/info/dir
perry authored
214
69d1160 * Add two new (experimental) targets:
lukem authored
215 #
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
216 # Targets (in order!) called by "make build".
69d1160 * Add two new (experimental) targets:
lukem authored
217 #
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
218 .if defined(HAVE_GCC)
4b45f08 remove all the code that supported HAVE_GCC=3. mostly from chuq.
mrg authored
219 .if ${HAVE_GCC} == "4"
5b803cb remove support for building (with) GCC 2.95. also:
mrg authored
220 LIBGCC_EXT=4
205635d fix the parts that build libgcc/crtstuff, etc., for GCC 4.5.
mrg authored
221 BUILD_CC_LIB_BASEDIR= gnu/lib
222 BUILD_CC_LIB_BASETARGET= gnu-lib
4b45f08 remove all the code that supported HAVE_GCC=3. mostly from chuq.
mrg authored
223 .else
205635d fix the parts that build libgcc/crtstuff, etc., for GCC 4.5.
mrg authored
224 LIBGCC_EXT=
225 BUILD_CC_LIB_BASEDIR= external/gpl3/gcc/lib
226 BUILD_CC_LIB_BASETARGET= external-gpl3-gcc-lib
f99f07d maybe build gnu/lib/libgcc3 instead of libgcc[2]
mrg authored
227 .endif
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
228 .endif
a3028a2 If updating from a system which has a /usr/pkg/info/dir, move that to
tv authored
229
ca06aeb Warn when "make build" is started with USE_NEW_TOOLCHAIN on a platfor…
tv authored
230 BUILDTARGETS+= check-tools
0f2c0be Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was d…
lukem authored
231 .if ${MKUPDATE} == "no" && !defined(NOCLEANDIR)
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
232 BUILDTARGETS+= cleandir
a7041f0 Put do-make-tools before creating distrib-dirs (as binstall has to be
tv authored
233 .endif
5b60ec5 Add a do-top-obj target, which builds the top-level obj directory.
apb authored
234 .if ${MKOBJDIRS} != "no"
235 BUILDTARGETS+= do-top-obj
236 .endif
237 .if ${USETOOLS} == "yes" # {
c2c3d6f Reverse the order of "make cleandir" and "make obj" back to the way they
tv authored
238 .if ${MKOBJDIRS} != "no"
07f4031 Defer the "make obj" step until after tools are built and installed.
apb authored
239 BUILDTARGETS+= do-tools-obj
c2c3d6f Reverse the order of "make cleandir" and "make obj" back to the way they
tv authored
240 .endif
85a68ff Major overhaul of src/tools and host toolchain. Summary of changes:
tv authored
241 BUILDTARGETS+= do-tools
5b60ec5 Add a do-top-obj target, which builds the top-level obj directory.
apb authored
242 .endif # USETOOLS # }
07f4031 Defer the "make obj" step until after tools are built and installed.
apb authored
243 .if ${MKOBJDIRS} != "no"
244 BUILDTARGETS+= obj
245 .endif
71531eb Make clean_METALOG in distrib/sets early in the build, to ensure that
apb authored
246 BUILDTARGETS+= clean_METALOG
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
247 .if !defined(NODISTRIBDIRS)
248 BUILDTARGETS+= do-distrib-dirs
a7041f0 Put do-make-tools before creating distrib-dirs (as binstall has to be
tv authored
249 .endif
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
250 .if !defined(NOINCLUDES)
251 BUILDTARGETS+= includes
a7041f0 Put do-make-tools before creating distrib-dirs (as binstall has to be
tv authored
252 .endif
b042d91 Always build tools/compat, so that random host helper programs
thorpej authored
253 BUILDTARGETS+= do-tools-compat
8988beb Be more gcc like in the way we deal with libgcc so that sh3/hppa mill…
skrll authored
254 BUILDTARGETS+= do-lib-csu
f0e2d90 build libgcc early, if at all
drochner authored
255 .if ${MKGCC} != "no"
26b7b01 Provide 'do-libgcc' to build gnu/lib/crtstuff${LIBGCC_EXT} (if necess…
lukem authored
256 BUILDTARGETS+= do-libgcc
f0e2d90 build libgcc early, if at all
drochner authored
257 .endif
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
258 .if ${MKPCC} != "no"
259 BUILDTARGET+= do-libpcc
260 .endif
8988beb Be more gcc like in the way we deal with libgcc so that sh3/hppa mill…
skrll authored
261 BUILDTARGETS+= do-lib-libc
4cb28da Remove the do-external-lib and do-gnu-lib targets, along with
plunky authored
262 BUILDTARGETS+= do-lib
cd3bd9b build evbppc modules in 3 different flavours:
mrg authored
263 .if ${MKKMOD} != "no"
40de13a Build kernel modules the same time as the rest of the system libraries.
pooka authored
264 BUILDTARGETS+= do-sys-modules
265 .endif
b2814fa descend into sys/rump/kern
pooka authored
266 BUILDTARGETS+= do-sys-rump-dev-lib do-sys-rump-fs-lib
267 BUILDTARGETS+= do-sys-rump-kern-lib do-sys-rump-net-lib
82ead09 - enable 32-bit library builds on amd64 and sparc64
mrg authored
268 .if ${MKCOMPAT} != "no"
269 BUILDTARGETS+= do-compat-lib-csu
270 BUILDTARGETS+= do-compat-libgcc
271 BUILDTARGETS+= do-compat-lib-libc
272 .endif
5767649 only build do-lib-libdes if ${MKCRYPTO}!=no
lukem authored
273 BUILDTARGETS+= do-ld.so
274 BUILDTARGETS+= do-build
4694719 - retire MKXORG from public use
mrg authored
275 .if ${MKX11} != "no"
19423fd Implement do-x11, to run "make build" in ./x11/
lukem authored
276 BUILDTARGETS+= do-x11
277 .endif
358f392 Support "extsrc", externally added programs and libraries. Users can…
uebayasi authored
278 .if ${MKEXTSRC} != "no"
279 BUILDTARGETS+= do-extsrc
280 .endif
431157a all:
lukem authored
281 BUILDTARGETS+= do-obsolete
a7041f0 Put do-make-tools before creating distrib-dirs (as binstall has to be
tv authored
282
69d1160 * Add two new (experimental) targets:
lukem authored
283 #
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
284 # Enforce proper ordering of some rules.
69d1160 * Add two new (experimental) targets:
lukem authored
285 #
c76af6d fix PR#12832: split `make build' up into these steps (from new the
mrg authored
286
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
287 .ORDER: ${BUILDTARGETS}
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
288 includes-lib: .PHONY includes-include includes-sys
289 includes-gnu: .PHONY includes-lib
c76af6d fix PR#12832: split `make build' up into these steps (from new the
mrg authored
290
69d1160 * Add two new (experimental) targets:
lukem authored
291 #
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
292 # Build the system and install into DESTDIR.
69d1160 * Add two new (experimental) targets:
lukem authored
293 #
ae121f5 The final step -- hook src/tools into the main build. If USE_NEW_TOO…
tv authored
294
a9a889a show the start time at the end of the build as well.
lukem authored
295 START_TIME!= date
296
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
297 build: .PHONY .MAKE
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
298 .if defined(BUILD_DONE)
299 @echo "Build already installed into ${DESTDIR}"
300 .else
a9a889a show the start time at the end of the build as well.
lukem authored
301 @echo "Build started at: ${START_TIME}"
5d1bfa2 Work around parallelism lossage, because .ORDER doesn't work yet
tv authored
302 .for tgt in ${BUILDTARGETS}
8993a70 Convert lines of the form
lukem authored
303 ${MAKEDIRTARGET} . ${tgt}
5d1bfa2 Work around parallelism lossage, because .ORDER doesn't work yet
tv authored
304 .endfor
8993a70 Convert lines of the form
lukem authored
305 ${MAKEDIRTARGET} etc install-etc-release
a9a889a show the start time at the end of the build as well.
lukem authored
306 @echo "Build started at: ${START_TIME}"
63eda99 Use printf rather than echo -n, since the former works on all POSIX s…
bjh21 authored
307 @printf "Build finished at: " && date
3acd090 Do not build libgcc 3 times.
mycroft authored
308 .endif
c76af6d fix PR#12832: split `make build' up into these steps (from new the
mrg authored
309
69d1160 * Add two new (experimental) targets:
lukem authored
310 #
fa27277 Add a wrapper for the "distribution" target, similar to the wrapper
thorpej authored
311 # Build a full distribution, but not a release (i.e. no sets into
69d1160 * Add two new (experimental) targets:
lukem authored
312 # ${RELEASEDIR}). "buildworld" enforces a build to ${DESTDIR} != /
313 #
fa27277 Add a wrapper for the "distribution" target, similar to the wrapper
thorpej authored
314
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
315 distribution buildworld: .PHONY .MAKE
364a133 fix DESTDIR checks if !defined(DESTDIR)
lukem authored
316 .if make(buildworld) && \
317 (!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/")
69d1160 * Add two new (experimental) targets:
lukem authored
318 @echo "Won't make ${.TARGET} with DESTDIR=/"
319 @false
320 .endif
8993a70 Convert lines of the form
lukem authored
321 ${MAKEDIRTARGET} . build NOPOSTINSTALL=1
322 ${MAKEDIRTARGET} etc distribution INSTALL_DONE=1
12ac6dc After running the body of the "distribution" target, do a "checkflist…
thorpej authored
323 .if defined(DESTDIR) && ${DESTDIR} != "" && ${DESTDIR} != "/"
8993a70 Convert lines of the form
lukem authored
324 ${MAKEDIRTARGET} . postinstall-fix-obsolete
325 ${MAKEDIRTARGET} distrib/sets checkflist
12ac6dc After running the body of the "distribution" target, do a "checkflist…
thorpej authored
326 .endif
092e768 improve previous; show times at end of distribution/release/snapshot …
lukem authored
327 @echo "make ${.TARGET} started at: ${START_TIME}"
cf09c55 print date when make {distribution,release,snapshot} finished
lukem authored
328 @printf "make ${.TARGET} finished at: " && date
fa27277 Add a wrapper for the "distribution" target, similar to the wrapper
thorpej authored
329
69d1160 * Add two new (experimental) targets:
lukem authored
330 #
331 # Install the distribution from $DESTDIR to $INSTALLWORLDDIR (defaults to `/')
332 # If installing to /, ensures that the host's operating system is NetBSD and
333 # the host's `uname -m` == ${MACHINE}.
334 #
335
336 HOST_UNAME_S!= uname -s
337 HOST_UNAME_M!= uname -m
338
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
339 installworld: .PHONY .MAKE
364a133 fix DESTDIR checks if !defined(DESTDIR)
lukem authored
340 .if (!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/")
69d1160 * Add two new (experimental) targets:
lukem authored
341 @echo "Can't make ${.TARGET} to DESTDIR=/"
342 @false
343 .endif
344 .if !defined(INSTALLWORLDDIR) || \
345 ${INSTALLWORLDDIR} == "" || ${INSTALLWORLDDIR} == "/"
346 .if (${HOST_UNAME_S} != "NetBSD")
347 @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_S} to NetBSD with INSTALLWORLDDIR=/"
348 @false
349 .endif
350 .if (${HOST_UNAME_M} != ${MACHINE})
351 @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_M} to ${MACHINE} with INSTALLWORLDDIR=/"
352 @false
353 .endif
354 .endif
8993a70 Convert lines of the form
lukem authored
355 ${MAKEDIRTARGET} distrib/sets installsets \
1da5d3c Pass down INSTALLSETS variable to installsets target. Use :Q to escape
jym authored
356 INSTALLDIR=${INSTALLWORLDDIR:U/} INSTALLSETS=${INSTALLSETS:Q}
8993a70 Convert lines of the form
lukem authored
357 ${MAKEDIRTARGET} . postinstall-check DESTDIR=${INSTALLWORLDDIR}
69d1160 * Add two new (experimental) targets:
lukem authored
358 @echo "make ${.TARGET} started at: ${START_TIME}"
359 @printf "make ${.TARGET} finished at: " && date
6cc60ff add an installmodules=<dir> command to build.sh
jmcneill authored
360
361 #
362 # Install modules from $DESTDIR to $INSTALLMODULESDIR
363 #
364 installmodules: .PHONY .MAKE
365 .if (!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/")
366 @echo "Can't make ${.TARGET} to DESTDIR=/"
367 @false
368 .endif
369 .if !defined(INSTALLMODULESDIR) || \
370 ${INSTALLMODULESDIR} == "" || ${INSTALLMODULESDIR} == "/"
371 .if (${HOST_UNAME_S} != "NetBSD")
372 @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_S} to NetBSD with INSTALLMODULESDIR=/"
373 @false
374 .endif
375 .if (${HOST_UNAME_M} != ${MACHINE})
376 @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_M} to ${MACHINE} with INSTALLMODULESDIR=/"
377 @false
378 .endif
379 .endif
b88e516 Fix typo that prevented installmodules from working with -U
jmcneill authored
380 ${MAKEDIRTARGET} sys/modules install DESTDIR=${INSTALLMODULESDIR:U/}
6cc60ff add an installmodules=<dir> command to build.sh
jmcneill authored
381 @echo "make ${.TARGET} started at: ${START_TIME}"
382 @printf "make ${.TARGET} finished at: " && date
69d1160 * Add two new (experimental) targets:
lukem authored
383
384 #
b31e270 Add "sourcesets" argument/target, which builds source sets into
lukem authored
385 # Create sets from $DESTDIR or $NETBSDSRCDIR into $RELEASEDIR
ece364c - Add "sets" top-level Makefile target and build.sh operation.
lukem authored
386 #
387
0934a2e Add a new "syspkgs" target, which simply chains to the "syspkgs" target
apb authored
388 .for tgt in sets sourcesets syspkgs
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
389 ${tgt}: .PHONY .MAKE
8993a70 Convert lines of the form
lukem authored
390 ${MAKEDIRTARGET} distrib/sets ${tgt}
b31e270 Add "sourcesets" argument/target, which builds source sets into
lukem authored
391 .endfor
ece364c - Add "sets" top-level Makefile target and build.sh operation.
lukem authored
392
393 #
4903b14 Modify "release" to invoke "make distribution" instead of "make build",
lukem authored
394 # Build a release or snapshot (implies "make distribution"). Note that
12ac6dc After running the body of the "distribution" target, do a "checkflist…
thorpej authored
395 # in this case, the set lists will be checked before the tar files
396 # are made.
69d1160 * Add two new (experimental) targets:
lukem authored
397 #
c76af6d fix PR#12832: split `make build' up into these steps (from new the
mrg authored
398
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
399 release snapshot: .PHONY .MAKE
4903b14 Modify "release" to invoke "make distribution" instead of "make build",
lukem authored
400 ${MAKEDIRTARGET} . distribution
401 ${MAKEDIRTARGET} etc release DISTRIBUTION_DONE=1
092e768 improve previous; show times at end of distribution/release/snapshot …
lukem authored
402 @echo "make ${.TARGET} started at: ${START_TIME}"
cf09c55 print date when make {distribution,release,snapshot} finished
lukem authored
403 @printf "make ${.TARGET} finished at: " && date
c76af6d fix PR#12832: split `make build' up into these steps (from new the
mrg authored
404
69d1160 * Add two new (experimental) targets:
lukem authored
405 #
468bd5d * Add an "iso-image" target in the top level Makefile,
apb authored
406 # Create a CD-ROM image.
407 #
408
409 iso-image: .PHONY
fd7849c Add an iso_image target (iso-image as a target name doesn't play well…
bouyer authored
410 ${MAKEDIRTARGET} distrib iso_image
468bd5d * Add an "iso-image" target in the top level Makefile,
apb authored
411 ${MAKEDIRTARGET} etc iso-image
412 @echo "make ${.TARGET} started at: ${START_TIME}"
413 @printf "make ${.TARGET} finished at: " && date
414
82d4f8d Add an iso-image-source option which does the same thing as iso-image…
jnemeth authored
415 iso-image-source: .PHONY
416 ${MAKEDIRTARGET} distrib iso_image CDSOURCE=true
417 ${MAKEDIRTARGET} etc iso-image
418 @echo "make ${.TARGET} started at: ${START_TIME}"
419 @printf "make ${.TARGET} finished at: " && date
420
468bd5d * Add an "iso-image" target in the top level Makefile,
apb authored
421 #
b9a53cc Add "live-image" and "install-image" target support to build.sh.
tsutsui authored
422 # Create bootable live images.
423 #
424
425 live-image: .PHONY
426 ${MAKEDIRTARGET} etc live-image
427 @echo "make ${.TARGET} started at: ${START_TIME}"
428 @printf "make ${.TARGET} finished at: " && date
429
430 #
431 # Create bootable installation images.
432 #
433
434 install-image: .PHONY
435 ${MAKEDIRTARGET} etc install-image
436 @echo "make ${.TARGET} started at: ${START_TIME}"
437 @printf "make ${.TARGET} finished at: " && date
438
439 #
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
440 # Special components of the "make build" process.
69d1160 * Add two new (experimental) targets:
lukem authored
441 #
c76af6d fix PR#12832: split `make build' up into these steps (from new the
mrg authored
442
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
443 check-tools: .PHONY
b97d965 Consistently check ${TOOLCHAIN_MISSING} against "no".
lukem authored
444 .if ${TOOLCHAIN_MISSING} != "no" && !defined(EXTERNAL_TOOLCHAIN)
b645c30 * Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
thorpej authored
445 @echo '*** WARNING: Building on MACHINE=${MACHINE} with missing toolchain.'
446 @echo '*** May result in a failed build or corrupt binaries!'
447 .elif defined(EXTERNAL_TOOLCHAIN)
448 @echo '*** Using external toolchain rooted at ${EXTERNAL_TOOLCHAIN}.'
ca06aeb Warn when "make build" is started with USE_NEW_TOOLCHAIN on a platfor…
tv authored
449 .endif
c74b501 Correct BUGS in BUILDING.mdoc now that most ports are USE_NEW_TOOLCHAIN
sommerfeld authored
450 .if defined(NBUILDJOBS)
451 @echo '*** WARNING: NBUILDJOBS is obsolete; use -j directly instead!'
452 .endif
ca06aeb Warn when "make build" is started with USE_NEW_TOOLCHAIN on a platfor…
tv authored
453
71531eb Make clean_METALOG in distrib/sets early in the build, to ensure that
apb authored
454 # Delete or sanitise a leftover METALOG from a previous build.
455 clean_METALOG: .PHONY .MAKE
456 .if ${MKUPDATE} != "no"
457 ${MAKEDIRTARGET} distrib/sets clean_METALOG
458 .endif
459
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
460 do-distrib-dirs: .PHONY .MAKE
bb154af Add back logic which forces DESTDIR=/ for the distrib-dirs rule if it…
jmc authored
461 .if !defined(DESTDIR) || ${DESTDIR} == ""
8993a70 Convert lines of the form
lukem authored
462 ${MAKEDIRTARGET} etc distrib-dirs DESTDIR=/
bb154af Add back logic which forces DESTDIR=/ for the distrib-dirs rule if it…
jmc authored
463 .else
8993a70 Convert lines of the form
lukem authored
464 ${MAKEDIRTARGET} etc distrib-dirs DESTDIR=${DESTDIR}
bb154af Add back logic which forces DESTDIR=/ for the distrib-dirs rule if it…
jmc authored
465 .endif
c76af6d fix PR#12832: split `make build' up into these steps (from new the
mrg authored
466
2205992 Add do-{target} aliases for: cleandir obj includes
lukem authored
467 .for targ in cleandir obj includes
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
468 do-${targ}: .PHONY ${targ}
2205992 Add do-{target} aliases for: cleandir obj includes
lukem authored
469 @true
470 .endfor
471
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
472 .if defined(HAVE_GCC)
85fe8f8 Centralise USE_COMPILERCRTSTUFF.
skrll authored
473 .if ${USE_COMPILERCRTSTUFF} == "yes"
205635d fix the parts that build libgcc/crtstuff, etc., for GCC 4.5.
mrg authored
474 BUILD_CC_LIB= ${BUILD_CC_LIB_BASEDIR}/crtstuff${LIBGCC_EXT}
85fe8f8 Centralise USE_COMPILERCRTSTUFF.
skrll authored
475 .endif
205635d fix the parts that build libgcc/crtstuff, etc., for GCC 4.5.
mrg authored
476 BUILD_CC_LIB+= ${BUILD_CC_LIB_BASEDIR}/libgcc${LIBGCC_EXT}
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
477 .elif defined(HAVE_PCC)
478 BUILD_CC_LIB+= external/bsd/pcc/crtstuff
479 BUILD_CC_LIB+= external/bsd/pcc/libpcc
480 .endif
481
4cb28da Remove the do-external-lib and do-gnu-lib targets, along with
plunky authored
482 .for dir in tools tools/compat lib/csu ${BUILD_CC_LIB} lib/libc lib sys/rump/dev/lib sys/rump/fs/lib sys/rump/kern/lib sys/rump/net/lib sys/modules
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
483 do-${dir:S/\//-/g}: .PHONY .MAKE
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
484 .for targ in dependall install
8993a70 Convert lines of the form
lukem authored
485 ${MAKEDIRTARGET} ${dir} ${targ}
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
486 .endfor
487 .endfor
b9e597f Re-add intermediate dependall/install targets (do-lib-csu, do-lib,
tv authored
488
8db3434 adjust the do-compat-* rules now that src/compat/lib and friends no l…
mrg authored
489 .if ${MKCOMPAT} != "no"
490 COMPAT_SUBDIR_LIST=lib/csu ${BUILD_CC_LIB} lib/libc
491 .for dir in ${COMPAT_SUBDIR_LIST}
492 do-compat-${dir:S/\//-/g}: .PHONY .MAKE
4cb28da Remove the do-external-lib and do-gnu-lib targets, along with
plunky authored
493 .for targ in dependall install
8db3434 adjust the do-compat-* rules now that src/compat/lib and friends no l…
mrg authored
494 ${MAKEDIRTARGET} compat ${targ} BOOTSTRAP_SUBDIRS="../../../${dir}"
495 .endfor
496 .endfor
497 .endif
498
5b60ec5 Add a do-top-obj target, which builds the top-level obj directory.
apb authored
499 do-top-obj: .PHONY .MAKE
500 ${MAKEDIRTARGET} . obj NOSUBDIR=
501
07f4031 Defer the "make obj" step until after tools are built and installed.
apb authored
502 do-tools-obj: .PHONY .MAKE
503 ${MAKEDIRTARGET} tools obj
504
26b7b01 Provide 'do-libgcc' to build gnu/lib/crtstuff${LIBGCC_EXT} (if necess…
lukem authored
505 do-libgcc: .PHONY .MAKE
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
506 .if defined(HAVE_GCC)
26b7b01 Provide 'do-libgcc' to build gnu/lib/crtstuff${LIBGCC_EXT} (if necess…
lukem authored
507 .if ${MKGCC} != "no"
85fe8f8 Centralise USE_COMPILERCRTSTUFF.
skrll authored
508 .if ${USE_COMPILERCRTSTUFF} == "yes"
205635d fix the parts that build libgcc/crtstuff, etc., for GCC 4.5.
mrg authored
509 ${MAKEDIRTARGET} . do-${BUILD_CC_LIB_BASETARGET}-crtstuff${LIBGCC_EXT}
26b7b01 Provide 'do-libgcc' to build gnu/lib/crtstuff${LIBGCC_EXT} (if necess…
lukem authored
510 .endif
205635d fix the parts that build libgcc/crtstuff, etc., for GCC 4.5.
mrg authored
511 ${MAKEDIRTARGET} . do-${BUILD_CC_LIB_BASETARGET}-libgcc${LIBGCC_EXT}
26b7b01 Provide 'do-libgcc' to build gnu/lib/crtstuff${LIBGCC_EXT} (if necess…
lukem authored
512 .endif
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
513 .endif
514
82ead09 - enable 32-bit library builds on amd64 and sparc64
mrg authored
515 do-compat-libgcc: .PHONY .MAKE
516 .if defined(HAVE_GCC)
517 .if ${MKGCC} != "no"
85fe8f8 Centralise USE_COMPILERCRTSTUFF.
skrll authored
518 .if ${USE_COMPILERCRTSTUFF} == "yes"
205635d fix the parts that build libgcc/crtstuff, etc., for GCC 4.5.
mrg authored
519 ${MAKEDIRTARGET} . do-compat-${BUILD_CC_LIB_BASETARGET}-crtstuff${LIBGCC_EXT}
85fe8f8 Centralise USE_COMPILERCRTSTUFF.
skrll authored
520 .endif
205635d fix the parts that build libgcc/crtstuff, etc., for GCC 4.5.
mrg authored
521 ${MAKEDIRTARGET} . do-compat-${BUILD_CC_LIB_BASETARGET}-libgcc${LIBGCC_EXT}
82ead09 - enable 32-bit library builds on amd64 and sparc64
mrg authored
522 .endif
523 .endif
524
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
525 do-libpcc: .PHONY .MAKE
526 .if defined(HAVE_PCC)
527 .if ${MKPCC} != "no"
85fe8f8 Centralise USE_COMPILERCRTSTUFF.
skrll authored
528 .if ${USE_COMPILERCRTSTUFF} == "yes"
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
529 ${MAKEDIRTARGET} . do-pcc-lib-crtstuff
85fe8f8 Centralise USE_COMPILERCRTSTUFF.
skrll authored
530 .endif
92539dc Build pcc and pcc-based crtstuff if using pcc compiler.
gmcgarry authored
531 ${MAKEDIRTARGET} . do-pcc-lib-libpcc
532 .endif
533 .endif
26b7b01 Provide 'do-libgcc' to build gnu/lib/crtstuff${LIBGCC_EXT} (if necess…
lukem authored
534
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
535 do-ld.so: .PHONY .MAKE
1d3f1b5 add "do-ld.elf_so" target, which builds & installs libexec/ld.elf_so.
lukem authored
536 .for targ in dependall install
8993a70 Convert lines of the form
lukem authored
537 ${MAKEDIRTARGET} libexec/ld.elf_so ${targ}
1d3f1b5 add "do-ld.elf_so" target, which builds & installs libexec/ld.elf_so.
lukem authored
538 .endfor
539
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
540 do-build: .PHONY .MAKE
c46e0aa Rather than build in `tools' and `lib' twice, build `tools' and `lib'
tv authored
541 .for targ in dependall install
8993a70 Convert lines of the form
lukem authored
542 ${MAKEDIRTARGET} . ${targ} BUILD_tools=no BUILD_lib=no
c46e0aa Rather than build in `tools' and `lib' twice, build `tools' and `lib'
tv authored
543 .endfor
7413e10 add some new targets to DTRT when installing/building
cgd authored
544
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
545 do-x11: .PHONY .MAKE
4694719 - retire MKXORG from public use
mrg authored
546 .if ${MKX11} != "no"
547 .if ${X11FLAVOUR} == "Xorg"
b58283f if MKXORG != no, use external/mit/xorg subdir instead of x11 subdir for
mrg authored
548 ${MAKEDIRTARGET} external/mit/xorg build
4694719 - retire MKXORG from public use
mrg authored
549 .else
8993a70 Convert lines of the form
lukem authored
550 ${MAKEDIRTARGET} x11 build
4694719 - retire MKXORG from public use
mrg authored
551 .endif
a0a02de Improve support for MKXORG!=no to enable builds into external/mit/xorg.
lukem authored
552 .else
4694719 - retire MKXORG from public use
mrg authored
553 @echo "MKX11 is not enabled"
a0a02de Improve support for MKXORG!=no to enable builds into external/mit/xorg.
lukem authored
554 @false
b58283f if MKXORG != no, use external/mit/xorg subdir instead of x11 subdir for
mrg authored
555 .endif
19423fd Implement do-x11, to run "make build" in ./x11/
lukem authored
556
358f392 Support "extsrc", externally added programs and libraries. Users can…
uebayasi authored
557 do-extsrc: .PHONY .MAKE
558 .if ${MKEXTSRC} != "no"
559 ${MAKEDIRTARGET} extsrc build
560 .else
561 @echo "MKEXTSRC is not enabled"
562 @false
563 .endif
564
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
565 do-obsolete: .PHONY .MAKE
8993a70 Convert lines of the form
lukem authored
566 ${MAKEDIRTARGET} etc install-obsolete-lists
431157a all:
lukem authored
567
69d1160 * Add two new (experimental) targets:
lukem authored
568 #
c210e5b Overhaul and simplify the top level Makefile, and add some sanity che…
tv authored
569 # Speedup stubs for some subtrees that don't need to run these rules.
570 # (Tells <bsd.subdir.mk> not to recurse for them.)
69d1160 * Add two new (experimental) targets:
lukem authored
571 #
f03f6b1 Add release and snapshot targets. (They do the same thing.)
cjs authored
572
aa216b0 Pull up following revision(s) (requested by veego in ticket #238):
riz authored
573 .for dir in bin etc distrib games libexec regress sbin usr.bin usr.sbin tools
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
574 includes-${dir}: .PHONY
85a68ff Major overhaul of src/tools and host toolchain. Summary of changes:
tv authored
575 @true
576 .endfor
577 .for dir in etc distrib regress
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
578 install-${dir}: .PHONY
85a68ff Major overhaul of src/tools and host toolchain. Summary of changes:
tv authored
579 @true
580 .endfor
581
69d1160 * Add two new (experimental) targets:
lukem authored
582 #
85a68ff Major overhaul of src/tools and host toolchain. Summary of changes:
tv authored
583 # XXX this needs to change when distrib Makefiles are recursion compliant
69d1160 * Add two new (experimental) targets:
lukem authored
584 # XXX many distrib subdirs need "cd etc && make snap_pre snap_kern" first...
585 #
f1173c1 Apply the .PHONY attribute where appropriate.
lukem authored
586 dependall-distrib depend-distrib all-distrib: .PHONY
6f15fa2 Use @true instead of @${TRUE} in includes-foo targets, since there is no
nathanw authored
587 @true
8626600 - Remove the include of Makefile.tools; this will be done elsewhere.
tv authored
588
919514d Rename a large chunk of the make(1) variables which refer to a
lukem authored
589 .include <bsd.sys.mk>
4fc1f4e Create an objdir here for storage of timestamps, build-wide data, and so
tv authored
590 .include <bsd.obj.mk>
e496a61 Add "params" target, to display the value of various variables.
lukem authored
591 .include <bsd.kernobj.mk>
79154dd * Always descend into "tools" regardless of USETOOLS setting. Instead,
tv authored
592 .include <bsd.subdir.mk>
45e2272 Add rules for generating plaintext and HTML versions of the "BUILDING"
tv authored
593
e496a61 Add "params" target, to display the value of various variables.
lukem authored
594 #
595 # Display current make(1) parameters
596 #
e636f08 Add .MAKE to all targets that use ${MAKEDIRTARGET} otherwise make closes
dsl authored
597 params: .PHONY .MAKE
8993a70 Convert lines of the form
lukem authored
598 ${MAKEDIRTARGET} etc params
Something went wrong with that request. Please try again.