634 lines
13 KiB
Groff
634 lines
13 KiB
Groff
.\" $NetBSD: mk.conf.5,v 1.20 2004/07/02 18:20:27 junyoung Exp $
|
|
.\"
|
|
.\" Copyright (c) 1999-2003 The NetBSD Foundation, Inc.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" This code is derived from software contributed to The NetBSD Foundation
|
|
.\" by Luke Mewburn.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by Luke Mewburn.
|
|
.\" 4. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
.\" OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
.\" TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
|
.\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.Dd July 1, 2004
|
|
.Dt MK.CONF 5
|
|
.Os
|
|
.\" turn off hyphenation
|
|
.hym 999
|
|
.
|
|
.Sh NAME
|
|
.Nm mk.conf
|
|
.Nd make configuration file
|
|
.
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
file overrides various parameters used during the build of the system.
|
|
.Pp
|
|
Listed below are the
|
|
.Nm
|
|
variables that may be set, the values to which each may be set,
|
|
a brief description of what each variable does, and a reference to
|
|
relevant manual pages.
|
|
.
|
|
.Ss NetBSD System variables
|
|
.
|
|
.de YorN
|
|
Can be set to
|
|
.Dq yes
|
|
or
|
|
.Dq no .
|
|
..
|
|
.de DFLT
|
|
.Pp
|
|
.Em Default :
|
|
..
|
|
.de DFLTu
|
|
.DFLT
|
|
Unset.
|
|
..
|
|
.de DFLTy
|
|
.DFLT
|
|
.Dq yes
|
|
..
|
|
.de DFLTn
|
|
.DFLT
|
|
.Dq no
|
|
..
|
|
.Bl -tag -width MKDYNAMICROOT
|
|
.
|
|
.It Sy NETBSDSRCDIR
|
|
The path to the top level of the NetBSD sources.
|
|
If
|
|
.Xr make 1
|
|
is run from within the NetBSD source tree, the default is the top
|
|
level of that tree (as determined by the presence of
|
|
.Pa build.sh
|
|
and
|
|
.Pa tools/ ) ,
|
|
otherwise
|
|
.Sy BSDSRCDIR
|
|
will be used.
|
|
.
|
|
.It Sy BSDOBJDIR
|
|
The real path to the
|
|
.Sq obj
|
|
tree for the NetBSD source tree.
|
|
.DFLT
|
|
.Pa /usr/obj
|
|
.
|
|
.It Sy BSDSRCDIR
|
|
The real path to the NetBSD source tree.
|
|
.DFLT
|
|
.Pa /usr/src
|
|
.
|
|
.It Sy BUILD
|
|
If defined,
|
|
.Sq "make install"
|
|
checks that the targets in the source directories are up-to-date and
|
|
re-makes them if they are out of date, instead of blindly trying to install
|
|
out of date or non-existent targets.
|
|
.DFLTu
|
|
.
|
|
.It Sy BUILDID
|
|
Identifier for the build.
|
|
The identifier will be appended to
|
|
object directory names, and can be consulted in the
|
|
.Xr make 1
|
|
configuration file in order to set additional build parameters,
|
|
such as compiler flags.
|
|
.DFLTu
|
|
.
|
|
.It Sy COPTS
|
|
Extra options for the C compiler.
|
|
Should be appended to (e.g.,
|
|
.Sy COPTS+=-g ) ,
|
|
rather than explicitly set.
|
|
.
|
|
.It Sy DESTDIR
|
|
Directory to contain the built
|
|
.Nx
|
|
system.
|
|
If set, special options are passed to the compilation tools to
|
|
prevent their default use of the host system's
|
|
.Sy /usr/include , /usr/lib ,
|
|
and so forth.
|
|
This pathname should
|
|
.Em not
|
|
end with a slash
|
|
.Pq /
|
|
character (for installation into the system's root directory, set
|
|
.Sy DESTDIR
|
|
to an empty string).
|
|
The directory must reside on a file system which supports long file
|
|
names and hard links.
|
|
.DFLT
|
|
Empty string if
|
|
.Sy USETOOLS
|
|
is
|
|
.Dq yes ;
|
|
unset otherwise.
|
|
.Pp
|
|
.Em Note :
|
|
.Sy build.sh
|
|
will provide a default of
|
|
.Pa destdir. Ns Sy MACHINE
|
|
(in the top-level
|
|
.Sy .OBJDIR )
|
|
unless run in
|
|
.Sq expert
|
|
mode
|
|
.
|
|
.It Sy MKBFD
|
|
.YorN
|
|
Indicates whether
|
|
.Sy libbfd ,
|
|
.Sy libiberty ,
|
|
or any of the things that depend
|
|
upon them (such as the binutils,
|
|
.Xr as 1 ,
|
|
.Xr gdb 1 ,
|
|
.Xr ld 1 ,
|
|
.Xr dbsym 8 ,
|
|
or
|
|
.Xr mdsetimage 8)
|
|
should be built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKCATPAGES
|
|
.YorN
|
|
Indicates whether preformatted plaintext manual pages will be created
|
|
during a build.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKCRYPTO
|
|
.YorN
|
|
Indicates whether cryptographic code will be included in a build;
|
|
provided for the benefit of countries that do not allow strong
|
|
cryptography.
|
|
Will not affect use of the standard low-security password encryption system,
|
|
.Xr crypt 3 .
|
|
.DFLTy
|
|
.Pp
|
|
If
|
|
.Dq no ,
|
|
acts as
|
|
.Sy MKKERBEROS=no .
|
|
.
|
|
.It Sy MKCRYPTO_IDEA
|
|
.YorN
|
|
Indicates whether IDEA support will be built into
|
|
.Sy libcrypto_idea.a.
|
|
.DFLTn
|
|
.
|
|
.It Sy MKCRYPTO_MDC2
|
|
.YorN
|
|
Indicates whether MDC2 support will be built into
|
|
.Sy libcrypto_mdc2.a.
|
|
.DFLTn
|
|
.
|
|
.It Sy MKCRYPTO_RC5
|
|
.YorN
|
|
Indicates whether RC5 support will be built into
|
|
.Sy libcrypto_rc5.a.
|
|
.DFLTn
|
|
.
|
|
.It Sy MKCVS
|
|
.YorN
|
|
Indicates whether
|
|
.Xr cvs 1
|
|
is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKDOC
|
|
.YorN
|
|
Indicates whether system documentation destined for
|
|
.Sy DESTDIR Ns Pa /usr/share/doc
|
|
will be installed during a build.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKDYNAMICROOT
|
|
.YorN
|
|
Indicates whether all programs should be dynamically linked,
|
|
and to install shared libraries required by
|
|
.Pa /bin
|
|
and
|
|
.Pa /sbin
|
|
and the shared linker
|
|
.Xr ld.elf_so 1
|
|
into
|
|
.Pa /lib .
|
|
If
|
|
.Sq no ,
|
|
link programs in
|
|
.Pa /bin
|
|
and
|
|
.Pa /sbin
|
|
statically.
|
|
.DFTLy
|
|
.
|
|
.It Sy MKGCC
|
|
.YorN
|
|
Indicates whether
|
|
.Xr gcc 1
|
|
or any related libraries
|
|
.Pq Sy libg2c , libgcc , libobjc , libstdc+
|
|
are built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKGDB
|
|
.YorN
|
|
Indicates whether
|
|
.Xr gdb 1
|
|
is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKHESIOD
|
|
.YorN
|
|
Indicates whether the Hesiod infrastructure
|
|
(libraries and support programs) is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKHOSTOBJ
|
|
.YorN
|
|
If set to
|
|
.Dq 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
|
|
.Dq make obj .
|
|
(This allows multiple host systems to compile NetBSD for a single target.)
|
|
If set to
|
|
.Dq 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.
|
|
.DFLTn
|
|
.
|
|
.It Sy MKHTML
|
|
.YorN
|
|
Indicates whether the html manual pages are built and installed.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKIEEEFP
|
|
.YorN
|
|
Indicates whether code for IEEE754/IEC60559 conformance is built.
|
|
Has no effect on most platforms.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKINFO
|
|
.YorN
|
|
Indicates whether GNU Info files, used for the documentation for
|
|
most of the compilation tools, will be created and installed during a
|
|
build.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKKERBEROS4
|
|
.YorN
|
|
Indicates whether the Kerberos v4 infrastructure
|
|
(libraries and support programs) is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKKERBEROS
|
|
.YorN
|
|
Indicates whether the Kerberos v5 infrastructure
|
|
(libraries and support programs) is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKLINKLIB
|
|
.YorN
|
|
Indicates whether all of the shared library infrastructure is built.
|
|
If
|
|
.Sq no ,
|
|
prevents:
|
|
installation of the
|
|
.Sy *.a
|
|
libraries,
|
|
installation of the
|
|
.Sy *_pic.a
|
|
libraries on PIC systems,
|
|
building of
|
|
.Sy *.a
|
|
libraries on PIC systems,
|
|
or
|
|
installation of
|
|
.Sy .so
|
|
symlinks on ELF systems.
|
|
.DFLTy
|
|
.Pp
|
|
If
|
|
.Dq no ,
|
|
acts as
|
|
.Sy MKPICINSTALL=no MKPROFILE=no .
|
|
.
|
|
.It Sy MKLINT
|
|
.YorN
|
|
Indicates whether
|
|
.Xr lint 1
|
|
will be run against portions of the
|
|
.Nx
|
|
source code during the build, and whether lint libraries will be
|
|
installed into
|
|
.Sy DESTDIR Ns Pa /usr/libdata/lint .
|
|
.DFLTy
|
|
.
|
|
.It Sy MKMAN
|
|
.YorN
|
|
Indicates whether manual pages will be installed during a build.
|
|
.DFLTy
|
|
.Pp
|
|
If
|
|
.Dq no ,
|
|
acts as
|
|
.Sy MKCATPAGES=no MKHTML=no .
|
|
.
|
|
.It Sy MKMANZ
|
|
.YorN
|
|
Indicates whether manual pages should be compressed with
|
|
.Xr gzip 1
|
|
at installation time.
|
|
.DFLTn
|
|
.
|
|
.It Sy MKNLS
|
|
.YorN
|
|
Indicates whether Native Language System (NLS) locale zone files will be
|
|
compiled and installed during a build.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKOBJ
|
|
.YorN
|
|
Indicates whether object directories will be created when running
|
|
.Dq make obj .
|
|
If set to
|
|
.Dq no ,
|
|
then all built files will be located inside the regular source tree.
|
|
.DFLTy
|
|
.Pp
|
|
If
|
|
.Dq no ,
|
|
acts as
|
|
.Sy MKOBJDIRS=no .
|
|
.
|
|
.It Sy MKOBJDIRS
|
|
.YorN
|
|
Indicates whether object directories will be created automatically
|
|
(via a
|
|
.Dq make obj
|
|
pass) at the start of a build.
|
|
.DFLTn
|
|
.
|
|
.It Sy MKPIC
|
|
.YorN
|
|
Indicates whether shared objects and libraries will be created and
|
|
installed during a build.
|
|
If set to
|
|
.Dq no ,
|
|
the entire built system will be statically linked.
|
|
.DFLT
|
|
Platform dependent.
|
|
As of this writing, all platforms except
|
|
.Sy m68000
|
|
and
|
|
.Sy sh3
|
|
default to
|
|
.Dq yes .
|
|
.Pp
|
|
If
|
|
.Dq no ,
|
|
acts as
|
|
.Sy MKPICLIB=no .
|
|
.
|
|
.It Sy MKPICINSTALL
|
|
.YorN
|
|
Indicates whether the
|
|
.Xr ar 1
|
|
format libraries
|
|
.Sy ( lib*_pic.a ) ,
|
|
used to generate shared libraries, are installed during a build.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKPICLIB
|
|
.YorN
|
|
Indicates whether the
|
|
.Xr ar 1
|
|
format libraries
|
|
.Sy ( lib*_pic.a ) ,
|
|
used to generate shared libraries.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKPOSTFIX
|
|
.YorN
|
|
Indicates whether Postfix is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKPROFILE
|
|
.YorN
|
|
Indicates whether profiled libraries
|
|
.Sy ( lib*_p.a )
|
|
will be built and installed during a build.
|
|
.DFLT
|
|
.Dq yes ;
|
|
however, some platforms turn off
|
|
.Sy MKPROFILE
|
|
by default at times due to toolchain problems with profiled code.
|
|
.
|
|
.It Sy MKSENDMAIL
|
|
.YorN
|
|
Indicates whether Sendmail is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKSHARE
|
|
.YorN
|
|
Indicates whether files destined to reside in
|
|
.Sy DESTDIR Ns Pa /usr/share
|
|
will be built and installed during a build.
|
|
.DFLTy
|
|
.Pp
|
|
If
|
|
.Dq no ,
|
|
acts as
|
|
.Sy MKCATPAGES=no MKDOC=no MKINFO=no MKHTML=no MKMAN=no MKNLS=no .
|
|
.
|
|
.It Sy MKSKEY
|
|
.YorN
|
|
Indicates whether the S/key infrastructure
|
|
(libraries and support programs) is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKSOFTFLOAT
|
|
.YorN
|
|
Indicates whether the compiler generates output containing
|
|
library calls for floating point and possibly soft-float library
|
|
support.
|
|
.DFLTn
|
|
.
|
|
.It Sy MKUNPRIVED
|
|
.YorN
|
|
Indicates whether 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
|
|
.Pa METALOG
|
|
in
|
|
.Sy DESTDIR .
|
|
The contents of
|
|
.Pa METALOG
|
|
is used during the generation of the distribution tar files to ensure
|
|
that the appropriate file ownership is stored.
|
|
.DFLTn
|
|
.
|
|
.It Sy MKUPDATE
|
|
.YorN
|
|
Indicates whether all install operations intended to write to
|
|
.Sy 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).
|
|
.DFLTn
|
|
.
|
|
.It Sy MKUUCP
|
|
.YorN
|
|
Indicates whether
|
|
.Xr uucp 1
|
|
and related programs are built.
|
|
.DFLTy
|
|
.
|
|
.It Sy MKYP
|
|
.YorN
|
|
Indicates whether the YP (NIS) infrastructure
|
|
(libraries and support programs) is built.
|
|
.DFLTy
|
|
.
|
|
.It Sy OBJMACHINE
|
|
If defined, creates objdirs of the form
|
|
.Pa obj. Ns Sy MACHINE ,
|
|
where
|
|
.Sy MACHINE
|
|
is the current architecture (as per
|
|
.Sq "uname -m" ) .
|
|
.
|
|
.It Sy RELEASEDIR
|
|
If set, specifies the directory to which a
|
|
.Xr release 7
|
|
layout will be written at the end of a
|
|
.Dq make release .
|
|
.DFLTu
|
|
.Pp
|
|
.Em Note :
|
|
.Sy build.sh
|
|
will provide a default of
|
|
.Pa releasedir
|
|
(in the top-level
|
|
.Sy .OBJDIR )
|
|
unless run in
|
|
.Sq expert
|
|
mode
|
|
.
|
|
.It Sy TOOLDIR
|
|
Directory to hold the host tools, once built.
|
|
This directory should be unique to a given host system and
|
|
.Nx
|
|
source tree.
|
|
(However, multiple targets may share the same
|
|
.Sy TOOLDIR ;
|
|
the target-dependent files have unique names.)
|
|
If unset, a default based
|
|
on the
|
|
.Xr uname 1
|
|
information of the host platform will be created in the
|
|
.Sy .OBJDIR
|
|
of
|
|
.Pa src .
|
|
.DFLTu
|
|
.
|
|
.It Sy USETOOLS
|
|
Indicates whether the tools specified by
|
|
.Sy TOOLDIR
|
|
should be used as part of a build in progress.
|
|
Must be set to
|
|
.Dq yes
|
|
if cross-compiling.
|
|
.Bl -tag -width "never"
|
|
.It Sy yes
|
|
Use the tools from
|
|
.Sy TOOLDIR .
|
|
.It Sy no
|
|
Do not use the tools from
|
|
.Sy TOOLDIR ,
|
|
but refuse to build native compilation tool components that are
|
|
version-specific for that tool.
|
|
.It Sy never
|
|
Do not use the tools from
|
|
.Sy TOOLDIR ,
|
|
even when building native tool components.
|
|
This is similar to the traditional
|
|
.Nx
|
|
build method, but does
|
|
.Em not
|
|
verify that the compilation tools in use are up-to-date enough in order
|
|
to build the tree successfully.
|
|
This may cause build or runtime problems when building the whole
|
|
.Nx
|
|
source tree.
|
|
.El
|
|
.DFLT
|
|
.Dq yes
|
|
if building all or part of a whole
|
|
.Nx
|
|
source tree (detected automatically);
|
|
.Dq no
|
|
otherwise (to preserve traditional semantics of the
|
|
.Aq bsd.*.mk
|
|
.Xr make 1
|
|
include files).
|
|
.
|
|
.El
|
|
.
|
|
.Ss pkgsrc system variables
|
|
.
|
|
Please see
|
|
.Xr packages 7
|
|
for more variables used internally by the package system and
|
|
.Pa ${PKGSRCDIR}/mk/bsd.pkg.defaults.mk
|
|
for package-specific examples.
|
|
.
|
|
.Sh FILES
|
|
.Bl -tag -width /etc/mk.conf
|
|
.
|
|
.It Pa /etc/mk.conf
|
|
This file.
|
|
.
|
|
.It Pa ${PKGSRCDIR}/mk/bsd.pkg.defaults.mk
|
|
Examples for settings regarding the pkgsrc collection.
|
|
.El
|
|
.
|
|
.Sh SEE ALSO
|
|
.Xr make 1 ,
|
|
.Xr packages 7
|
|
.
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
file appeared in
|
|
.Nx 1.2 .
|