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

106
BUILDING
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: ``yes'' Default: ``/''
NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see be- MKOBJDIRS Can be set to ``yes'' or ``no''. Indicates whether ob-
low) ject directories will be created automatically (via a
``make obj'' pass) at the start of a build.
Default: Unset. Default: ``yes''
NOCLEANDIR If set, avoids the ``make cleandir'' phase of a full NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see
build. This has the effect of allowing only changed files below)
in a source tree to be recompiled. This can speed 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 NOCLEANDIR If set, avoids the ``make cleandir'' phase of a full
build. This skips running mtree(8) on DESTDIR, useful on build. This has the effect of allowing only changed
systems where building as an unprivileged user, or where files in a source tree to be recompiled. This can speed
it is known that the system-wide mtree files have not up builds when updating only a few files in the tree.
changed.
Default: Unset. Default: Unset.
NOINCLUDES If set, avoids the ``make includes'' phase of a full NODISTRIBDIRS If set, avoids the ``make distrib-dirs'' phase of a full
build. This has the effect of preventing make(1) from build. This skips running mtree(8) on DESTDIR, useful
thinking that some programs are out-of-date simply because on systems where building as an unprivileged user, or
the system include files have changed. However, this op- where it is known that the system-wide mtree files have
tion should not be used when updating the entire NetBSD not changed.
source tree arbitrarily; it is suggested to use UPDATE in
that case.
Default: Unset. Default: Unset.
RELEASEDIR If set, specifies the directory to which a release(7) lay- NOINCLUDES If set, avoids the ``make includes'' phase of a full
out will be written at the end of a ``make release''. build. This has the effect of preventing make(1) from
thinking that some programs are out-of-date simply be-
cause the system include files have changed. However,
this option should not be used when updating the entire
NetBSD source tree arbitrarily; it is suggested to use
UPDATE in that case.
Default: Unset. Default: Unset.
UPDATE If set, then in addition to the effects described for UP- RELEASEDIR If set, specifies the directory to which a release(7)
DATE above, this implies the effects of NOCLEANDIR. layout will be written at the end of a ``make release''.
Default: Unset.
UPDATE If set, then in addition to the effects described for
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 .