version 1.2, 2001/11/08 21:29:06 |
version 1.33, 2003/05/17 08:10:40 |
|
|
plementation are noted specially, as with the note below: |
plementation are noted specially, as with the note below: |
|
|
Note: This document applies only to platforms which use the new toolchain |
Note: This document applies only to platforms which use the new toolchain |
as indicated by the setting of USE_NEW_TOOLCHAIN in /etc/mk.conf or |
as indicated by the default setting of TOOLCHAIN_MISSING in <bsd.own.mk>. |
<bsd.own.mk>. Platforms which have not yet been switched to the new |
Platforms which have not yet been switched to the new toolchain should |
toolchain should continue building traditionally, using the notes speci- |
continue building traditionally, using the notes specified in the file |
fied in the file UPDATING. |
UPDATING. |
|
|
REQUIREMENTS |
REQUIREMENTS |
NetBSD is designed to be buildable on most POSIX-compliant host systems. |
NetBSD is designed to be buildable on most POSIX-compliant host systems. |
|
|
toolchain (make is not required); all other tools are created as part of |
toolchain (make is not required); all other tools are created as part of |
the NetBSD build process. |
the NetBSD build process. |
|
|
Note: A couple host toolchain components are not yet available in |
Note: A couple of host toolchain components are not yet available |
the tools directory. Also, some tools use non-POSIX, non-ANSI C |
in the tools directory. Also, some tools use non-POSIX, non-ANSI C |
extensions and need to be standardized. As a result, cross-compil- |
extensions and need to be standardized. As a result, cross-compil- |
ing from systems other than NetBSD is not currently supported. |
ing from systems other than NetBSD is not currently supported. |
|
|
FILES |
FILES |
Source tree layout |
Source tree layout |
|
|
BUILDING.mdoc This document (in -mdoc troff format; the original copy). |
doc/BUILDING.mdoc |
|
This document (in -mdoc troff format; the original copy). |
|
|
BUILDING This document (in plaintext). |
BUILDING This document (in plaintext). |
|
|
|
|
|
|
distrib/, etc/ |
distrib/, etc/ |
Sources for items used when making a full release snap- |
Sources for items used when making a full release snap- |
shot, such as files installed in /etc on the destination |
shot, such as files installed in DESTDIR/etc on the desti- |
system, boot media, and release notes. |
nation system, boot media, and release notes. |
|
|
regress/ Regression test harness. Can be cross-compiled, but only |
regress/ Regression test harness. Can be cross-compiled, but only |
run natively. |
run natively. |
|
|
described in release(7). |
described in release(7). |
|
|
CONFIGURATION |
CONFIGURATION |
|
Environment variables |
|
Several environment variables control the behaviour of NetBSD builds. |
|
|
|
MACHINE Machine type. |
|
|
|
MACHINE_ARCH Machine architecture. |
|
|
|
MAKE Path name to invoke make(1) as. |
|
|
|
MAKEFLAGS Flags to invoke make(1) with. |
|
|
|
MAKEOBJDIR Directory to use as the .OBJDIR for the current direc- |
|
tory. Used only if MAKEOBJDIRPREFIX is not defined. |
|
MAKEOBJDIR can only be provided in the environment. |
|
|
|
MAKEOBJDIRPREFIX Top level directory of the object directory tree. If |
|
this is defined, ${MAKEOBJDIRPREFIX}/${.CURDIR} is used |
|
as the .OBJDIR for the current directory. The current |
|
directory may be read only. MAKEOBJDIRPREFIX can only |
|
be provided in the environment. |
|
|
"make" variables |
"make" variables |
Several variables control the behavior of NetBSD builds. Unless other- |
Several variables control the behavior of NetBSD builds. Unless other- |
wise specified, these variables may be set in either the process environ- |
wise specified, these variables may be set in either the process environ- |
ment or the make(1) configuration file specified by MAKECONF. |
ment or the make(1) configuration file specified by MAKECONF. |
|
|
|
BUILDID Identifier for the build. The identifier will be appended to |
|
object directory names, and can be consulted in the make(1) |
|
configuration file in order to set additional build parame- |
|
ters, such as compiler flags. |
|
|
DESTDIR Directory to contain the built NetBSD system. If set, spe- |
DESTDIR Directory to contain the built NetBSD system. If set, spe- |
cial options are passed to the compilation tools to prevent |
cial options are passed to the compilation tools to prevent |
their default use of the host system's /usr/include, |
their default use of the host system's /usr/include, |
/usr/lib, and so forth. This pathname should not end with a |
/usr/lib, and so forth. This pathname should not end with a |
slash (/) character (for installation into the system's root |
slash (/) character (for installation into the system's root |
directory, set DESTDIR to an empty string). |
directory, set DESTDIR to an empty string). The directory |
|
must reside on a file system which supports long file names |
|
and hard links. |
|
|
Default: Empty string if USETOOLS is ``yes''; unset other- |
Default: Empty string if USETOOLS is ``yes''; unset other- |
wise. |
wise. |
|
|
|
Note: build.sh will provide a default of destdir.MACHINE (in |
|
the top-level .OBJDIR) unless run in `expert' mode |
|
|
MAKECONF The name of the make(1) configuration file. Only settable in |
MAKECONF The name of the make(1) configuration file. Only settable in |
the process environment. |
the process environment. |
|
|
|
|
Default: ``yes'' |
Default: ``yes'' |
|
|
MKDOC Can be set to ``yes'' or ``no''. Indicates whether system |
MKDOC Can be set to ``yes'' or ``no''. Indicates whether system |
documentation destined for /usr/share/doc will be installed |
documentation destined for DESTDIR/usr/share/doc will be in- |
during a build. |
stalled during a build. |
|
|
Default: ``yes'' |
Default: ``yes'' |
|
|
|
MKHOSTOBJ Can be set to ``yes'' or ``no''. If set to ``yes'', then for |
|
programs intended to be run on the compile host, the name, |
|
release, and architecture of the host operating system will |
|
be suffixed to the name of the object directory created by |
|
``make obj''. (This allows multiple host systems to compile |
|
NetBSD for a single target.) If set to ``no'', then programs |
|
built to be run on the compile host will use the same object |
|
directory names as programs built to be run on the target. |
|
|
|
Default: ``no'' |
|
|
MKINFO Can be set to ``yes'' or ``no''. Indicates whether GNU Info |
MKINFO Can be set to ``yes'' or ``no''. Indicates whether GNU Info |
files, used for the documentation for most of the compilation |
files, used for the documentation for most of the compilation |
tools, will be created and installed during a build. |
tools, will be created and installed during a build. |
|
|
MKLINT Can be set to ``yes'' or ``no''. Indicates whether lint(1) |
MKLINT Can be set to ``yes'' or ``no''. Indicates whether lint(1) |
will be run against portions of the NetBSD source code during |
will be run against portions of the NetBSD source code during |
the build, and whether lint libraries will be installed into |
the build, and whether lint libraries will be installed into |
/usr/libdata/lint. |
DESTDIR/usr/libdata/lint. |
|
|
Default: ``yes'' |
Default: ``yes'' |
|
|
|
|
code. |
code. |
|
|
MKSHARE Can be set to ``yes'' or ``no''. Indicates whether files |
MKSHARE Can be set to ``yes'' or ``no''. Indicates whether files |
destined to reside in /usr/share will be built and installed |
destined to reside in DESTDIR/usr/share will be built and in- |
during a build. If set to ``no'', then all of MKCATPAGES, |
stalled during a build. If set to ``no'', then all of |
MKDOC, MKINFO, MKMAN, and MKNLS will be set to ``no'' uncon- |
MKCATPAGES, MKDOC, MKINFO, MKMAN, and MKNLS will be set to |
ditionally. |
``no'' unconditionally. |
|
|
Default: ``yes'' |
Default: ``yes'' |
|
|
|
|
|
|
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 |
UPDATE If set, then all install operations intended to write to |
DESTDIR will compare file timestamps before installing, and |
DESTDIR will compare file timestamps before installing, and |
skip the install phase if the destination files are up-to- |
skip the install phase if the destination files are up-to- |
|
|
clude files). |
clude files). |
|
|
"make" variables for full builds |
"make" variables for full builds |
These variables only affect the top level ``Makefile'' and do not manual- |
These variables only affect the top level ``Makefile'' and do not affect |
ly 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 |
|
directories will be created automatically (via a ``make |
|
obj'' pass) at the start of a build. |
|
|
|
Default: ``yes'' |
INSTALLWORLDDIR Location for the ``make installworld'' target to install |
|
to. |
|
|
MKTOOLS Indicates whether the host tools will be built and in- |
Default: ``/'' |
stalled automatically if they are out-of-date. |
|
|
|
yes Build tools as needed into TOOLDIR, but only if the |
MKOBJDIRS Can be set to ``yes'' or ``no''. Indicates whether ob- |
tools in question are out-of-date. |
ject directories will be created automatically (via a |
|
``make obj'' pass) at the start of a build. |
|
|
no Do not update the tools in TOOLDIR; halt the build |
Default: ``yes'' |
as a safety precaution if tools are out-of-date. |
|
|
|
always |
NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see |
Always rebuild the tools in TOOLDIR from scratch |
below) |
during a build. This is similar to the standard |
|
NetBSD source tree build method, but is not typi- |
|
cally required for host tools. |
|
|
|
Default: ``yes'' |
Default: Unset. |
|
|
NBUILDJOBS If set, specifies the number of parallel make(1) processes |
NOCLEANDIR If set, avoids the ``make cleandir'' phase of a full |
that should be run simultaneously. This can speed up |
build. This has the effect of allowing only changed |
builds on SMP machines, or machines with much more CPU |
files in a source tree to be recompiled. This can speed |
power than I/O availability. This should be used instead |
up builds when updating only a few files in the tree. |
of the make(1) option -j, in order to ensure proper order- |
|
ing of build components. |
|
|
|
Default: Unset. |
Default: Unset. |
|
|
NOCLEANDIR If set, avoids the ``make cleandir'' phase of a full |
NODISTRIBDIRS If set, avoids the ``make distrib-dirs'' phase of a full |
build. This has the effect of allowing only changed files |
build. This skips running mtree(8) on DESTDIR, useful |
in a source tree to be recompiled. This can speed up |
on systems where building as an unprivileged user, or |
builds when updating only a few files in the tree. |
where it is known that the system-wide mtree files have |
|
not changed. |
|
|
Default: Unset. |
Default: Unset. |
|
|
NODISTRIBDIRS If set, avoids the ``make distrib-dirs'' phase of a full |
NOINCLUDES If set, avoids the ``make includes'' phase of a full |
build. This skips running mtree(8) on DESTDIR, useful on |
build. This has the effect of preventing make(1) from |
systems where building as an unprivileged user, or where |
thinking that some programs are out-of-date simply be- |
it is known that the system-wide mtree files have not |
cause the system include files have changed. However, |
changed. |
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. |
|
|
NOINCLUDES If set, avoids the ``make includes'' phase of a full |
RELEASEDIR If set, specifies the directory to which a release(7) |
build. This has the effect of preventing make(1) from |
layout will be written at the end of a ``make release''. |
thinking that some programs are out-of-date simply because |
|
the system include files have changed. However, this op- |
|
tion 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. |
|
|
RELEASEDIR If set, specifies the directory to which a release(7) lay- |
Note: build.sh will provide a default of releasedir (in |
out will be written at the end of a ``make release''. |
the top-level .OBJDIR) unless run in `expert' mode |
|
|
Default: Unset. |
UPDATE If set, then in addition to the effects described for |
|
UPDATE above, this implies the effects of NOCLEANDIR |
UPDATE If set, then in addition to the effects described for UP- |
(i.e., ``make cleandir'' is avoided). |
DATE above, this implies the effects of NOCLEANDIR. |
|
|
|
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 |
used most frequently with NetBSD builds are listed here. |
used most frequently with NetBSD builds are listed here. |
|
|
|
-j njob Run up to njob make(1) subjobs in parallel. Makefiles should |
|
use .WAIT or have explicit dependancies as necessary to en- |
|
force build ordering. If you see build failures with -j, |
|
please save complete build logs so the failures can be ana- |
|
lyzed. |
|
|
-m dir Specify the default directory for searching for system Make- |
-m dir Specify the default directory for searching for system Make- |
file segments, mainly the <bsd.*.mk> files. When building any |
file segments, mainly the <bsd.*.mk> files. When building any |
full NetBSD source tree, this should be set to the |
full NetBSD source tree, this should be set to the |
|
|
dependency changes. |
dependency changes. |
|
|
dependall Does a ``make depend'' immediately followed by a ``make all''. |
dependall Does a ``make depend'' immediately followed by a ``make all''. |
This combined target recurses as an atomic unit, so that the |
This improves cache locality of the build since both passes |
``make depend'' phase can participate in make -j parallelism. |
read the source files in their entirety. |
|
|
includes Build and install system header files. Typically needed be- |
includes Build and install system header files. Typically needed be- |
fore any system libraries or programs can be built. |
fore any system libraries or programs can be built. |
|
|
install Install programs, libraries, and documentation into DESTDIR. |
install Install programs, libraries, and documentation into DESTDIR. |
|
Few files will be installed to DESTDIR/dev, DESTDIR/etc, |
|
DESTDIR/root or DESTDIR/var in order to prevent user supplied |
|
configuration data from being overwritten. |
|
|
lint Run lint(1) against the C source code, where appropriate, and |
lint Run lint(1) against the C source code, where appropriate, and |
generate system-installed lint libraries. |
generate system-installed lint libraries. |
|
|
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, including files in DESTDIR/dev, DESTDIR/etc, |
RELEASEDIR be set (see above). |
DESTDIR/root and DESTDIR/var. |
|
|
|
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. |
|
|
|
sets Create distribution sets from DESTDIR into |
|
RELEASEDIR/MACHINE/binary/sets. Should be run after ``make |
|
distribution'' (as ``make build'' does not install all of |
|
the required files). |
|
|
|
sourcesets Create source sets of the source tree into |
|
RELEASEDIR/source/sets. |
|
|
|
release Do a ``make distribution'', build kernels, distribution me- |
|
dia, and install sets (this as per ``make sets''), and then |
|
package the system into a standard release layout as de- |
|
scribed by release(7). This requires 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 |
|
|
of options below, variables that are automatically set by build.sh are |
of options below, variables that are automatically set by build.sh are |
noted where applicable. |
noted where applicable. |
|
|
The following are available command line options that may be supplied to |
The following operations are supported by build.sh: |
build.sh: |
|
|
build Build the system as per ``make build''. This option im- |
|
plies the obj and tools operations. |
|
|
|
distribution Build a full distribution as per ``make distribution''. |
|
This option implies the build operation. |
|
|
|
release Build a full release as per ``make release''. This option |
|
implies the distribution operation. |
|
|
|
makewrapper Create the nbmake-MACHINE wrapper. This operation is auto- |
|
matically performed for any of the other operations. |
|
|
|
obj Perform ``make obj''. |
|
|
|
tools Build and install the host tools from src/tools. |
|
|
|
kernel=kconf Build a new kernel. The kconf argument is the name of a |
|
configuration file suitable for use by config(8). If kconf |
|
does not contain any `/' characters, the configuration file |
|
is expected to be found in the KERNCONFDIR directory, which |
|
is typically sys/arch/MACHINE/conf. The new kernel will be |
|
built in a subdirectory of KERNOBJDIR, which is typically |
|
sys/arch/MACHINE/compile or an associated object directory. |
|
In order to ensure that the kernel is built using up-to- |
|
date tools, it is strongly recommended that the tools be |
|
rebuilt (using the tools operation). |
|
|
|
install=idir Install the contents of DESTDIR to idir, using ``make |
|
installworld''. |
|
|
|
sets Perform ``make sets''. |
|
|
|
sourcesets Perform ``make sourcesets''. |
|
|
|
The following command line options alter the behaviour of the above oper- |
|
ations: The following command line options alter the behaviour of the |
|
build.sh operations described above: |
|
|
-a arch Set the value of MACHINE_ARCH to arch. |
-a arch Set the value of MACHINE_ARCH to arch. |
|
|
-b Bootstrap ``make'' and create a nbmake-MACHINE script (see be- |
-B buildid |
low). |
Set the value of BUILDID to buildid. This will also append the |
|
build idenfitier to the name of the ``make'' wrapper script so |
|
that the resulting name is of the form ``nbmake-MACHINE- |
|
BUILDID''. |
|
|
|
-D dest Set the value of DESTDIR to dest. |
|
|
|
-E Set `expert' mode. This overrides various sanity checks, and |
|
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 |
|
non-root user. |
|
|
|
Note: It is highly recommended that you know what you are doing |
|
when you use this option. |
|
|
|
-j njob Passed through to make(1). Makefiles should use .WAIT or have |
|
explicit dependancies as necessary to enforce build ordering. |
|
If you see build failures with -j, please save complete build |
|
logs so the failures can be analyzed. |
|
|
-j njob Set the value of NBUILDJOBS to njob. This provides similar |
-M obj Set MAKEOBJDIRPREFIX to obj. |
functionality to the familiar ``make -j'', but preserves the |
|
ordering of the top level ``make build''. |
|
|
|
-m mach Set the value of MACHINE to mach. This will also override any |
-m mach Set the value of MACHINE to mach. This will also override any |
value of MACHINE_ARCH in the process environment with a value |
value of MACHINE_ARCH in the process environment with a value |
deduced from mach, unless -a is specified. All cross builds |
deduced from mach, unless -a is specified, or mach is a special |
require -m, but if unset on a NetBSD host, the host's value of |
case listed below. All cross builds require -m, but if unset |
MACHINE will be detected and used automatically. |
on a NetBSD host, the host's value of MACHINE will be detected |
|
and used automatically. |
|
|
|
Some machines support multiple values for MACHINE_ARCH. For a |
|
given value of mach, the following MACHINE and MACHINE_ARCH |
|
values will result: |
|
|
|
mach MACHINE MACHINE_ARCH |
|
evbmips evbmips (not set) |
|
evbmips-eb evbmips mipseb |
|
evbmips-el evbmips mipsel |
|
evbsh3 evbsh3 (not set) |
|
evbsh3-eb evbsh3 sh3eb |
|
evbsh3-el evbsh3 sh3el |
|
sbmips sbmips (not set) |
|
sbmips-eb sbmips mipseb |
|
sbmips-el sbmips mipsel |
|
|
-n Show the commands that would be executed by build.sh, but do |
-n Show the commands that would be executed by build.sh, but do |
not make any changes. This is similar in concept to ``make |
not make any changes. This is similar in concept to ``make |
-n''. |
-n''. |
|
|
|
-O obj Create an appropriate transform macro for MAKEOBJDIR that will |
|
place the built object files under obj. For instance, a set- |
|
ting of /usr/obj will place build-time files under |
|
/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''. |
|
|
|
-R rel Set the value of RELEASEDIR to rel. |
|
|
-r Remove the contents of DESTDIR and TOOLDIR before building |
-r Remove the contents of DESTDIR and TOOLDIR before building |
(provides a clean starting point). This will skip deleting |
(provides a clean starting point). This will skip deleting |
DESTDIR if building on a native system to the root directory. |
DESTDIR if building on a native system to the root directory. |
|
|
-t Build and install the host tools from src/tools only. This op- |
-T tools Set the value of TOOLDIR to tools. If set, the bootstrap |
tion implies -b. |
``make'' will only be rebuilt as needed (when the source files |
|
for make(1) change). |
|
|
|
-U Set the UNPRIVED variable. |
|
|
-u Set the UPDATE variable. |
-u Set the UPDATE variable. |
|
|
|
-V var=[value] |
|
Set the variable var to value (which is optional). |
|
|
-w wrapper |
-w wrapper |
Create the nbmake wrapper script (see below) in a custom loca- |
Create the nbmake wrapper script (see below) in a custom loca- |
tion, specified by wrapper. This allows, for instance, to |
tion, specified by wrapper. This allows, for instance, to |
place the wrapper in PATH automatically. Note that wrapper is |
place the wrapper in PATH automatically. Note that wrapper is |
the full name of the file, not just a directory name. |
the full name of the file, not just a directory name. |
|
|
-D dest Set the value of DESTDIR to dest. |
|
|
|
-O obj Create an appropriate transform macro for MAKEOBJDIR that will |
|
place the built object files under obj. For instance, a set- |
|
ting of /usr/obj will place build-time files files under |
|
/usr/obj/bin, /usr/obj/lib, and so forth. |
|
|
|
-R rel Set the value of RELEASEDIR to rel. Setting this option will |
|
cause build.sh to run ``make release'' instead of ``make |
|
build''. |
|
|
|
-T tools Set the value of TOOLDIR to tools. If set, the bootstrap |
|
``make'' will only be rebuilt as needed (when the source files |
|
for make(1) change). |
|
|
|
The "nbmake-MACHINE" wrapper script |
The "nbmake-MACHINE" wrapper script |
If using the build.sh script to build NetBSD, a nbmake-MACHINE script |
If using the build.sh script to build NetBSD, a nbmake-MACHINE script |
will be created in TOOLDIR/bin upon the first build to assist in building |
will be created in TOOLDIR/bin upon the first build to assist in building |
|
|
This script can be symlinked into a directory listed in PATH, or called |
This script can be symlinked into a directory listed in PATH, or called |
with an absolute path. |
with an absolute path. |
|
|
|
EXAMPLES |
|
1. ./build.sh tools kernel=GENERIC |
|
|
|
Build a new toolchain, and use the new toolchain to configure and |
|
build a new GENERIC kernel. |
|
|
|
2. ./build.sh -U distribution |
|
|
|
Using unprivileged mode, build a complete distribution to a DESTDIR |
|
directory that build.sh selects (and will display). |
|
|
|
3. # ./build.sh -U install=/ |
|
|
|
As root, install to / the distribution that was built by example 2. |
|
Even though this is run as root, -U is required so that the permis- |
|
sions stored in DESTDIR/METALOG are correctly applied to the files |
|
as they're copied to /. |
|
|
|
4. ./build.sh -U -u release |
|
|
|
Using unprivileged mode, build a complete release to DESTDIR and |
|
RELEASEDIR directories that build.sh selects (and will display). |
|
UPDATE (-u) is set to prevent the ``make cleandir'', so that if this |
|
is run after example 2, it doesn't need to redo that portion of the |
|
release build. |
|
|
|
OBSOLETE VARIABLES |
|
NBUILDJOBS Use the make(1) option -j, instead. |
|
|
|
USE_NEW_TOOLCHAIN |
|
The new toolchain is now the default. To disable, use |
|
TOOLCHAIN_MISSING=yes. |
|
|
SEE ALSO |
SEE ALSO |
make(1), hier(7), release(7) |
make(1), hier(7), release(7) |
|
|
HISTORY |
HISTORY |
The USE_NEW_TOOLCHAIN based build scheme was introduced in the ``NetBSD- |
The build.sh based build scheme was introduced for NetBSD 1.6 as |
current'' development sources between NetBSD 1.5 and NetBSD 1.6. |
USE_NEW_TOOLCHAIN, and re-worked to TOOLCHAIN_MISSING after that. |
|
|
BUGS |
BUGS |
Many platforms are not yet using the USE_NEW_TOOLCHAIN system. |
A few platforms are not yet using this build system. |
|
|
NetBSD October 29, 2001 8 |
NetBSD May 17, 2003 10 |