version 1.23, 2003/01/26 05:34:32 |
version 1.33, 2003/05/17 08:10:40 |
|
|
|
|
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. |
|
|
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'' |
|
|
|
|
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. |
|
|
|
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 |
|
|
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 /dev, /etc, /root or /var in |
Few files will be installed to DESTDIR/dev, DESTDIR/etc, |
order to prevent user supplied configuration data from being |
DESTDIR/root or DESTDIR/var in order to prevent user supplied |
overwritten. |
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. |
|
|
the proper order. |
the proper order. |
|
|
distribution Do a ``make build'', and then install a full distribution |
distribution Do a ``make build'', and then install a full distribution |
into DESTDIR, including files in /dev, /etc, /root and |
into DESTDIR, including files in DESTDIR/dev, DESTDIR/etc, |
/var. |
DESTDIR/root and DESTDIR/var. |
|
|
buildworld As per ``make distribution'', except that it ensures that |
buildworld As per ``make distribution'', except that it ensures that |
DESTDIR is not the root directory. |
DESTDIR is not the root directory. |
|
|
Note: It is highly recommended that you upgrade your kernel |
Note: It is highly recommended that you upgrade your kernel |
and reboot before performing this operation. |
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- |
release Do a ``make distribution'', build kernels, distribution me- |
dia, and install sets, and then package the system into a |
dia, and install sets (this as per ``make sets''), and then |
standard release layout as described by release(7). This |
package the system into a standard release layout as de- |
requires that RELEASEDIR be set (see above). |
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 |
Can only be run after building the regression tests in the |
|
|
install=idir Install the contents of DESTDIR to idir, using ``make |
install=idir Install the contents of DESTDIR to idir, using ``make |
installworld''. |
installworld''. |
|
|
|
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 |
|
|
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. This is a simpler way to |
Build a new toolchain, and use the new toolchain to configure and |
achieve what the first three examples do. |
build a new GENERIC kernel. |
|
|
./build.sh -U -D /some/DESTDIR distribution |
2. ./build.sh -U distribution |
Using unprivileged mode, build a complete distribution in |
|
/some/DESTDIR. |
Using unprivileged mode, build a complete distribution to a DESTDIR |
|
directory that build.sh selects (and will display). |
# ./build.sh -U -D /some/DESTDIR installworld=/ |
|
As root, install the distribution that was built with unprivi- |
3. # ./build.sh -U install=/ |
leged mode from /some/DESTDIR to /. (Even though this is run |
|
as root, -U is required so that the permissions stored in |
As root, install to / the distribution that was built by example 2. |
/some/DESTDIR/METALOG are correctly applied to the files as |
Even though this is run as root, -U is required so that the permis- |
they're copied to /). |
sions stored in DESTDIR/METALOG are correctly applied to the files |
|
as they're copied to /. |
./build.sh -U -D /some/dir/DESTDIR -R /some/dir/RELEASE release |
|
Using unprivileged mode, build a complete release in |
4. ./build.sh -U -u release |
/some/dir/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 26, 2003 10 |
NetBSD May 17, 2003 10 |