make.conf revision 252314
150472Speter# $FreeBSD: head/share/examples/etc/make.conf 252314 2013-06-27 19:47:58Z jkim $
21664Sphk#
369040Sben# NOTE:  Please would any committer updating this file also update the
469040Sben# make.conf(5) manual page, if necessary, which is located in
569040Sben# src/share/man/man5/make.conf.5.
669040Sben#
782604Salex# /etc/make.conf, if present, will be read by make (see
882604Salex# /usr/share/mk/sys.mk).  It allows you to override macro definitions
982604Salex# to make without changing your source tree, or anything the source
1082604Salex# tree installs.
111664Sphk#
123023Srgrimes# This file must be in valid Makefile syntax.
133023Srgrimes#
1482604Salex# There are additional things you can put into /etc/make.conf.
1582604Salex# You have to find those in the Makefiles and documentation of
1682604Salex# the source tree.
171664Sphk#
18133476Sharti# Note, that you should not set MAKEOBJDIRPREFIX or MAKEOBJDIR
19133476Sharti# from make.conf (or as command line variables to make).
20133476Sharti# Both variables are environment variables for make and must be used as:
2172679Skris#
22133476Sharti# env MAKEOBJDIRPREFIX=/big/directory make
23133476Sharti#
24133476Sharti#
2599260Sjohan# The CPUTYPE variable controls which processor should be targeted for
2672878Skris# generated code.  This controls processor-specific optimizations in
2772878Skris# certain code (currently only OpenSSL) as well as modifying the value
28243315Sjkim# of CFLAGS to contain the appropriate optimization directive to cc.
2972878Skris# The automatic setting of CFLAGS may be overridden using the
3072878Skris# NO_CPU_CFLAGS variable below.
31243846Sjkim# Currently the following CPU types are recognized:
3273145Skris#   Intel x86 architecture:
33251692Sjkim#       (AMD CPUs)	amdfam10, opteron-sse3, athlon64-sse3, k8-sse3,
34251691Sjkim#			opteron, athlon64, athlon-fx, k8, athlon-mp,
35251691Sjkim#			athlen-xp, athlon-4, athlon-tbird, athlon, k7,
36251691Sjkim#			geode, k6-3, k6-2, k6
37243315Sjkim#       (Intel CPUs)	core2, core, nocona, pentium4m, pentium4, prescott,
38243315Sjkim#			pentium3m, pentium3, pentium-m, pentium2,
39243831Sjkim#			pentiumpro, pentium-mmx, pentium, i486
40243315Sjkim#       (VIA CPUs)	c7, c3-2, c3
41252314Sjkim#   AMD64 architecture:	amdfam10, opteron-sse3, athlon64-sse3, k8-sse3,
42252314Sjkim#			opteron, athlon64, k8, core2, nocona
43243315Sjkim#   Intel ia64 architecture:	itanium2, itanium
44216820Smarius#   SPARC-V9 architecture:	v9 (generic 64-bit V9), ultrasparc (default
45216820Smarius#				if omitted), ultrasparc3
46243315Sjkim# Additionally the following CPU types are recognized by clang:
47243315Sjkim#   Intel x86 architecture (for both amd64 and i386):
48251691Sjkim#       (AMD CPUs)	bdver2, bdver1, btver2, btver1
49243846Sjkim#       (Intel CPUs)	core-avx2, core-avx-i, corei7-avx, corei7, atom
5072679Skris#
51101232Sru# (?= allows to buildworld for a different CPUTYPE.)
52101232Sru#
53136608Sobrien#CPUTYPE?=pentium3
54136914Sru#NO_CPU_CFLAGS=		# Don't add -march=<cpu> to CFLAGS automatically
55136914Sru#NO_CPU_COPTFLAGS=	# Don't add -march=<cpu> to COPTFLAGS automatically
5672878Skris#
5758648Skris# CFLAGS controls the compiler settings used when compiling C code.
58131467Sdes# Note that optimization settings other than -O and -O2 are not recommended
5958648Skris# or supported for compiling the world or the kernel - please revert any
60244122Seadler# nonstandard optimization settings
61162276Sru# before submitting bug reports without patches to the developers.
621664Sphk#
6359006Sobrien# CXXFLAGS controls the compiler settings used when compiling C++ code.
6459006Sobrien# Note that CXXFLAGS is initially set to the value of CFLAGS.  If you wish
6559006Sobrien# to add to CXXFLAGS value, "+=" must be used rather than "=".  Using "="
6659006Sobrien# alone will remove the often needed contents of CFLAGS from CXXFLAGS.
671664Sphk#
68244122Seadler# Additional compiler flags can be specified that extend or override
69244122Seadler# default ones. However, neither the base system nor ports are guaranteed
70244122Seadler# to build and function without problems with non-default settings.
7159006Sobrien#
72244122Seadler# CFLAGS+=	-msse3
73244122Seadler# CXXFLAGS+=	-msse3
74244122Seadler#
75104124Sjmallett# MAKE_SHELL controls the shell used internally by make(1) to process the
76104124Sjmallett# command scripts in makefiles.  Three shells are supported, sh, ksh, and
77104124Sjmallett# csh.  Using sh is most common, and advised.  Using ksh *may* work, but is
78104124Sjmallett# not guaranteed to.  Using csh is absurd.  The default is to use sh.
79104124Sjmallett#
80104124Sjmallett#MAKE_SHELL?=sh
81104124Sjmallett#
8262136Sobrien# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
8362136Sobrien# for use in developing FreeBSD and testing changes.  They can be used by
8480452Speter# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf.  -Wconversion is not
8599260Sjohan# included here due to compiler bugs, e.g., mkdir()'s mode_t argument.
8662136Sobrien#
8782604Salex#BDECFLAGS=	-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
8882604Salex#		-Wcast-qual -Wchar-subscripts -Winline \
8982604Salex#		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
9082604Salex#		-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
9162136Sobrien#
9268917Sdougb# To compile just the kernel with special optimizations, you should use
9368263Sobrien# this instead of CFLAGS (which is not applicable to kernel builds anyway).
9468263Sobrien# There is very little to gain by using higher optimization levels, and doing
9568263Sobrien# so can cause problems.
9665380Sobrien#
9765380Sobrien#COPTFLAGS= -O -pipe
9865380Sobrien#
99230306Sschweikh# Compare before install.
100249952Sbdrewery#INSTALL+= -C
10135222Sache#
102230306Sschweikh# Mtree will follow symlinks.
10365957Sache#MTREE_FOLLOWS_SYMLINKS= -L
10465884Sache#
10597387Stjr# To enable installing newgrp(1) with the setuid bit turned on.
10697387Stjr# Without the setuid bit, newgrp cannot change users' groups.
107136914Sru#ENABLE_SUID_NEWGRP=
10897387Stjr#
10951299Speter# To avoid building various parts of the base system:
110136914Sru#NO_MODULES=		# do not build modules with the kernel
111139120Sru#NO_SHARE=		# do not go into the share subdir
112151552Strhodes#NO_SHARED= 		# build /bin and /sbin statically linked (bad idea)
11335206Sphk#
114138896Strhodes# Variables that control how ppp(8) is built.
115139118Sru#PPP_NO_NAT= 		# do not build with NAT support (see make.conf(5))
116139118Sru#PPP_NO_NETGRAPH= 	# do not build with Netgraph support
117151592Smaxim#PPP_NO_RADIUS= 	# do not build with RADIUS support
118139118Sru#PPP_NO_SUID=		# build with normal permissions
119138896Strhodes#
120139125Sru#TRACEROUTE_NO_IPSEC= 	# do not build traceroute(8) with IPSEC support
121139125Sru#
122230306Sschweikh# To build sys/modules when building the world (our old way of doing things).
123136914Sru#MODULES_WITH_WORLD=	# do not build modules when building kernel
12461744Sobrien#
12588461Sru# The list of modules to build instead of all of them.
12688461Sru#MODULES_OVERRIDE=	linux ipfw
12757458Smarkm#
128140546Swes# The list of modules to never build, applied *after* MODULES_OVERRIDE.
129140546Swes#WITHOUT_MODULES=	bktr plip
130140546Swes#
1311684Scsgr# If you do not want unformatted manual pages to be compressed
1321684Scsgr# when they are installed:
1331684Scsgr#
134139103Sru#NO_MANCOMPRESS=
1351697Sache#
1361697Sache#
1371697Sache# Default format for system documentation, depends on your printer.
138230306Sschweikh# Set this to "ascii" for simple printers or screen.
1391697Sache#
14025424Sandreas#PRINTERDEVICE=	ps
1411733Sadam#
1421733Sadam#
14314102Sadam# How long to wait for a console keypress before booting the default kernel.
14414102Sadam# This value is approximately in milliseconds. Keypresses are accepted by the
14514102Sadam# BIOS before booting from disk, making it possible to give custom boot
14614102Sadam# parameters even when this is set to 0.
1471733Sadam#
1481740Sadam#BOOTWAIT=0
1493023Srgrimes#BOOTWAIT=30000
1501733Sadam#
15118927Spst# By default, the system will always use the keyboard/video card as system
15226522Sbde# console.  However, the boot blocks may be dynamically configured to use a
15326522Sbde# serial port in addition to or instead of the keyboard/video console.
1541733Sadam#
15518927Spst# By default we use COM1 as our serial console port *if* we're going to use
15649190Snik# a serial port as our console at all.  Alter as necessary.
15718927Spst#
15849190Snik#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
15949190Snik#
16018928Spst#BOOT_COMCONSOLE_PORT=	0x3F8
16118927Spst#
16226522Sbde# The default serial console speed is 9600.  Set the speed to a larger value
16326522Sbde# for better interactive response.
16418927Spst#
16526522Sbde#BOOT_COMCONSOLE_SPEED=	115200
16618927Spst#
16768310Sps# By default the 'pxeboot' loader retrieves the kernel via NFS.  Defining
16868310Sps# this and recompiling /usr/src/sys/boot will cause it to retrieve the kernel
16968310Sps# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
17099260Sjohan# still mount the server's '/' (i.e. rather than load the server's kernel).
17118927Spst#
17268310Sps#LOADER_TFTP_SUPPORT= YES
17368310Sps#
17475982Sjim#
17596436Snectar# Kerberos 5 su (k5su)
17696436Snectar# If you want to use the k5su utility, define this to have it installed
17796436Snectar# set-user-ID.
178136914Sru#ENABLE_SUID_K5SU=
17956553Smarkm#
18096436Snectar#
18137162Sjkh# CVSup update flags.  Edit SUPFILE settings to reflect whichever distribution
18237162Sjkh# file(s) you use on your site (see /usr/share/examples/cvsup/README for more
18337162Sjkh# information on CVSup and these files).  To use, do "make update" in /usr/src.
18410758Sache#
185136914Sru#SUP_UPDATE=
18618716Sache#
187156887Smux#SUP=            /usr/bin/csup
188212138Smaxim#SUPFLAGS=       -L 2
18964605Sjoe#SUPHOST=        cvsup.uk.FreeBSD.org
19018716Sache#SUPFILE=        /usr/share/examples/cvsup/standard-supfile
19147651Sbillf#PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
19224225Sjoerg#
19324225Sjoerg# top(1) uses a hash table for the user names.  The size of this hash
19424225Sjoerg# can be tuned to match the number of local users.  The table size should
19524225Sjoerg# be a prime number approximately twice as large as the number of lines in
19624225Sjoerg# /etc/passwd.  The default number is 20011.
19724225Sjoerg#
19824225Sjoerg#TOP_TABLE_SIZE= 101
19958449Snik#
20058449Snik# Documentation
20158449Snik#
202230306Sschweikh# The list of languages and encodings to build and install.
20358449Snik#
20478035Sache#DOC_LANG=	en_US.ISO8859-1 ru_RU.KOI8-R
20565970Sgshapiro#
20665970Sgshapiro#
20765970Sgshapiro# sendmail
20872846Sgshapiro#
20972846Sgshapiro# The following sets the default m4 configuration file to use at
21072846Sgshapiro# install time.  Use with caution as a make install will overwrite
21172846Sgshapiro# any existing /etc/mail/sendmail.cf.  Note that SENDMAIL_CF is now
21272916Sgshapiro# deprecated.  The value should be a fully qualified path name.
21372846Sgshapiro#
21473836Sgshapiro#SENDMAIL_MC=/etc/mail/myconfig.mc
21572846Sgshapiro#
21694676Sgshapiro# The following sets the default m4 configuration file for mail
21794676Sgshapiro# submission to use at install time.  Use with caution as a make
21894676Sgshapiro# install will overwrite any existing /etc/mail/submit.cf.  The
21994676Sgshapiro# value should be a fully qualified path name.
22094676Sgshapiro#
22194676Sgshapiro#SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
22294676Sgshapiro#
22372918Sgshapiro# If you need to build additional .cf files during a make buildworld,
22472918Sgshapiro# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
22572918Sgshapiro#
22672918Sgshapiro#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
22772918Sgshapiro#
228120397Sgshapiro# The following overrides the default location for the m4 configuration
229120397Sgshapiro# files used to build a .cf file from a .mc file.
230120397Sgshapiro#
231120397Sgshapiro#SENDMAIL_CF_DIR=/usr/local/share/sendmail/cf
232120397Sgshapiro#
23380175Sgshapiro# Setting the following variable modifies the flags passed to m4 when
23480175Sgshapiro# building a .cf file from a .mc file.  It can be used to enable
23580175Sgshapiro# features disabled by default.
23680175Sgshapiro#
23780175Sgshapiro#SENDMAIL_M4_FLAGS=
23880175Sgshapiro#
23978862Sgshapiro# Setting the following variables modifies the build environment for
24065970Sgshapiro# sendmail and its related utilities. For example, SASL support can be
24165970Sgshapiro# added with settings such as:
24265970Sgshapiro#
243103898Sume#    with SASLv1:
244101065Sume#	SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
24565970Sgshapiro#	SENDMAIL_LDFLAGS=-L/usr/local/lib
24665970Sgshapiro#	SENDMAIL_LDADD=-lsasl
24765970Sgshapiro#
248103898Sume#    with SASLv2:
249103898Sume#	SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
250103898Sume#	SENDMAIL_LDFLAGS=-L/usr/local/lib
251103898Sume#	SENDMAIL_LDADD=-lsasl2
252103898Sume#
25369380Sgshapiro# Note: If you are using Cyrus SASL with other applications which require
25493449Sume#	access to the sasldb file, you should add the following to your
25593449Sume#	sendmail.mc file:
25669380Sgshapiro#
25793446Sume#	define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')
25869380Sgshapiro#
25965970Sgshapiro#SENDMAIL_CFLAGS=
26065970Sgshapiro#SENDMAIL_LDFLAGS=
26165970Sgshapiro#SENDMAIL_LDADD=
26265970Sgshapiro#SENDMAIL_DPADD=
26390803Sgshapiro#
26490803Sgshapiro# Setting SENDMAIL_SET_USER_ID will install the sendmail binary as a
26590803Sgshapiro# set-user-ID root binary instead of a set-group-ID smmsp binary and will
26690803Sgshapiro# prevent the installation of /etc/mail/submit.cf.
26790803Sgshapiro# This is a deprecated mode of operation.  See etc/mail/README for more
26890803Sgshapiro# information.
26990803Sgshapiro#
27090803Sgshapiro#SENDMAIL_SET_USER_ID=
27197200Sgshapiro#
27297200Sgshapiro# The permissions to use on alias and map databases generated using
27397200Sgshapiro# /etc/mail/Makefile.  Defaults to 0640.
27497200Sgshapiro#
27597200Sgshapiro#SENDMAIL_MAP_PERMS=
276217826Ssem#
277217826Ssem#
278217826Ssem# It is also possible to set variables in make.conf which will only be
279217826Ssem# used when compiling a specific port.  For more details see make(1).
280217826Ssem#
281217826Ssem#.if ${.CURDIR:M*/irc/irssi-devel*}
282217826Ssem#WITH_DEBUG=YES
283217826Ssem#.endif
284217826Ssem#
285217826Ssem# Another approach is to use /usr/ports/ports-mgmt/portconf which has
286217826Ssem# its own config file for port specific options.
287