version 1.33, 2003/05/17 08:10:40 |
version 1.38, 2003/07/18 08:38:10 |
|
|
|
|
FILES |
FILES |
Source tree layout |
Source tree layout |
|
|
doc/BUILDING.mdoc |
doc/BUILDING.mdoc |
This document (in -mdoc troff format; the original copy). |
This document (in -mdoc troff format; the original copy). |
|
|
|
|
|
|
MAKEOBJDIR Directory to use as the .OBJDIR for the current direc- |
MAKEOBJDIR Directory to use as the .OBJDIR for the current direc- |
tory. Used only if MAKEOBJDIRPREFIX is not defined. |
tory. Used only if MAKEOBJDIRPREFIX is not defined. |
MAKEOBJDIR can only be provided in the environment. |
MAKEOBJDIR can only be provided in the environment or |
|
via the -M flag of build.sh. |
|
|
MAKEOBJDIRPREFIX Top level directory of the object directory tree. If |
MAKEOBJDIRPREFIX Top level directory of the object directory tree. If |
this is defined, ${MAKEOBJDIRPREFIX}/${.CURDIR} is used |
this is defined, ${MAKEOBJDIRPREFIX}/${.CURDIR} is used |
as the .OBJDIR for the current directory. The current |
as the .OBJDIR for the current directory. The current |
directory may be read only. MAKEOBJDIRPREFIX can only |
directory may be read only. MAKEOBJDIRPREFIX can only |
be provided in the environment. |
be provided in the environment or via the -M flag of |
|
build.sh. |
|
|
"make" variables |
"make" variables |
Several variables control the behavior of NetBSD builds. Unless other- |
Several variables control the behavior of NetBSD builds. Unless other- |
|
|
|
|
Default: ``yes'' |
Default: ``yes'' |
|
|
|
MKUNPRIVED Can be set to ``yes'' or ``no''. Indicates whether an un- |
|
privileged install will occur. The user, group, permissions, |
|
and file flags, will not be set on the installed item; in- |
|
stead the information will be appended to a file called |
|
METALOG in DESTDIR. The contents of METALOG is used during |
|
the generation of the distribution tar files to ensure that |
|
the appropriate file ownership is stored. |
|
|
|
Default: ``no'' |
|
|
|
MKUPDATE Can be set to ``yes'' or ``no''. Indicates whether all in- |
|
stall operations intended to write to DESTDIR will compare |
|
file timestamps before installing, and skip the install phase |
|
if the destination files are up-to-date. This also has im- |
|
plications on full builds (see next subsection). |
|
|
|
Default: ``no'' |
|
|
TOOLDIR Directory to hold the host tools, once built. This directory |
TOOLDIR Directory to hold the host tools, once built. This directory |
should be unique to a given host system and NetBSD source |
should be unique to a given host system and NetBSD source |
tree. (However, multiple targets may share the same TOOLDIR; |
tree. (However, multiple targets may share the same TOOLDIR; |
|
|
|
|
Default: Unset. |
Default: Unset. |
|
|
UNPRIVED If set, then an unprivileged install will occur. The user, |
|
group, permissions, and file flags, will not be set on the |
|
installed item; instead the information will be appended to a |
|
file called METALOG in DESTDIR. The contents of METALOG is |
|
used during the generation of the distribution tar files to |
|
ensure that the appropriate file ownership is stored. |
|
|
|
Default: Unset. |
|
|
|
UPDATE If set, then all install operations intended to write to |
|
DESTDIR will compare file timestamps before installing, and |
|
skip the install phase if the destination files are up-to- |
|
date. This also has implications on full builds (see next |
|
subsection). |
|
|
|
Default: Unset. |
|
|
|
USETOOLS Indicates whether the tools specified by TOOLDIR should be |
USETOOLS Indicates whether the tools specified by TOOLDIR should be |
used as part of a build in progress. Must be set to ``yes'' |
used as part of a build in progress. Must be set to ``yes'' |
if cross-compiling. |
if cross-compiling. |
|
|
ject directories will be created automatically (via a |
ject directories will be created automatically (via a |
``make obj'' pass) at the start of a build. |
``make obj'' pass) at the start of a build. |
|
|
Default: ``yes'' |
Default: ``no'' |
|
|
|
MKUPDATE Can be set to ``yes'' or ``no''. If set, then in addi- |
|
tion to the effects described for MKUPDATE=yes above, |
|
this implies the effects of NOCLEANDIR (i.e., ``make |
|
cleandir'' is avoided). |
|
|
|
Default: ``no'' |
|
|
NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see |
NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see |
below) |
below) |
|
|
cause the system include files have changed. However, |
cause the system include files have changed. However, |
this option should not be used when updating the entire |
this option should not be used when updating the entire |
NetBSD source tree arbitrarily; it is suggested to use |
NetBSD source tree arbitrarily; it is suggested to use |
UPDATE in that case. |
MKUPDATE=yes in that case. |
|
|
Default: Unset. |
Default: Unset. |
|
|
|
|
Note: build.sh will provide a default of releasedir (in |
Note: build.sh will provide a default of releasedir (in |
the top-level .OBJDIR) unless run in `expert' mode |
the top-level .OBJDIR) unless run in `expert' mode |
|
|
UPDATE If set, then in addition to the effects described for |
|
UPDATE above, this implies the effects of NOCLEANDIR |
|
(i.e., ``make cleandir'' is avoided). |
|
|
|
BUILDING |
BUILDING |
"make" command line options |
"make" command line options |
This is only a summary of options available to make(1); only the options |
This is only a summary of options available to make(1); only the options |
|
|
|
|
tools Build and install the host tools from src/tools. |
tools Build and install the host tools from src/tools. |
|
|
|
install=idir Install the contents of DESTDIR to idir, using ``make |
|
installworld''. |
|
|
kernel=kconf Build a new kernel. The kconf argument is the name of a |
kernel=kconf Build a new kernel. The kconf argument is the name of a |
configuration file suitable for use by config(8). If kconf |
configuration file suitable for use by config(8). If kconf |
does not contain any `/' characters, the configuration file |
does not contain any `/' characters, the configuration file |
|
|
date tools, it is strongly recommended that the tools be |
date tools, it is strongly recommended that the tools be |
rebuilt (using the tools operation). |
rebuilt (using the tools operation). |
|
|
install=idir Install the contents of DESTDIR to idir, using ``make |
releasekernel=kconf |
installworld''. |
Install a gzip(1)ed copy of the kernel built by |
|
kernel=kconf into RELEASEDIR/MACHINE/binary/kernel, usually |
|
as netbsd-kconf.gz, although the ``netbsd'' prefix is de- |
|
termined from the ``config'' directives in kconf. |
|
|
sets Perform ``make sets''. |
sets Perform ``make sets''. |
|
|
|
|
-B buildid |
-B buildid |
Set the value of BUILDID to buildid. This will also append the |
Set the value of BUILDID to buildid. This will also append the |
build idenfitier to the name of the ``make'' wrapper script so |
build idenfitier to the name of the ``make'' wrapper script so |
that the resulting name is of the form ``nbmake-MACHINE- |
that the resulting name is of the form |
BUILDID''. |
``nbmake-MACHINE-BUILDID''. |
|
|
-D dest Set the value of DESTDIR to dest. |
-D dest Set the value of DESTDIR to dest. |
|
|
-E Set `expert' mode. This overrides various sanity checks, and |
-E Set `expert' mode. This overrides various sanity checks, and |
allows: DESTDIR does not have to be set to a non-root path for |
allows: DESTDIR does not have to be set to a non-root path for |
builds, and UNPRIVED does not have to be set when building as a |
builds, and MKUNPRIVED=yes does not have to be set when build- |
non-root user. |
ing as a non-root user. |
|
|
Note: It is highly recommended that you know what you are doing |
Note: It is highly recommended that you know what you are doing |
when you use this option. |
when you use this option. |
|
|
ting of /usr/obj will place build-time files under |
ting of /usr/obj will place build-time files under |
/usr/obj/bin, /usr/obj/lib, and so forth. |
/usr/obj/bin, /usr/obj/lib, and so forth. |
|
|
-o Set the value of MKOBJDIRS to ``no''. |
-o Set the value of MKOBJDIRS to ``no''. Otherwise, it will be |
|
automatically set to ``yes'' (which is opposite to the default |
|
behaviour). |
|
|
-R rel Set the value of RELEASEDIR to rel. |
-R rel Set the value of RELEASEDIR to rel. |
|
|
|
|
``make'' will only be rebuilt as needed (when the source files |
``make'' will only be rebuilt as needed (when the source files |
for make(1) change). |
for make(1) change). |
|
|
-U Set the UNPRIVED variable. |
-U Set MKUNPRIVED=yes. |
|
|
-u Set the UPDATE variable. |
-u Set MKUPDATE=yes. |
|
|
-V var=[value] |
-V var=[value] |
Set the variable var to value (which is optional). |
Set the variable var to value (which is optional). |
|
|
|
|
Using unprivileged mode, build a complete release to DESTDIR and |
Using unprivileged mode, build a complete release to DESTDIR and |
RELEASEDIR directories that build.sh selects (and will display). |
RELEASEDIR directories that build.sh selects (and will display). |
UPDATE (-u) is set to prevent the ``make cleandir'', so that if this |
MKUPDATE=yes (-u) is set to prevent the ``make cleandir'', so that |
is run after example 2, it doesn't need to redo that portion of the |
if this is run after example 2, it doesn't need to redo that portion |
release build. |
of the release build. |
|
|
OBSOLETE VARIABLES |
OBSOLETE VARIABLES |
NBUILDJOBS Use the make(1) option -j, instead. |
NBUILDJOBS Use the make(1) option -j, instead. |
|
|
BUGS |
BUGS |
A few platforms are not yet using this build system. |
A few platforms are not yet using this build system. |
|
|
NetBSD May 17, 2003 10 |
NetBSD July 18, 2003 NetBSD |