Document:

*	build.sh -i idir
    *	top level targets:   distribution, buildworld, installworld
    *	top level variables: INSTALLWORLDDIR
This commit is contained in:
lukem 2002-12-25 00:58:00 +00:00
parent 5fa3f8b6b1
commit 1c855902af
2 changed files with 113 additions and 45 deletions

View File

@ -282,49 +282,54 @@ CONFIGURATION
These variables only affect the top level ``Makefile'' and do not affect These variables only affect the top level ``Makefile'' and do not affect
manually building subtrees of the NetBSD source code. manually building subtrees of the NetBSD source code.
MKOBJDIRS Can be set to ``yes'' or ``no''. Indicates whether object INSTALLWORLDDIR Location for the ``make installworld'' target to install
directories will be created automatically (via a ``make to.
obj'' pass) at the start of a build.
Default: ``/''
MKOBJDIRS Can be set to ``yes'' or ``no''. Indicates whether ob-
ject directories will be created automatically (via a
``make obj'' pass) at the start of a build.
Default: ``yes'' Default: ``yes''
NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see be- NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see
low) below)
Default: Unset. Default: Unset.
NOCLEANDIR If set, avoids the ``make cleandir'' phase of a full NOCLEANDIR If set, avoids the ``make cleandir'' phase of a full
build. This has the effect of allowing only changed files build. This has the effect of allowing only changed
in a source tree to be recompiled. This can speed up files in a source tree to be recompiled. This can speed
builds when updating only a few files in the tree. up builds when updating only a few files in the tree.
Default: Unset. Default: Unset.
NODISTRIBDIRS If set, avoids the ``make distrib-dirs'' phase of a full NODISTRIBDIRS If set, avoids the ``make distrib-dirs'' phase of a full
build. This skips running mtree(8) on DESTDIR, useful on build. This skips running mtree(8) on DESTDIR, useful
systems where building as an unprivileged user, or where on systems where building as an unprivileged user, or
it is known that the system-wide mtree files have not where it is known that the system-wide mtree files have
changed. not changed.
Default: Unset. Default: Unset.
NOINCLUDES If set, avoids the ``make includes'' phase of a full NOINCLUDES If set, avoids the ``make includes'' phase of a full
build. This has the effect of preventing make(1) from build. This has the effect of preventing make(1) from
thinking that some programs are out-of-date simply because thinking that some programs are out-of-date simply be-
the system include files have changed. However, this op- cause the system include files have changed. However,
tion should not be used when updating the entire NetBSD this option should not be used when updating the entire
source tree arbitrarily; it is suggested to use UPDATE in NetBSD source tree arbitrarily; it is suggested to use
that case. UPDATE in that case.
Default: Unset. Default: Unset.
RELEASEDIR If set, specifies the directory to which a release(7) lay- RELEASEDIR If set, specifies the directory to which a release(7)
out will be written at the end of a ``make release''. layout will be written at the end of a ``make release''.
Default: Unset. Default: Unset.
UPDATE If set, then in addition to the effects described for UP- UPDATE If set, then in addition to the effects described for
DATE above, this implies the effects of NOCLEANDIR. UPDATE above, this implies the effects of NOCLEANDIR.
BUILDING BUILDING
"make" command line options "make" command line options
@ -400,18 +405,32 @@ BUILDING
Additional make(1) targets are usable specifically from the top source Additional make(1) targets are usable specifically from the top source
level to facilitate building the entire NetBSD source tree. level to facilitate building the entire NetBSD source tree.
build Build the entire NetBSD system. This orders portions of the build Build the entire NetBSD system. This orders portions of
source tree such that prerequisites will be built in the prop- the source tree such that prerequisites will be built in
er order. the proper order.
release Do a ``make build'', then package the system into a standard distribution Do a ``make build'', and then install a full distribution
release layout as described by release(7). This requires that into DESTDIR.
RELEASEDIR be set (see above).
buildworld As per ``make distribution'', except that it ensures that
DESTDIR is not the root directory.
installworld Install the distribution from DESTDIR to INSTALLWORLDDIR
(which defaults to the root directory). Ensures that
INSTALLWORLDDIR is the not root directory if cross compil-
ing.
Note: It is highly recommended that you upgrade your kernel
and reboot before performing this operation.
release Do a ``make build'', then package the system into a stan-
dard release layout as described by release(7). This re-
quires that RELEASEDIR be set (see above).
regression-tests regression-tests
Can only be run after building the regression tests in the di- Can only be run after building the regression tests in the
rectory ``regress''. Runs the compiled regression tests on directory ``regress''. Runs the compiled regression tests
the local host. on the local host.
The "build.sh" script The "build.sh" script
This script file is a Bourne shell script designed to build the entire This script file is a Bourne shell script designed to build the entire
@ -454,6 +473,11 @@ BUILDING
-E Set `expert' mode; DESTDIR does not have to be set to a non- -E Set `expert' mode; DESTDIR does not have to be set to a non-
root path for builds when this is set. root path for builds when this is set.
-i installworlddir
Install the contents of DESTDIR to installworlddir after all
other operations have completed, using the top level
``installworld'' target.
-j njob Passed through to make(1). Makefiles should use .WAIT or have -j njob Passed through to make(1). Makefiles should use .WAIT or have
explicit dependancies as necessary to enforce build ordering. explicit dependancies as necessary to enforce build ordering.
If you see build failures with -j, please save complete build If you see build failures with -j, please save complete build
@ -568,4 +592,4 @@ HISTORY
BUGS BUGS
A few platforms are not yet using this build system. A few platforms are not yet using this build system.
NetBSD December 8, 2002 9 NetBSD December 25, 2002 9

