version 1.27, 2003/01/30 02:52:41 |
version 1.36, 2003/07/03 05:52:47 |
|
|
|
|
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: 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. |
|
|
|
|
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'' |
|
|
NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see |
NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see |
below) |
below) |
|
|
|
|
Default: Unset. |
Default: Unset. |
|
|
|
Note: build.sh will provide a default of releasedir (in |
|
the top-level .OBJDIR) unless run in `expert' mode |
|
|
UPDATE If set, then in addition to the effects described for |
UPDATE If set, then in addition to the effects described for |
UPDATE above, this implies the effects of NOCLEANDIR. |
UPDATE above, this implies the effects of NOCLEANDIR |
|
(i.e., ``make cleandir'' is avoided). |
|
|
BUILDING |
BUILDING |
"make" command line options |
"make" command line options |
|
|
distribution'' (as ``make build'' does not install all of |
distribution'' (as ``make build'' does not install all of |
the required files). |
the required files). |
|
|
|
sourcesets Create source sets of the source tree into |
|
RELEASEDIR/source/sets. |
|
|
release Do a ``make distribution'', build kernels, distribution me- |
release Do a ``make distribution'', build kernels, distribution me- |
dia, and install sets (this as per ``make sets''), and then |
dia, and install sets (this as per ``make sets''), and then |
package the system into a standard release layout as de- |
package the system into a standard release layout as de- |
|
|
|
|
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''. |
|
|
|
sourcesets Perform ``make sourcesets''. |
|
|
The following command line options alter the behaviour of the above oper- |
The following command line options alter the behaviour of the above oper- |
ations: The following command line options alter the behaviour of the |
ations: The following command line options alter the behaviour of the |
build.sh operations described above: |
build.sh operations described above: |
|
|
|
|
-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 |
|
|
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. |
|
|
|
|
with an absolute path. |
with an absolute path. |
|
|
EXAMPLES |
EXAMPLES |
./build.sh tools kernel=GENERIC |
1. ./build.sh tools kernel=GENERIC |
Build a new toolchain, and use the new toolchain to configure |
|
and build a new GENERIC kernel. |
Build a new toolchain, and use the new toolchain to configure and |
|
build a new GENERIC kernel. |
./build.sh -U -D /path/to/destdir distribution |
|
Using unprivileged mode, build a complete distribution in |
2. ./build.sh -U distribution |
/path/to/destdir. |
|
|
Using unprivileged mode, build a complete distribution to a DESTDIR |
# ./build.sh -U -D /path/to/destdir installworld=/ |
directory that build.sh selects (and will display). |
As root, install the distribution that was built with unprivi- |
|
leged mode from /path/to/destdir to /. (Even though this is |
3. # ./build.sh -U install=/ |
run as root, -U is required so that the permissions stored in |
|
/path/to/destdir/METALOG are correctly applied to the files as |
As root, install to / the distribution that was built by example 2. |
they're copied to /). |
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 |
./build.sh -U -D /path/to/destdir -R /path/to/releasedir release |
as they're copied to /. |
Using unprivileged mode, build a complete release in |
|
/path/to/dir/releasedir. |
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 |
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 January 30, 2003 10 |
NetBSD July 3, 2003 10 |