version 1.72, 2008/08/05 19:43:33 |
version 1.78.2.2, 2008/11/15 22:10:33 |
|
|
|
|
MAKEOBJDIR Directory to use as the .OBJDIR for the current direc- |
MAKEOBJDIR Directory to use as the .OBJDIR for the current direc- |
tory. The value is subjected to variable expansion by |
tory. The value is subjected to variable expansion by |
make(1). Used only if MAKEOBJDIRPREFIX is not defined. |
make(1). Typical usage is to set this variable to a |
MAKEOBJDIR can only be provided in the environment or |
value involving the use of `${.CURDIR:S...}' or |
via the -O flag of build.sh. |
`${.CURDIR:C...}', to derive the value of .OBJDIR from |
|
the value of .CURDIR. Used only if MAKEOBJDIRPREFIX is |
|
not defined. MAKEOBJDIR can be provided only in the |
|
environment or via the -O flag of build.sh; it cannot |
|
usefully be set inside a Makefile. |
|
|
MAKEOBJDIRPREFIX Top level directory of the object directory tree. If |
MAKEOBJDIRPREFIX Top level directory of the object directory tree. If |
specified, must be an absolute path. If this is |
specified, must be an absolute path. If this is |
defined, ${MAKEOBJDIRPREFIX}/${.CURDIR} is used as the |
defined, ${MAKEOBJDIRPREFIX}/${.CURDIR} is used as the |
.OBJDIR for the current directory. The current direc- |
.OBJDIR for the current directory. The current direc- |
tory may be read only. MAKEOBJDIRPREFIX can only be |
tory may be read only. MAKEOBJDIRPREFIX can be pro- |
provided in the environment or via the -M flag of |
vided only in the environment or via the -M flag of |
build.sh. |
build.sh; it cannot usefully be set inside a Makefile. |
|
|
"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'' |
|
|
|
MKHTML Can be set to ``yes'' or ``no''. Indicates whether prefor- |
|
matted HTML manual pages will be built and installed |
|
|
|
Default: ``yes'' |
|
|
MKHOSTOBJ Can be set to ``yes'' or ``no''. If set to ``yes'', then for |
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, |
programs intended to be run on the compile host, the name, |
release, and architecture of the host operating system will |
release, and architecture of the host operating system will |
|
|
|
|
Default: ``yes'' |
Default: ``yes'' |
|
|
|
MKSTRIPIDENT |
|
Can be set to ``yes'' or ``no''. Indicates whether program |
|
binaries and shared libraries should be built to include RCS |
|
IDs for use with ident(1). |
|
|
|
Default: ``no'' |
|
|
MKTTINTERP Can be set to ``yes'' or ``no''. For X builds, decides if |
MKTTINTERP Can be set to ``yes'' or ``no''. For X builds, decides if |
the TrueType bytecode interpreter is turned on. See |
the TrueType bytecode interpreter is turned on. See |
http://www.freetype.org/patents.html for details. |
http://www.freetype.org/patents.html for details. |
|
|
|
|
Default: ``no'' |
Default: ``no'' |
|
|
MKX11 Can be set to ``yes'' or ``no''. Indicates whether X11R6 is |
MKX11 Can be set to ``yes'' or ``no''. Indicates whether X11 is |
built from X11SRCDIR. |
built from X11SRCDIR. |
|
|
Default: ``no'' |
Default: ``no'' |
|
|
|
|
Default: ``/usr/xsrc'' |
Default: ``/usr/xsrc'' |
|
|
|
X11FLAVOUR The style of X11 cross-built, set to either ``Xorg'' or |
|
``XFree86''. |
|
|
|
Default: ``Xorg'' on amd64, i386, macppc, shark and sparc64 |
|
platforms, ``XFree86'' on everything else. |
|
|
"make" variables for full builds |
"make" variables for full builds |
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. |
|
|
|
|
-j njob Run up to njob make(1) subjobs in parallel. Makefiles should |
-j njob Run up to njob make(1) subjobs in parallel. Makefiles should |
use .WAIT or have explicit dependencies as necessary to |
use .WAIT or have explicit dependencies as necessary to |
enforce build ordering. If you see build failures with -j, |
enforce build ordering. |
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 |
|
|
makewrapper Create the nbmake-MACHINE wrapper. This operation is auto- |
makewrapper Create the nbmake-MACHINE wrapper. This operation is auto- |
matically performed for any of the other operations. |
matically performed for any of the other operations. |
|
|
|
cleandir Perform ``make cleandir''. |
|
|
obj Perform ``make obj''. |
obj Perform ``make obj''. |
|
|
tools Build and install the host tools from src/tools. This com- |
tools Build and install the host tools from src/tools. This com- |
|
|
-h Print a help message. |
-h Print a help message. |
|
|
-j njob Run up to njob make(1) subjobs in parallel; passed through to |
-j njob Run up to njob make(1) subjobs in parallel; passed through to |
make(1). Makefiles should use .WAIT or have explicit dependan- |
make(1). If you see failures for reasons other than running |
cies as necessary to enforce build ordering. If you see build |
out of memory while using build.sh with -j, please save com- |
failures with -j, please save complete build logs so the fail- |
plete build logs so the failures can be analyzed. |
ures can be analyzed. |
|
|
To achieve the fastest builds, -j values between (1 + the num- |
-M obj Set MAKEOBJDIRPREFIX to obj. If a relative path is specified, |
ber of CPUs) and (2 * the number of CPUs) are recommended. Use |
it will be converted to an absolute path before being used. |
lower values on machines with limited memory or I/O bandwidth. |
Unsets MAKEOBJDIR. |
|
|
-M obj Set MAKEOBJDIRPREFIX to obj. For instance, if the source |
|
directory is /usr/src, a setting of ``-M /usr/obj'' will place |
|
build-time files under /usr/obj/usr/src/bin, |
|
/usr/obj/usr/src/lib, /usr/obj/usr/src/usr.bin, and so forth. |
|
If a relative path is specified, it will be converted to an |
|
absolute path before being used. Unsets MAKEOBJDIR. See ``-O |
|
-obj'' for more information. |
|
|
-m mach Set the value of MACHINE to mach, except in some special cases |
-m mach Set the value of MACHINE to mach, except in some special cases |
listed below. This will also override any value of |
listed below. This will also override any value of |
|
|
-n''. |
-n''. |
|
|
-O obj Create an appropriate transform macro for MAKEOBJDIR that will |
-O obj Create an appropriate transform macro for MAKEOBJDIR that will |
place the built object files under obj. If a relative path is |
place the built object files under obj. For instance, a set- |
specified, it will be converted to an absolute path before |
ting of ``-O /usr/obj'' will place build-time files under |
being used. For instance, a setting of /usr/obj will place |
/usr/obj/bin, /usr/obj/lib, /usr/obj/usr.bin, and so forth. If |
build-time files under /usr/obj/bin, /usr/obj/lib, |
a relative path is specified, it will be converted to an abso- |
/usr/obj/usr.bin, and so forth. Unsets MAKEOBJDIRPREFIX. |
lute path before being used. Unsets MAKEOBJDIRPREFIX. |
|
|
|
In normal use, exactly one of the -M or -O options should be |
|
specified. If neither -M nor -O is specified, then a default |
|
object directory will be chosen according to rules in |
|
<bsd.obj.mk>. Relying on this default is not recommended |
|
because it is determined by complex rules that are influenced |
|
by the values of several variables and by the location of the |
|
source directory. |
|
|
-o Set the value of MKOBJDIRS to ``no''. Otherwise, it will be |
-o Set the value of MKOBJDIRS to ``no''. Otherwise, it will be |
automatically set to ``yes''. This default is opposite to the |
automatically set to ``yes''. This default is opposite to the |
|
|
with an absolute path. |
with an absolute path. |
|
|
EXAMPLES |
EXAMPLES |
1. % ./build.sh tools kernel=GENERIC |
1. % ./build.sh [options] tools kernel=GENERIC |
|
|
Build a new toolchain, and use the new toolchain to configure and |
Build a new toolchain, and use the new toolchain to configure and |
build a new GENERIC kernel. |
build a new GENERIC kernel. |
|
|
2. % ./build.sh -U distribution |
2. % ./build.sh [options] -U distribution |
|
|
Using unprivileged mode, build a complete distribution to a DESTDIR |
Using unprivileged mode, build a complete distribution to a DESTDIR |
directory that build.sh selects (and will display). |
directory that build.sh selects (and will display). |
|
|
3. # ./build.sh -U install=/ |
3. # ./build.sh [options] -U install=/ |
|
|
As root, install to / the distribution that was built by example 2. |
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- |
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 |
sions stored in DESTDIR/METALOG are correctly applied to the files |
as they're copied to /. |
as they're copied to /. |
|
|
4. % ./build.sh -U -u release |
4. % ./build.sh [options] -U -u release |
|
|
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). |
|
|
The build.sh based build scheme was introduced for NetBSD 1.6 as |
The build.sh based build scheme was introduced for NetBSD 1.6 as |
USE_NEW_TOOLCHAIN, and re-worked to TOOLCHAIN_MISSING after that. |
USE_NEW_TOOLCHAIN, and re-worked to TOOLCHAIN_MISSING after that. |
|
|
BUGS |
NetBSD September 10, 2008 NetBSD |
A few platforms are not yet using this build system. |
|
|
|
NetBSD March 18, 2008 NetBSD |
|