make.conf(5)

NAME

make.conf - system build information

DESCRIPTION

The file make.conf contains system-wide settings that will
apply to every
build using make(1) and the standard sys.mk file. This is
achieved as
follows: make(1) processes the system makefile sys.mk before
any other
file by default, and sys.mk includes make.conf.
The file make.conf uses the standard makefile syntax. How
ever, make.conf
should not specify any dependencies to make(1). Instead,
make.conf is to
set make(1) variables that control the actions of other
makefiles.
The default location of make.conf is /etc/make.conf, though
an alternative location can be specified in the make(1) variable
__MAKE_CONF. You
may need to override the location of make.conf if the sys
tem-wide settings are not suitable for a particular build. For in
stance, setting
__MAKE_CONF to /dev/null effectively resets all build con
trols to their
defaults.
The primary purpose of make.conf is to control the compila
tion of the
FreeBSD sources, documentation, and ported applications,
which are usually found in /usr/src, /usr/doc, and /usr/ports. As a
rule, the system
administrator creates make.conf when the values of certain
control variables need to be changed from their defaults.
The system build procedures occur in four broad areas: the
world, the
kernel, documentation and ports. Variables set in make.conf
may be
applicable in one, two, or all four of these areas. In ad
dition, control
variables can be specified for a particular build via the -D
option of
make(1) or in environ(7).
The following lists provide a name and short description for
each variable you can use during the indicated builds. The values of
variables
flagged as bool are ignored; the variable being set at all
(even to
``FALSE'' or ``NO'') causes it to be treated as if it were
set.
The following list provides a name and short description for
variables
that are used for all builds, or are used by the makefiles
for things
other than builds.
ALWAYS_CHECK_MAKE
(bool) Instructs the top-level makefile in the
source tree
(normally /usr/src) to always check if make(1)
is up-todate. Normally this is only done for the
world and buildworld targets to handle upgrades from older
versions of
FreeBSD.
CFLAGS (str) Controls the compiler setting when com
piling C code.
Optimization levels other than -O and -O2 are
not supported. BDECFLAGS is provided as a set of
gcc(1) settings
suggested by Bruce Evans <bde@FreeBSD.org> for
developing
and testing changes. They can be used, if
set, by:

CFLAGS+=${BDECFLAGS}
CPUTYPE (str) Controls which processor should be tar
geted for gen
erated code. This controls processor-specific
optimizations in certain code (currently only OpenSSL)
as well as
modifying the value of CFLAGS and COPTFLAGS to
contain the
appropriate optimization directive to gcc(1).
The automatic setting of CFLAGS and COPTFLAGS may be
overridden
using the NO_CPU_CFLAGS and NO_CPU_COPTFLAGS
variables,
respectively. Refer to
/usr/share/examples/etc/make.conf for a list of recognized CPUTYPE options.
NO_CPU_CFLAGS
(str) Setting this variable will prevent CPU
specific compiler flags from being automatically added to
CFLAGS during
compile time.
NO_CPU_COPTFLAGS
(str) Setting this variable will prevent CPU
specific compiler flags from being automatically added to
COPTFLAGS
during compile time.
CVS_UPDATE (bool) Set this to use cvs(1) to update your
ports with
``make update''.
CXXFLAGS (str) Controls the compiler settings when com
piling C++
code. CXXFLAGS is initially set to the value
of CFLAGS.
If you want to add to the CXXFLAGS value, use
``+=''
instead of ``=''.
INSTALL (str) the default install command. To install
only files
for which the target differs or does not ex
ist, use

INSTALL="install -C"
Note that some makefiles (including those in
/usr/share/mk)
may hardcode options for the supplied install
command.
LOCAL_DIRS (str) List any directories that should be en
tered when
doing make's in /usr/src in this variable.
MAKE_SHELL (str) Controls the shell used internally by
make(1) to pro
cess the command scripts in makefiles. sh(1),
ksh(1), and
csh(1) all currently supported.