View File

@ -1,4 +1,4 @@
.\" $NetBSD: BUILDING.mdoc,v 1.6 2002/12/18 19:46:48 wiz Exp $ .\" $NetBSD: BUILDING.mdoc,v 1.7 2002/12/25 00:58:01 lukem Exp $
.\" .\"
.\" Copyright (c) 2001, 2002 The NetBSD Foundation, Inc. .\" Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
.\" All rights reserved. .\" All rights reserved.
@ -38,7 +38,7 @@
.\" NOTE: After changing this file, run "make build-docs" to generate the .\" NOTE: After changing this file, run "make build-docs" to generate the
.\" proper plaintext versions, and check in all BUILDING.* files! .\" proper plaintext versions, and check in all BUILDING.* files!
.\" .\"
.Dd December 8, 2002 .Dd December 25, 2002
.Dt BUILDING 8 .Dt BUILDING 8
.Os NetBSD .Os NetBSD
. .
@ -517,7 +517,14 @@ and do not affect manually building subtrees of the
.Nx .Nx
source code. source code.
. .
.Bl -tag -width "NODISTRIBDIRS" .Bl -tag -width "INSTALLWORLDDIR"
.
.It Sy INSTALLWORLDDIR
Location for the
.Dq make installworld
target to install to.
.DFLT
.Dq /
. .
.It Sy MKOBJDIRS .It Sy MKOBJDIRS
.YorN .YorN
@ -734,7 +741,7 @@ building the entire
.Nx .Nx
source tree. source tree.
. .
.Bl -tag -width "dependall" .Bl -tag -width "distribution"
. .
.It Sy build .It Sy build
Build the entire Build the entire
@ -743,6 +750,34 @@ system.
This orders portions of the source tree such that prerequisites This orders portions of the source tree such that prerequisites
will be built in the proper order. will be built in the proper order.
. .
.It Sy distribution
Do a
.Dq make build ,
and then install a full distribution into
.Sy DESTDIR .
.
.It Sy buildworld
As per
.Dq make distribution ,
except that it ensures that
.Sy DESTDIR
is not the root directory.
.
.
.It Sy installworld
Install the distribution from
.Sy DESTDIR
to
.Sy INSTALLWORLDDIR
(which defaults to the root directory).
Ensures that
.Sy INSTALLWORLDDIR
is the not root directory if cross compiling.
.Pp
.Em Note :
It is highly recommended that you upgrade your kernel and reboot
before performing this operation.
.
.It Sy release .It Sy release
Do a Do a
.Dq make build , .Dq make build ,
@ -851,6 +886,15 @@ mode;
.Sy DESTDIR .Sy DESTDIR
does not have to be set to a non-root path for builds when this is set. does not have to be set to a non-root path for builds when this is set.
. .
.It Fl i Ar installworlddir
Install the contents of
.Dv DESTDIR
to
.Ar installworlddir
after all other operations have completed, using the top level
.Dq installworld
target.
.
.It Fl j Ar njob .It Fl j Ar njob
Passed through to Passed through to
.Xr make 1 . .Xr make 1 .