summaryrefslogtreecommitdiffstats
path: root/share/man/man5/make.conf.5
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man5/make.conf.5')
-rw-r--r--share/man/man5/make.conf.5712
1 files changed, 712 insertions, 0 deletions
diff --git a/share/man/man5/make.conf.5 b/share/man/man5/make.conf.5
new file mode 100644
index 0000000..e705749
--- /dev/null
+++ b/share/man/man5/make.conf.5
@@ -0,0 +1,712 @@
+.\" Copyright (c) 2000
+.\" Mike W. Meyer
+.\"
+.\" 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.
+.\"
+.\" 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.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd May 17, 2014
+.Dt MAKE.CONF 5
+.Os
+.Sh NAME
+.Nm make.conf
+.Nd system build information
+.Sh DESCRIPTION
+The file
+.Nm
+contains system-wide settings that will apply to every build using
+.Xr make 1
+and the standard
+.Pa sys.mk
+file.
+This is achieved as follows:
+.Xr make 1
+processes the system makefile
+.Pa sys.mk
+before any other file by default, and
+.Pa sys.mk
+includes
+.Nm .
+.Pp
+The file
+.Nm
+uses the standard makefile syntax.
+However,
+.Nm
+should not specify any dependencies to
+.Xr make 1 .
+Instead,
+.Nm
+is to set
+.Xr make 1
+variables that control the actions of other makefiles.
+.Pp
+The default location of
+.Nm
+is
+.Pa /etc/make.conf ,
+though an alternative location can be specified in the
+.Xr make 1
+variable
+.Va __MAKE_CONF .
+You may need to override the location of
+.Nm
+if the system-wide settings are not suitable for a particular build.
+For instance, setting
+.Va __MAKE_CONF
+to
+.Pa /dev/null
+effectively resets all build controls to their defaults.
+.Pp
+The primary purpose of
+.Nm
+is to control the compilation of the
+.Fx
+sources, documentation, and ported applications,
+which are usually found in
+.Pa /usr/src ,
+.Pa /usr/doc ,
+and
+.Pa /usr/ports .
+As a rule, the system administrator creates
+.Nm
+when the values of certain control variables need to be changed
+from their defaults.
+.Pp
+The system build procedures occur in four broad areas:
+the world, the kernel, documentation and ports.
+Variables set in
+.Nm
+may be applicable in one, two, or all four of these areas.
+In addition, control variables can be specified
+for a particular build via the
+.Fl D
+option of
+.Xr make 1
+or in
+.Xr environ 7 .
+.Pp
+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
+.Vt bool
+are ignored; the variable being
+set at all (even to
+.Dq Li FALSE
+or
+.Dq Li NO )
+causes it to
+be treated as if it were set.
+.Pp
+The following list provides a name and short description for variables
+that are used for all builds, or are used by the
+.Pa makefiles
+for things other than builds.
+.Bl -tag -width Ar
+.It Va ALWAYS_CHECK_MAKE
+.Pq Vt bool
+Instructs the top-level makefile in the source tree (normally
+.Pa /usr/src )
+to always check if
+.Xr make 1
+is up-to-date.
+Normally this is only done for the world and buildworld targets to handle
+upgrades from older versions of
+.Fx .
+.It Va CFLAGS
+.Pq Vt str
+Controls the compiler setting when compiling C code.
+Optimization levels other than
+.Fl O
+and
+.Fl O2
+are not supported.
+.Va BDECFLAGS
+is provided as a set of
+.Xr cc 1
+settings suggested by
+.An Bruce Evans Aq Mt bde@FreeBSD.org
+for developing and testing changes.
+They can be used, if set, by:
+.Bd -literal -offset indent
+CFLAGS+=${BDECFLAGS}
+.Ed
+.It Va CPUTYPE
+.Pq Vt str
+Controls which processor should be targeted for generated
+code.
+This controls processor-specific optimizations in
+certain code (currently only OpenSSL) as well as modifying
+the value of
+.Va CFLAGS
+and
+.Va COPTFLAGS
+to contain the appropriate optimization directive to
+.Xr cc 1 .
+The automatic setting of
+.Va CFLAGS
+and
+.Va COPTFLAGS
+may be overridden using the
+.Va NO_CPU_CFLAGS
+and
+.Va NO_CPU_COPTFLAGS
+variables, respectively.
+Refer to
+.Pa /usr/share/examples/etc/make.conf
+for a list of recognized
+.Va CPUTYPE
+options.
+.It Va CXXFLAGS
+.Pq Vt str
+Controls the compiler settings when compiling C++ code.
+.Va CXXFLAGS
+is initially set to the value of
+.Va CFLAGS .
+If you want to
+add to the
+.Va CXXFLAGS
+value, use
+.Dq Li +=
+instead of
+.Dq Li = .
+.It Va INSTALL
+.Pq Vt str
+the default install command.
+To install only files for which the target differs or does not exist, use
+.Bd -literal -offset indent
+INSTALL+= -C
+.Ed
+Note that some makefiles (including those in
+.Pa /usr/share/mk )
+may hardcode options for the supplied install command.
+.It Va LOCAL_DIRS
+.Pq Vt str
+List any directories that should be entered when doing
+make's in
+.Pa /usr/src
+in this variable.
+.It Va MAKE_SHELL
+.Pq Vt str
+Controls the shell used internally by
+.Xr make 1
+to process the command scripts in makefiles.
+.Xr sh 1 ,
+.Xr ksh 1 ,
+and
+.Xr csh 1
+all currently supported.
+.Pp
+.Dl "MAKE_SHELL?=sh"
+.It Va MTREE_FOLLOWS_SYMLINKS
+.Pq Vt str
+Set this to
+.Dq Fl L
+to cause
+.Xr mtree 8
+to follow symlinks.
+.It Va NO_CPU_CFLAGS
+.Pq Vt str
+Setting this variable will prevent CPU specific compiler flags
+from being automatically added to
+.Va CFLAGS
+during compile time.
+.It Va NO_CPU_COPTFLAGS
+.Pq Vt str
+Setting this variable will prevent CPU specific compiler flags
+from being automatically added to
+.Va COPTFLAGS
+during compile time.
+.It Va NO_DOCUPDATE
+.Pq Vt bool
+Set this to not update the doc tree during
+.Dq Li "make update" .
+.It Va NO_PORTSUPDATE
+.Pq Vt bool
+Set this to not update the ports tree during
+.Dq Li "make update" .
+.It Va SVN_UPDATE
+.Pq Vt bool
+Set this to use
+.Xr svn 1
+to update your
+.Pa src
+tree with
+.Dq Li "make update" .
+Note that since a subversion client is not included in the base system,
+you will need to set
+.Va SVN
+to the full path of a
+.Xr svn 1
+binary.
+.El
+.Ss "BUILDING THE KERNEL"
+The following list provides a name and short description for variables
+that are only used doing a kernel build:
+.Bl -tag -width Ar
+.It Va BOOTWAIT
+.Pq Vt int
+Controls the amount of time the kernel waits for a console keypress
+before booting the default kernel.
+The value is approximately milliseconds.
+Keypresses are accepted by the BIOS before booting from disk,
+making it possible to give custom boot parameters even when this is
+set to 0.
+.It Va COPTFLAGS
+.Pq Vt str
+Controls the compiler settings when building the
+kernel.
+Optimization levels above
+.Oo Fl O ( O2 , No ...\& ) Oc
+are not guaranteed to work.
+.It Va KERNCONF
+.Pq Vt str
+Controls which kernel configurations will be
+built by
+.Dq Li "${MAKE} buildkernel"
+and installed by
+.Dq Li "${MAKE} installkernel" .
+For example,
+.Bd -literal -offset indent
+KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
+.Ed
+.Pp
+will build the kernels specified by the config files
+.Pa MINE , DEBUG , GENERIC ,
+and
+.Pa OTHERMACHINE ,
+and install the kernel specified by the config file
+.Pa MINE .
+It defaults to
+.Pa GENERIC .
+.It Va MODULES_OVERRIDE
+.Pq Vt str
+Set to a list of modules to build instead of all of them.
+.It Va NO_KERNELCLEAN
+.Pq Vt bool
+Set this to skip running
+.Dq Li "${MAKE} clean"
+during
+.Dq Li "${MAKE} buildkernel" .
+.It Va NO_KERNELCONFIG
+.Pq Vt bool
+Set this to skip running
+.Xr config 8
+during
+.Dq Li "${MAKE} buildkernel" .
+.It Va NO_KERNELDEPEND
+.Pq Vt bool
+Set this to skip running
+.Dq Li "${MAKE} depend"
+during
+.Dq Li "${MAKE} buildkernel" .
+.It Va NO_KERNELOBJ
+.Pq Vt bool
+Set this to skip running
+.Dq Li "${MAKE} obj"
+during
+.Dq Li "${MAKE} buildkernel" .
+.It Va NO_MODULES
+.Pq Vt bool
+Set to not build modules with the kernel.
+.It Va PORTS_MODULES
+Set this to the list of ports you wish to rebuild every time the kernel
+is built.
+.It Va WITHOUT_MODULES
+.Pq Vt 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 specifying
+.Va MODULES_OVERRIDE .
+This is applied
+.Em after
+.Va MODULES_OVERRIDE .
+.El
+.Ss "BUILDING THE WORLD"
+The following list provides a name and short description for variables
+that are used during the world build:
+.Bl -tag -width Ar
+.It Va BOOT_COMCONSOLE_PORT
+.Pq Vt 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.
+.It Va BOOT_COMCONSOLE_SPEED
+.Pq Vt 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.
+.It Va BOOT_PXELDR_ALWAYS_SERIAL
+.Pq Vt bool
+Compile in the code into
+.Xr pxeboot 8
+that forces the use of a serial console.
+This is analogous to the
+.Fl h
+option in
+.Xr boot 8
+blocks.
+.It Va BOOT_PXELDR_PROBE_KEYBOARD
+.Pq Vt bool
+Compile in the code into
+.Xr pxeboot 8
+that probes the keyboard.
+If no keyboard is found, boot with the dual console configuration.
+This is analogous to the
+.Fl D
+option in
+.Xr boot 8
+blocks.
+.It Va ENABLE_SUID_K5SU
+.Pq Vt bool
+Set this if you wish to use the ksu utility.
+Otherwise, it will be
+installed without the set-user-ID bit set.
+.It Va ENABLE_SUID_NEWGRP
+.Pq Vt bool
+Set this to install
+.Xr newgrp 1
+with the set-user-ID bit set.
+Otherwise,
+.Xr newgrp 1
+will not be able to change users' groups.
+.It Va LOADER_TFTP_SUPPORT
+.Pq Vt bool
+By default the
+.Xr pxeboot 8
+loader retrieves the kernel via NFS.
+Defining this and recompiling
+.Pa /usr/src/sys/boot
+will cause it to retrieve the kernel via TFTP.
+This allows
+.Xr pxeboot 8
+to load a custom BOOTP diskless kernel yet
+still mount the server's
+.Pa /
+rather than load the server's kernel.
+.It Va LOADER_FIREWIRE_SUPPORT
+.Pq Vt bool
+Defining this and recompiling
+.Pa /usr/src/sys/boot/i386
+will add
+.Xr dcons 4
+console driver to
+.Xr loader 8
+and allow access over FireWire(IEEE1394) using
+.Xr dconschat 8 .
+Currently, only i386 and amd64 are supported.
+.It Va MALLOC_PRODUCTION
+.Pq Vt bool
+Set this to disable assertions and statistics gathering in
+.Xr malloc 3 .
+It also defaults the A and J runtime options to off.
+Disabled by default on -CURRENT.
+.It Va MODULES_WITH_WORLD
+.Pq Vt bool
+Set to build modules with the system instead of the kernel.
+.It Va NO_CLEAN
+.Pq Vt bool
+Set this to disable cleaning during
+.Dq Li "make buildworld" .
+This should not be set unless you know what you are doing.
+.It Va NO_CLEANDIR
+.Pq Vt bool
+Set this to run
+.Dq Li "${MAKE} clean"
+instead of
+.Dq Li "${MAKE} cleandir" .
+.It Va WITH_MANCOMPRESS
+.Pq Vt defined
+Set to install manual pages compressed.
+.It Va WITHOUT_MANCOMPRESS
+.Pq Vt defined
+Set to install manual pages uncompressed.
+.It Va NO_SHARE
+.Pq Vt bool
+Set to not build in the
+.Pa share
+subdir.
+.It Va NO_SHARED
+.Pq Vt bool
+Set to build
+.Pa /bin
+and
+.Pa /sbin
+statically linked, this can be bad.
+If set, every utility that uses
+.Pa bsd.prog.mk
+will be linked statically.
+.It Va PPP_NO_NAT
+.Pq Vt bool
+Build
+.Xr ppp 8
+without support for network address translation (NAT).
+.It Va PPP_NO_NETGRAPH
+.Pq Vt bool
+Set to build
+.Xr ppp 8
+without support for Netgraph.
+.It Va PPP_NO_RADIUS
+.Pq Vt bool
+Set to build
+.Xr ppp 8
+without support for RADIUS.
+.It Va PPP_NO_SUID
+.Pq Vt bool
+Set to disable the installation of
+.Xr ppp 8
+as a set-user-ID root program.
+.It Va SENDMAIL_ADDITIONAL_MC
+.Pq Vt str
+Additional
+.Pa .mc
+files which should be built into
+.Pa .cf
+files at build time.
+The value should include the full path to the
+.Pa .mc
+file(s), e.g.,
+.Pa /etc/mail/foo.mc ,
+.Pa /etc/mail/bar.mc .
+.It Va SENDMAIL_ALIASES
+.Pq Vt str
+List of
+.Xr aliases 5
+files to rebuild when using
+.Pa /etc/mail/Makefile .
+The default value is
+.Pa /etc/mail/aliases .
+.It Va SENDMAIL_CFLAGS
+.Pq Vt str
+Flags to pass to the compile command when building
+.Xr sendmail 8 .
+The
+.Va SENDMAIL_*
+flags can be used to provide SASL support with setting such as:
+.Bd -literal -offset indent
+SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
+SENDMAIL_LDFLAGS=-L/usr/local/lib
+SENDMAIL_LDADD=-lsasl
+.Ed
+.It Va SENDMAIL_CF_DIR
+.Pq Vt str
+Override the default location for the
+.Xr m4 1
+configuration files used to build a
+.Pa .cf
+file from a
+.Pa .mc
+file.
+.It Va SENDMAIL_DPADD
+.Pq Vt str
+Extra dependencies to add when building
+.Xr sendmail 8 .
+.It Va SENDMAIL_LDADD
+.Pq Vt str
+Flags to add to the end of the
+.Xr ld 1
+command when building
+.Xr sendmail 8 .
+.It Va SENDMAIL_LDFLAGS
+.Pq Vt str
+Flags to pass to the
+.Xr ld 1
+command when building
+.Xr sendmail 8 .
+.It Va SENDMAIL_M4_FLAGS
+.Pq Vt str
+Flags passed to
+.Xr m4 1
+when building a
+.Pa .cf
+file from a
+.Pa .mc
+file.
+.It Va SENDMAIL_MAP_PERMS
+.Pq Vt str
+Mode to use when generating alias and map database files using
+.Pa /etc/mail/Makefile .
+The default value is 0640.
+.It Va SENDMAIL_MAP_SRC
+.Pq Vt str
+Additional maps to rebuild when using
+.Pa /etc/mail/Makefile .
+The
+.Pa access ,
+.Pa bitdomain ,
+.Pa domaintable ,
+.Pa genericstable ,
+.Pa mailertable ,
+.Pa uucpdomain ,
+and
+.Pa virtusertable
+maps are always rebuilt if they exist.
+.It Va SENDMAIL_MAP_TYPE
+.Pq Vt str
+Database map type to use when generating map database files using
+.Pa /etc/mail/Makefile .
+The default value is hash.
+The alternative is btree.
+.It Va SENDMAIL_MC
+.Pq Vt str
+The default
+.Xr m4 1
+configuration file to use at install time.
+The value should include the full path to the
+.Pa .mc
+file, e.g.,
+.Pa /etc/mail/myconfig.mc .
+Use with caution as a make install will overwrite any existing
+.Pa /etc/mail/sendmail.cf .
+Note that
+.Va SENDMAIL_CF
+is now deprecated.
+.It Va SENDMAIL_SET_USER_ID
+.Pq Vt bool
+If set, install
+.Xr sendmail 8
+as a set-user-ID root binary instead of a set-group-ID binary
+and do not install
+.Pa /etc/mail/submit.{cf,mc} .
+Use of this flag is not recommended and the alternative advice in
+.Pa /etc/mail/README
+should be followed instead if at all possible.
+.It Va SENDMAIL_START_SCRIPT
+.Pq Vt str
+The script used by
+.Pa /etc/mail/Makefile
+to start, stop, and restart
+.Xr sendmail 8 .
+The default value is
+.Pa /etc/rc.sendmail .
+This value should match the
+.Dq Li mta_start_script
+setting in
+.Xr rc.conf 5 .
+.It Va SENDMAIL_SUBMIT_MC
+.Pq Vt str
+The default
+.Xr m4 1
+configuration file for mail submission
+to use at install time.
+The value should include the full path to the
+.Pa .mc
+file, e.g.,
+.Pa /etc/mail/mysubmit.mc .
+Use with caution as a make install will overwrite any existing
+.Pa /etc/mail/submit.cf .
+.It Va TOP_TABLE_SIZE
+.Pq Vt int
+.Xr 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 number
+approximately twice as large as the number of lines in
+.Pa /etc/passwd .
+The default number is 20011.
+.It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE
+.Pq Vt int
+Causes the system compiler to be built such that it forces high optimization
+levels to a lower one.
+.Xr cc 1
+.Fl O2
+and above is known to trigger known optimizer bugs at various
+times.
+The value assigned is the highest optimization value used.
+.El
+.Ss "BUILDING DOCUMENTATION"
+The following list provides a name and short description for variables
+that are used when building documentation.
+.Bl -tag -width ".Va PRINTERDEVICE"
+.It Va DISTDIR
+.Pq Vt str
+Where distfiles are kept.
+Normally, this is
+.Pa distfiles
+in
+.Va PORTSDIR .
+.It Va DOC_LANG
+.Pq Vt str
+The list of languages and encodings to build and install.
+.It Va PRINTERDEVICE
+.Pq Vt str
+The default format for system documentation, depends on your
+printer.
+This can be set to
+.Dq Li ascii
+for simple printers, or
+.Dq Li ps
+for postscript or graphics printers with a ghostscript
+filter, or both.
+.El
+.Ss "BUILDING PORTS"
+Several make variables can be set that affect the building of ports.
+These variables and their effects are documented in
+.Xr ports 7 ,
+.Pa ${PORTSDIR}/Mk/*
+and the
+.Fx
+Porter's Handbook.
+.Sh FILES
+.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact
+.It Pa /etc/make.conf
+.It Pa /usr/doc/Makefile
+.It Pa /usr/ports/Makefile
+.It Pa /usr/share/examples/etc/make.conf
+.It Pa /usr/share/mk/sys.mk
+.It Pa /usr/src/Makefile
+.It Pa /usr/src/Makefile.inc1
+.El
+.Sh SEE ALSO
+.Xr cc 1 ,
+.Xr install 1 ,
+.Xr make 1 ,
+.Xr src.conf 5 ,
+.Xr environ 7 ,
+.Xr ports 7 ,
+.Xr sendmail 8
+.Sh HISTORY
+The
+.Nm
+file appeared sometime before
+.Fx 4.0 .
+.Sh AUTHORS
+This
+manual page was written by
+.An Mike W. Meyer Aq Mt mwm@mired.org .
+.Sh CAVEATS
+Note, that
+.Ev MAKEOBJDIRPREFIX
+and
+.Ev MAKEOBJDIR
+are environment variables and should not be set in
+.Nm
+or as command line arguments to
+.Xr make 1 ,
+but in make's environment.
+.Sh BUGS
+This manual page may occasionally be out of date with respect to
+the options currently available for use in
+.Nm .
+Please check the
+.Pa /usr/share/examples/etc/make.conf
+file for the latest options which are available.
OpenPOWER on IntegriCloud