MAKE_SHELL?=sh
MTREE_FOLLOWS_SYMLINKS
(str) Set this to ``-L'' to cause mtree(8) to
follow symlinks.
NO_DOCUPDATE (bool) Set this to not update the doc tree
during ``make
update''.
NO_PORTSUPDATE
(bool) Set this to not update the ports tree
during ``make
update''.
SUP_UPDATE (bool) Set this to use cvsup(1) to update your
ports with
``make update''.
SUP (str) The location of the cvsup(1) command for
``make
update''.
SUPFLAGS (str) The flag for the sup(1) command when do
ing ``make
update''. This defaults to [-g -L 2].
SUPHOST (str) The hostname of the sup server to use
when doing
``make update''.
SUPFILE (str) The first supfile to use when doing a
``make
update''. This defaults to
/usr/share/examples/cvsup/standard-supfile.
SUPFILE1 (str) The second supfile to use when doing a
``make
update''. This defaults to
/usr/share/examples/cvsup/secure-supfile.
SUPFILE2 (str) The third supfile to use when doing a
``make
update''. This defaults to
/usr/share/examples/cvsup/secure-supfile.
PORTSSUPFILE (str) The ports supfile to use when doing a
``make
update''. This defaults to
/usr/share/examples/cvsup/ports-supfile.
DOCSUPFILE (str) The documentation supfile to use when
doing a ``make
update''. This defaults to
/usr/share/examples/cvsup/doc-supfile.
The following list provides a name and short description for
variables
that are only used doing a kernel build:
BOOT_COMCONSOLE_PORT
(str) The port address to use for the console
if the boot
blocks have been configured to use a serial
console instead
of the keyboard/video card.
BOOT_COMCONSOLE_SPEED
(int) The baud rate to use for the console if
the boot
blocks have been configured to use a serial
console instead
of the keyboard/video card.
BOOTWAIT (int) Controls the amount of time the kernel
waits for a
console keypress before booting the default
kernel. The
value is approximately milliseconds. Key
presses are
accepted by the BIOS before booting from disk,
making it
possible to give custom boot parameters even
when this is
set to 0.
COPTFLAGS (str) Controls the compiler settings when
building the ker
nel. Optimization levels above [-O (-O2,
guaranteed to work.
KERNCONF (str) Controls which kernel configurations
will be built by
``${MAKE} buildkernel'' and installed by
``${MAKE}
installkernel''. For example,

KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
will build the kernels specified by the config
files MINE,
DEBUG, GENERIC, and OTHERMACHINE, and install
the kernel
specified by the config file MINE. It de
faults to GENERIC.
LOADER_TFTP_SUPPORT
(bool) While not a buildkernel-affected op
tion, there is no
better place for this. By default the pxe
boot(8) loader
retrieves the kernel via NFS. Defining this
and recompiling /usr/src/sys/boot will cause it to re
trieve the kernel
via TFTP. This allows pxeboot(8) to load a
custom BOOTP
diskless kernel yet still mount the server's /
rather than
load the server's kernel.
MODULES_OVERRIDE
(str) Set to a list of modules to build in
stead of all of
them.
WITHOUT_MODULES
(str) Set to a list of modules to exclude from
the build.
This provides a somewhat easier way to exclude
modules you
are certain you will never need than specify
ing
MODULES_OVERRIDE. This is applied after
MODULES_OVERRIDE.
PORTS_MODULES
Set this to the list of ports you wish to re
build every
time the kernel is built.
NO_KERNELCONFIG
(bool) Set this to skip running config(8) dur
ing ``${MAKE}
buildkernel''.
NO_KERNELDEPEND
(bool) Set this to skip running ``${MAKE} de
pend'' during
``${MAKE} buildkernel''.
NO_MODULES (bool) Set to not build modules with the ker
nel.
The following list provides a name and short description for
variables
that are used during the world build:
MAKE_IDEA (bool) Set to build the IDEA encryption code.
This code is
patented in the USA and many European coun
tries. It is
YOUR RESPONSIBILITY to determine if you can
legally use
IDEA.
NO_DYNAMICROOT
(bool) Set this if you do not want to link
/bin and /sbin
dynamically.
NO_KERBEROS (bool) Set this if you do not want to build
Kerberos 5 (KTH
Heimdal).
ENABLE_SUID_K5SU
(bool) Set this if you wish to use the ksu
utility. Otherwise, it will be installed without the set-us
er-ID bit set.
ENABLE_SUID_NEWGRP
(bool) Set this to install newgrp(1) with the
set-user-ID
bit set. Otherwise, newgrp(1) will not be
able to change
users' groups.
ENABLE_SUID_SSH
(bool) Set this to install ssh(1) with the
set-user-ID bit
turned on.
NO_WPA_SUPPLICANT_EAPOL
(bool) Build wpa_supplicant(8) without support
for the IEEE
802.1X protocol and without support for EAP
PEAP, EAP-TLS,
EAP-LEAP, and EAP-TTLS protocols (usable only
via 802.1X).
MODULES_WITH_WORLD
(bool) Set to build modules with the system
instead of the
kernel.
NO_BLUETOOTH (bool) Set to not build Bluetooth related ker
nel modules,
programs and libraries.
NO_BOOT (bool) Set to not build the boot blocks and
loader.
NO_CVS (bool) Set to not build CVS.
NO_CXX (bool) Set to not build g++(1) and related li
braries.
NO_DICT (bool) Set to not build the Webster dictionary
files.
NO_FORTRAN (bool) Set to not build g77(1) and related li
braries.
NO_GDB (bool) Set to not build gdb(1).
NO_GPIB (bool) Set to not build GPIB bus support.
NO_I4B (bool) Set to not build isdn4bsd package.
NO_IPFILTER (bool) Set to not build IP Filter package.
NO_PF (bool) Set to not build PF firewall package.
NO_AUTHPF (bool) Set to not build authpf(8).
NO_TOOLCHAIN (bool) Set to not build programs used for pro
gram develop
ment, compilers, debuggers etc.
NO_INET6 (bool) Set to not build programs and libraries
related to
IPv6 networking.
NO_ATM (bool) Set to not build programs and libraries
related to
ATM networking.
NO_USB (bool) Set to not build usbd(8) and related
programs.
NO_LPR (bool) Set to not build lpr(1) and related
programs.
NO_ACPI (bool) Set to not build acpiconf(8),
acpidump(8) and
related programs.
NO_MAILWRAPPER
(bool) Set to not build the mailwrapper(8) MTA
selector.
NO_MAN (bool) Set to not build manual pages.
NO_NETCAT (bool) Set to not build nc(1) utility.
NO_NIS (bool) Set to not build NIS(8) support and re
lated pro
grams. If set, you might need to adopt your
nsswitch.conf(5) and remove `nis' entries.
NO_NLS_CATALOGS
(bool) Set to not build NLS catalog support
for csh(1).
NO_OBJC (bool) Set to not build Objective C support.
NO_OPENSSH (bool) Set to not build OpenSSH.
NO_OPENSSL (bool) Set to not build OpenSSL (implies
NO_KERBEROS and
NO_OPENSSH).
NO_SENDMAIL (bool) Set to not build sendmail(8) and relat
ed programs.
NO_SHAREDOCS (bool) Set to not build the 4.4BSD legacy
docs.
NO_TCSH (bool) Set to not build and install /bin/csh
(which is
tcsh(1)).
NO_CLEAN (bool) Set this to disable cleaning during
``make
buildworld''. This should not be set unless
you know what
you are doing.
NO_CLEANDIR (bool) Set this to run ``${MAKE} clean'' in
stead of
``${MAKE} cleandir''.
NO_CRYPT (bool) Set to not build any crypto code.
NO_GAMES (bool) Set to not build games.
NO_INFO (bool) Set to not make or install info(5)
files.
NO_LIBC_R (bool) Set to not build libc_r (reentrant ver
sion of libc).
NO_LIBPTHREAD
(bool) Set to not build the libpthread (M:N
threading)
library.
NO_LIBTHR (bool) Set to not build the libthr (1:1
threading) library.
NO_MANCOMPRESS
(bool) Set to install manual pages uncom
pressed.
NO_PROFILE (bool) Set to avoid compiling profiled li
braries.
NO_SHARE (bool) Set to not build in the share subdir.
NO_SHARED (bool) Set to build /bin and /sbin statically
linked, this
can be bad. If set, every utility that uses
bsd.prog.mk
will be linked statically.
NO_BIND (bool) Setting this variable will prevent any
part of BIND
from being built, regardless of the presence
of any of the
other *_BIND_* variables below.
NO_BIND_DNSSEC
(bool) Set to avoid building or installing the
DNSSEC
related binaries, dnssec-keygen(8) and dnssec
signzone(8).
NO_BIND_ETC (bool) Set to avoid installing the default
files to
/var/named/etc/namedb.
NO_BIND_LIBS_LWRES
(bool) Set to avoid installing the lightweight
resolver
library in /usr/lib. The library that is pri
vate to the
build system may still be built as needed.
NO_BIND_MTREE
(bool) Set to avoid running mtree(8) to create
the chroot
directory structure under /var/named, and
avoid creating an
/etc/namedb symlink to the chroot directory.
This option
should typically be used together with
NO_BIND_ETC.
NO_BIND_NAMED
(bool) Set to avoid building or installing
named(8),
named.reload(8), named-checkconf(8), named
checkzone(8),
rndc(8), and rndc-confgen(8).
NO_BIND_UTILS
(bool) Set to avoid building or installing the
BIND userland utilities, dig(1), host(1), nslookup(1),
and
nsupdate(8).
WITH_BIND_LIBS
(bool) Set to install BIND libraries and in
clude files.
PPP_NO_NAT (bool) Build ppp(8) without support for net
work address
translation (NAT).
PPP_NO_NETGRAPH
(bool) Set to build ppp(8) without support for
Netgraph.
PPP_NO_RADIUS
(bool) Set to build ppp(8) without support for
RADIUS.
PPP_NO_SUID (bool) Set to disable the installation of
ppp(8) as a set
user-ID root program.
NO_RCMDS (bool) Disable building of the BSD r-commands.
This
includes rlogin(1), rsh(1), etc.
SENDMAIL_MC (str) The default m4(1) configuration file to
use at
install time. The value should include the
full path to
the .mc file, e.g., /etc/mail/myconfig.mc.
Use with caution as a make install will overwrite any ex
isting
/etc/mail/sendmail.cf. Note that SENDMAIL_CF
is now deprecated.
SENDMAIL_SUBMIT_MC
(str) The default m4(1) configuration file for
mail submission to use at install time. The value should
include the
full path to the .mc file, e.g.,
/etc/mail/mysubmit.mc.
Use with caution as a make install will over
write any
existing /etc/mail/submit.cf.
SENDMAIL_ADDITIONAL_MC
(str) Additional .mc files which should be
built into .cf
files at build time. The value should include
the full
path to the .mc file(s), e.g.,
/etc/mail/foo.mc
/etc/mail/bar.mc.
SENDMAIL_CF_DIR
(str) Override the default location for the
m4(1) configuration files used to build a .cf file from a
.mc file.
SENDMAIL_M4_FLAGS
(str) Flags passed to m4(1) when building a
.cf file from a
.mc file.
SENDMAIL_CFLAGS
(str) Flags to pass to the compile command
when building
sendmail(8). The SENDMAIL_* flags can be used
to provide
SASL support with setting such as:

SENDMAIL_CFLAGS=-I/usr/local/include
-DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl
SENDMAIL_LDFLAGS
(str) Flags to pass to the ld(1) command when
building
sendmail(8).
SENDMAIL_LDADD
(str) Flags to add to the end of the ld(1)
command when
building sendmail(8).
SENDMAIL_DPADD
(str) Extra dependencies to add when building
sendmail(8).
SENDMAIL_SET_USER_ID
(bool) If set, install sendmail(8) as a set
user-ID root
binary instead of a set-group-ID binary and do
not install
/etc/mail/submit.{cf,mc}. Use of this flag is
not recommended and the alternative advice in
/etc/mail/README
should be followed instead if at all possible.
SENDMAIL_MAP_PERMS
(str) Mode to use when generating alias and
map database
files using /etc/mail/Makefile. The default
value is 0640.
TOP_TABLE_SIZE
(int) top(1) uses a hash table for the user
names. The
size of this hash can be tuned to match the
number of local
users. The table size should be a prime num
ber approximately twice as large as the number of lines
in
/etc/passwd. The default number is 20011.
WANT_FORCE_OPTIMIZATION_DOWNGRADE
(int) Causes the system compiler to be built
such that it
forces high optimization levels to a lower
one. gcc(1) -O2
and above is known to trigger known optimizer
bugs at various times -- this is worse on the Alpha plat
form. The
value assigned is the highest optimization
value used.
The following list provides a name and short description for
variables
that are used when building documentation.
DISTDIR (str) Where distfiles are kept. Normally,
this is
distfiles in PORTSDIR.
DOC_LANG (str) The list of languages and encodings to
build and
install.
PRINTERDEVICE
(str) The default format for system documenta
tion, depends
on your printer. This can be set to ``ascii''
for simple
printers, or ``ps'' for postscript or graphics
printers
with a ghostscript filter, or both.

FILES

/etc/make.conf
/usr/doc/Makefile
/usr/share/examples/etc/make.conf
/usr/share/mk/sys.mk
/usr/src/Makefile
/usr/src/Makefile.inc1

SEE ALSO

gcc(1), install(1), make(1), environ(7), ports(7), lpd(8),
sendmail(8)
wpa_supplicant(8)

HISTORY

The make.conf file appeared sometime before FreeBSD 4.0.

AUTHORS

This manual page was written by Mike W. Meyer
<mwm@mired.org>.

BUGS

This manual page may occasionally be out of date with re
spect to the
options currently available for use in make.conf. Please
check the
/usr/share/examples/etc/make.conf file for the latest op
tions which are
available.

CAVEATS

Note, that MAKEOBJDIRPREFIX and MAKEOBJDIR are environment
variables and
should not be set in make.conf but in make's environment.
BSD February 14, 2006
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout