make.conf revision 160497
1218887Sdim# $FreeBSD: head/share/examples/etc/make.conf 160497 2006-07-19 11:27:19Z des $
2218887Sdim#
3218887Sdim# NOTE:  Please would any committer updating this file also update the
4218887Sdim# make.conf(5) manual page, if necessary, which is located in
5218887Sdim# src/share/man/man5/make.conf.5.
6218887Sdim#
7218887Sdim# /etc/make.conf, if present, will be read by make (see
8218887Sdim# /usr/share/mk/sys.mk).  It allows you to override macro definitions
9218887Sdim# to make without changing your source tree, or anything the source
10218887Sdim# tree installs.
11218887Sdim#
12218887Sdim# This file must be in valid Makefile syntax.
13218887Sdim#
14218887Sdim# There are additional things you can put into /etc/make.conf.
15218887Sdim# You have to find those in the Makefiles and documentation of
16218887Sdim# the source tree.
17218887Sdim#
18226633Sdim# Note, that you should not set MAKEOBJDIRPREFIX or MAKEOBJDIR
19218887Sdim# from make.conf (or as command line variables to make).
20218887Sdim# Both variables are environment variables for make and must be used as:
21218887Sdim#
22218887Sdim# env MAKEOBJDIRPREFIX=/big/directory make
23218887Sdim#
24234353Sdim#
25234353Sdim# The CPUTYPE variable controls which processor should be targeted for
26218887Sdim# generated code.  This controls processor-specific optimizations in
27218887Sdim# certain code (currently only OpenSSL) as well as modifying the value
28218887Sdim# of CFLAGS to contain the appropriate optimization directive to gcc.
29218887Sdim# The automatic setting of CFLAGS may be overridden using the
30226633Sdim# NO_CPU_CFLAGS variable below.
31218887Sdim# Currently the following CPU types are recognized:
32218887Sdim#   Intel x86 architecture:
33226633Sdim#       (AMD CPUs)	opteron athlon64 athlon-mp athlon-xp athlon-4
34218887Sdim#			athlon-tbird athlon k8 k6-3 k6-2 k6 k5
35218887Sdim#       (Intel CPUs)	nocona pentium4[m] prescott pentium3[m] pentium-m
36218887Sdim#			pentium2 pentiumpro pentium-mmx pentium i486 i386
37218887Sdim#       (Via CPUs)	c3 c3-2
38218887Sdim#   Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4
39218887Sdim#   AMD64 architecture: opteron, athlon64, nocona
40218887Sdim#   Intel ia64 architecture: itanium2, itanium
41218887Sdim#
42218887Sdim# (?= allows to buildworld for a different CPUTYPE.)
43218887Sdim#
44218887Sdim#CPUTYPE?=pentium3
45218887Sdim#NO_CPU_CFLAGS=		# Don't add -march=<cpu> to CFLAGS automatically
46218887Sdim#NO_CPU_COPTFLAGS=	# Don't add -march=<cpu> to COPTFLAGS automatically
47218887Sdim#
48218887Sdim# CFLAGS controls the compiler settings used when compiling C code.
49218887Sdim# Note that optimization settings other than -O and -O2 are not recommended
50218887Sdim# or supported for compiling the world or the kernel - please revert any
51218887Sdim# nonstandard optimization settings to "-O" or -O2 before submitting bug
52218887Sdim# reports without patches to the developers.
53226633Sdim#
54218887Sdim#CFLAGS= -O -pipe
55218887Sdim#
56218887Sdim# CXXFLAGS controls the compiler settings used when compiling C++ code.
57218887Sdim# Note that CXXFLAGS is initially set to the value of CFLAGS.  If you wish
58218887Sdim# to add to CXXFLAGS value, "+=" must be used rather than "=".  Using "="
59218887Sdim# alone will remove the often needed contents of CFLAGS from CXXFLAGS.
60218887Sdim#
61218887Sdim#CXXFLAGS+= -fconserve-space
62234353Sdim#
63234353Sdim# MAKE_SHELL controls the shell used internally by make(1) to process the
64234353Sdim# command scripts in makefiles.  Three shells are supported, sh, ksh, and
65234353Sdim# csh.  Using sh is most common, and advised.  Using ksh *may* work, but is
66234353Sdim# not guaranteed to.  Using csh is absurd.  The default is to use sh.
67234353Sdim#
68234353Sdim#MAKE_SHELL?=sh
69234353Sdim#
70234353Sdim# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
71226633Sdim# for use in developing FreeBSD and testing changes.  They can be used by
72218887Sdim# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf.  -Wconversion is not
73218887Sdim# included here due to compiler bugs, e.g., mkdir()'s mode_t argument.
74218887Sdim#
75218887Sdim#BDECFLAGS=	-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
76218887Sdim#		-Wcast-qual -Wchar-subscripts -Winline \
77218887Sdim#		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
78218887Sdim#		-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
79218887Sdim#
80234353Sdim# To compile just the kernel with special optimizations, you should use
81234353Sdim# this instead of CFLAGS (which is not applicable to kernel builds anyway).
82234353Sdim# There is very little to gain by using higher optimization levels, and doing
83234353Sdim# so can cause problems.
84234353Sdim#
85234353Sdim#COPTFLAGS= -O -pipe
86226633Sdim#
87218887Sdim# Compare before install
88218887Sdim#INSTALL=install -C
89218887Sdim#
90226633Sdim# Mtree will follow symlinks
91218887Sdim#MTREE_FOLLOWS_SYMLINKS= -L
92218887Sdim#
93218887Sdim# To enable installing ssh(1) with the setuid bit turned on
94218887Sdim#ENABLE_SUID_SSH=
95226633Sdim#
96218887Sdim# To enable installing newgrp(1) with the setuid bit turned on.
97218887Sdim# Without the setuid bit, newgrp cannot change users' groups.
98218887Sdim#ENABLE_SUID_NEWGRP=
99226633Sdim#
100218887Sdim# To avoid building various parts of the base system:
101218887Sdim#NO_MODULES=		# do not build modules with the kernel
102218887Sdim#NO_SHARE=		# do not go into the share subdir
103218887Sdim#NO_SHARED= 		# build /bin and /sbin statically linked (bad idea)
104234353Sdim#
105234353Sdim# Variables that control how ppp(8) is built.
106226633Sdim#PPP_NO_NAT= 		# do not build with NAT support (see make.conf(5))
107218887Sdim#PPP_NO_NETGRAPH= 	# do not build with Netgraph support
108218887Sdim#PPP_NO_RADIUS= 	# do not build with RADIUS support
109218887Sdim#PPP_NO_SUID=		# build with normal permissions
110234353Sdim#
111234353Sdim#TRACEROUTE_NO_IPSEC= 	# do not build traceroute(8) with IPSEC support
112234353Sdim#
113234353Sdim# To build sys/modules when building the world (our old way of doing things)
114234353Sdim#MODULES_WITH_WORLD=	# do not build modules when building kernel
115234353Sdim#
116234353Sdim# The list of modules to build instead of all of them.
117234353Sdim#MODULES_OVERRIDE=	linux ipfw
118234353Sdim#
119234353Sdim# The list of modules to never build, applied *after* MODULES_OVERRIDE.
120234353Sdim#WITHOUT_MODULES=	bktr plip
121234353Sdim#
122234353Sdim# If you do not want unformatted manual pages to be compressed
123234353Sdim# when they are installed:
124243830Sdim#
125234353Sdim#NO_MANCOMPRESS=
126234353Sdim#
127234353Sdim#
128234353Sdim# Default format for system documentation, depends on your printer.
129234353Sdim# Set this to "ascii" for simple printers or screen
130243830Sdim#
131234353Sdim#PRINTERDEVICE=	ps
132234353Sdim#
133234353Sdim#
134234353Sdim# How long to wait for a console keypress before booting the default kernel.
135234353Sdim# This value is approximately in milliseconds. Keypresses are accepted by the
136234353Sdim# BIOS before booting from disk, making it possible to give custom boot
137234353Sdim# parameters even when this is set to 0.
138234353Sdim#
139234353Sdim#BOOTWAIT=0
140234353Sdim#BOOTWAIT=30000
141234353Sdim#
142234353Sdim# By default, the system will always use the keyboard/video card as system
143234353Sdim# console.  However, the boot blocks may be dynamically configured to use a
144234353Sdim# serial port in addition to or instead of the keyboard/video console.
145234353Sdim#
146234353Sdim# By default we use COM1 as our serial console port *if* we're going to use
147234353Sdim# a serial port as our console at all.  Alter as necessary.
148234353Sdim#
149234353Sdim#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
150234353Sdim#
151234353Sdim#BOOT_COMCONSOLE_PORT=	0x3F8
152234353Sdim#
153234353Sdim# The default serial console speed is 9600.  Set the speed to a larger value
154234353Sdim# for better interactive response.
155234353Sdim#
156234353Sdim#BOOT_COMCONSOLE_SPEED=	115200
157234353Sdim#
158234353Sdim# By default the 'pxeboot' loader retrieves the kernel via NFS.  Defining
159234353Sdim# this and recompiling /usr/src/sys/boot will cause it to retrieve the kernel
160234353Sdim# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
161234353Sdim# still mount the server's '/' (i.e. rather than load the server's kernel).
162234353Sdim#
163239462Sdim#LOADER_TFTP_SUPPORT= YES
164239462Sdim#
165239462Sdim#
166239462Sdim# Kerberos 5 su (k5su)
167239462Sdim# If you want to use the k5su utility, define this to have it installed
168239462Sdim# set-user-ID.
169239462Sdim#ENABLE_SUID_K5SU=
170218887Sdim#
171226633Sdim#
172218887Sdim# CVSup update flags.  Edit SUPFILE settings to reflect whichever distribution
173218887Sdim# file(s) you use on your site (see /usr/share/examples/cvsup/README for more
174226633Sdim# information on CVSup and these files).  To use, do "make update" in /usr/src.
175218887Sdim#
176218887Sdim#SUP_UPDATE=
177218887Sdim#
178218887Sdim#SUP=            /usr/bin/csup
179218887Sdim#SUPFLAGS=       -g -L 2
180218887Sdim#SUPHOST=        cvsup.uk.FreeBSD.org
181218887Sdim#SUPFILE=        /usr/share/examples/cvsup/standard-supfile
182218887Sdim#PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
183218887Sdim#DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile
184218887Sdim#
185218887Sdim# top(1) uses a hash table for the user names.  The size of this hash
186243830Sdim# can be tuned to match the number of local users.  The table size should
187243830Sdim# be a prime number approximately twice as large as the number of lines in
188243830Sdim# /etc/passwd.  The default number is 20011.
189243830Sdim#
190243830Sdim#TOP_TABLE_SIZE= 101
191218887Sdim#
192234353Sdim# Documentation
193226633Sdim#
194218887Sdim# The list of languages and encodings to build and install
195218887Sdim#
196218887Sdim#DOC_LANG=	en_US.ISO8859-1 ru_RU.KOI8-R
197234353Sdim#
198218887Sdim#
199218887Sdim# sendmail
200218887Sdim#
201218887Sdim# The following sets the default m4 configuration file to use at
202218887Sdim# install time.  Use with caution as a make install will overwrite
203218887Sdim# any existing /etc/mail/sendmail.cf.  Note that SENDMAIL_CF is now
204218887Sdim# deprecated.  The value should be a fully qualified path name.
205218887Sdim#
206218887Sdim#SENDMAIL_MC=/etc/mail/myconfig.mc
207226633Sdim#
208218887Sdim# The following sets the default m4 configuration file for mail
209218887Sdim# submission to use at install time.  Use with caution as a make
210218887Sdim# install will overwrite any existing /etc/mail/submit.cf.  The
211226633Sdim# value should be a fully qualified path name.
212218887Sdim#
213218887Sdim#SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
214218887Sdim#
215218887Sdim# If you need to build additional .cf files during a make buildworld,
216218887Sdim# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
217218887Sdim#
218218887Sdim#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
219218887Sdim#
220218887Sdim# The following overrides the default location for the m4 configuration
221218887Sdim# files used to build a .cf file from a .mc file.
222218887Sdim#
223218887Sdim#SENDMAIL_CF_DIR=/usr/local/share/sendmail/cf
224218887Sdim#
225218887Sdim# Setting the following variable modifies the flags passed to m4 when
226218887Sdim# building a .cf file from a .mc file.  It can be used to enable
227226633Sdim# features disabled by default.
228218887Sdim#
229218887Sdim#SENDMAIL_M4_FLAGS=
230218887Sdim#
231218887Sdim# Setting the following variables modifies the build environment for
232218887Sdim# sendmail and its related utilities. For example, SASL support can be
233218887Sdim# added with settings such as:
234218887Sdim#
235218887Sdim#    with SASLv1:
236218887Sdim#	SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
237218887Sdim#	SENDMAIL_LDFLAGS=-L/usr/local/lib
238218887Sdim#	SENDMAIL_LDADD=-lsasl
239218887Sdim#
240226633Sdim#    with SASLv2:
241226633Sdim#	SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
242218887Sdim#	SENDMAIL_LDFLAGS=-L/usr/local/lib
243218887Sdim#	SENDMAIL_LDADD=-lsasl2
244218887Sdim#
245226633Sdim# Note: If you are using Cyrus SASL with other applications which require
246218887Sdim#	access to the sasldb file, you should add the following to your
247218887Sdim#	sendmail.mc file:
248218887Sdim#
249218887Sdim#	define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')
250218887Sdim#
251218887Sdim#SENDMAIL_CFLAGS=
252218887Sdim#SENDMAIL_LDFLAGS=
253218887Sdim#SENDMAIL_LDADD=
254218887Sdim#SENDMAIL_DPADD=
255218887Sdim#
256218887Sdim# Setting SENDMAIL_SET_USER_ID will install the sendmail binary as a
257234353Sdim# set-user-ID root binary instead of a set-group-ID smmsp binary and will
258234353Sdim# prevent the installation of /etc/mail/submit.cf.
259234353Sdim# This is a deprecated mode of operation.  See etc/mail/README for more
260234353Sdim# information.
261234353Sdim#
262234353Sdim#SENDMAIL_SET_USER_ID=
263234353Sdim#
264234353Sdim# The permissions to use on alias and map databases generated using
265234353Sdim# /etc/mail/Makefile.  Defaults to 0640.
266234353Sdim#
267234353Sdim#SENDMAIL_MAP_PERMS=
268234353Sdim