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
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