make.conf revision 131467
150472Speter# $FreeBSD: head/share/examples/etc/make.conf 131467 2004-07-02 17:08:39Z des $
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#
1872679Skris#
1999260Sjohan# The CPUTYPE variable controls which processor should be targeted for
2072878Skris# generated code.  This controls processor-specific optimizations in
2172878Skris# certain code (currently only OpenSSL) as well as modifying the value
2272878Skris# of CFLAGS to contain the appropriate optimization directive to gcc.
2372878Skris# The automatic setting of CFLAGS may be overridden using the
2472878Skris# NO_CPU_CFLAGS variable below.
2599260Sjohan# Currently the following CPU types are recognized:
2673145Skris#   Intel x86 architecture:
27103046Smux#       (AMD CPUs)	athlon-mp athlon-xp athlon-4 athlon-tbird athlon k6-3
28103046Smux#			k6-2 k6 k5
2973145Skris#       (Intel CPUs)	p4 p3 p2 i686 i586/mmx i586 i486 i386
30103048Skris#   Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4
3172878Skris#   Intel ia64 architecture: itanium
3272679Skris#
33101232Sru# (?= allows to buildworld for a different CPUTYPE.)
34101232Sru#
35101232Sru#CPUTYPE?=i686
3672878Skris#NO_CPU_CFLAGS=	true	# Don't add -march=<cpu> to CFLAGS automatically
3774146Skris#NO_CPU_COPTFLAGS=true	# Don't add -march=<cpu> to COPTFLAGS automatically
3872878Skris#
3958648Skris# CFLAGS controls the compiler settings used when compiling C code.
40131467Sdes# Note that optimization settings other than -O and -O2 are not recommended
4158648Skris# or supported for compiling the world or the kernel - please revert any
4268917Sdougb# nonstandard optimization settings to "-O" before submitting bug reports
43124694Sobrien# without patches to the developers.
44131467Sdes# Note also that at this time the -O2 setting is known to expose bugs in
45131467Sdes# ppp(8), and possibly other parts of the system.
461664Sphk#
4729281Sjkh#CFLAGS= -O -pipe
481664Sphk#
4959006Sobrien# CXXFLAGS controls the compiler settings used when compiling C++ code.
5059006Sobrien# Note that CXXFLAGS is initially set to the value of CFLAGS.  If you wish
5159006Sobrien# to add to CXXFLAGS value, "+=" must be used rather than "=".  Using "="
5259006Sobrien# alone will remove the often needed contents of CFLAGS from CXXFLAGS.
531664Sphk#
5459006Sobrien#CXXFLAGS+= -fmemoize-lookups -fsave-memoized
5559006Sobrien#
56104124Sjmallett# MAKE_SHELL controls the shell used internally by make(1) to process the
57104124Sjmallett# command scripts in makefiles.  Three shells are supported, sh, ksh, and
58104124Sjmallett# csh.  Using sh is most common, and advised.  Using ksh *may* work, but is
59104124Sjmallett# not guaranteed to.  Using csh is absurd.  The default is to use sh.
60104124Sjmallett#
61104124Sjmallett#MAKE_SHELL?=sh
62104124Sjmallett#
6362136Sobrien# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
6462136Sobrien# for use in developing FreeBSD and testing changes.  They can be used by
6580452Speter# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf.  -Wconversion is not
6699260Sjohan# included here due to compiler bugs, e.g., mkdir()'s mode_t argument.
6762136Sobrien#
6882604Salex#BDECFLAGS=	-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
6982604Salex#		-Wcast-qual -Wchar-subscripts -Winline \
7082604Salex#		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
7182604Salex#		-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
7262136Sobrien#
7368917Sdougb# To compile just the kernel with special optimizations, you should use
7468263Sobrien# this instead of CFLAGS (which is not applicable to kernel builds anyway).
7568263Sobrien# There is very little to gain by using higher optimization levels, and doing
7668263Sobrien# so can cause problems.
7765380Sobrien#
7865380Sobrien#COPTFLAGS= -O -pipe
7965380Sobrien#
8081749Sobrien# To build the system compiler such that it forces high optimization levels to
8181749Sobrien# a lower one.  GCC -O2+ is known to trigger known optimizer bugs at various
8281749Sobrien# times -- this is worse on the Alpha platform.  The value assigned here will
8381749Sobrien# be the highest optimization value used.
8481749Sobrien#WANT_FORCE_OPTIMIZATION_DOWNGRADE=1
8581749Sobrien#
8642325Sobrien# Compare before install
87100870Sru#INSTALL=install -C
8835222Sache#
8965884Sache# Mtree will follow symlinks
9065957Sache#MTREE_FOLLOWS_SYMLINKS= -L
9165884Sache#
9264803Sbrian# To build ppp with normal permissions
9364803Sbrian#PPP_NOSUID=	true
9464803Sbrian#
9568705Sgreen# To enable installing ssh(1) with the setuid bit turned on
9668705Sgreen#ENABLE_SUID_SSH=	true
9768705Sgreen#
9897387Stjr# To enable installing newgrp(1) with the setuid bit turned on.
9997387Stjr# Without the setuid bit, newgrp cannot change users' groups.
10097387Stjr#ENABLE_SUID_NEWGRP=	true
10197387Stjr#
10251299Speter# To avoid building various parts of the base system:
10357542Skris#NO_CVS=	true	# do not build CVS
10490522Sobrien#NO_CXX=	true	# do not build C++ and friends
10559124Sasmodai#NO_BIND=	true	# do not build BIND
106125123Semax#NO_BLUETOOTH=	true	# do not build Bluetooth related stuff
10757542Skris#NO_FORTRAN=	true	# do not build g77 and related libraries
10890522Sobrien#NO_GDB=	true	# do not build GDB
10977041Sru#NO_I4B=	true	# do not build isdn4bsd package
11092868Sru#NO_IPFILTER=	true	# do not build IP Filter package
111126756Smlaier#NO_PF=		true	# do not build PF firewall package
112126756Smlaier#NO_AUTHPF=	true	# do not build and install authpf (setuid/gid)
113114782Sobrien#NO_KERBEROS=	true	# do not build and install Kerberos 5 (KTH Heimdal)
11461139Shoek#NO_LPR=	true	# do not build lpr and related programs
11558859Ssheldonh#NO_MAILWRAPPER=true	# do not build the mailwrapper(8) MTA selector
11659884Schuckr#NO_MODULES=	true	# do not build modules with the kernel
11757764Skris#NO_OBJC=	true	# do not build Objective C support
11857542Skris#NO_OPENSSH=	true	# do not build OpenSSH
119115219Sru#NO_OPENSSL=	true	# do not build OpenSSL (implies NO_KERBEROS and
120115219Sru#			  NO_OPENSSH)
12157542Skris#NO_SENDMAIL=	true	# do not build sendmail and related programs
12258418Sobrien#NO_SHAREDOCS=	true	# do not build the 4.4BSD legacy docs
12359338Sobrien#NO_TCSH=	true	# do not build and install /bin/csh (which is tcsh)
124125392Sdes#NO_VINUM=	true	# do not build Vinum utilities
12557553Skris#NOCRYPT=	true	# do not build any crypto code
12657542Skris#NOGAMES=	true	# do not build games (games/ subdir)
12757542Skris#NOINFO=	true	# do not make or install info files
12857542Skris#NOLIBC_R=	true	# do not build libc_r (re-entrant version of libc)
129110882Strhodes#NOMAN=		true	# do not build manual pages
13065381Sobrien#NOPROFILE=	true	# Avoid compiling profiled libraries
13157542Skris#NOSHARE=	true	# do not go into the share subdir
13235206Sphk#
13361744Sobrien# To build sys/modules when building the world (our old way of doing things)
13461744Sobrien#MODULES_WITH_WORLD=true	# do not build modules when building kernel
13561744Sobrien#
13688461Sru# The list of modules to build instead of all of them.
13788461Sru#MODULES_OVERRIDE=	linux ipfw
13857458Smarkm#
13973401Skris# The following controls building optional IDEA code in libcrypto and
14073401Skris# certain ports.  Patents are involved - you must not use this unless
14173401Skris# you either have a license or fall within patent 'fair use'
14273401Skris# provisions.
14362482Speter#
14473401Skris# *** It is YOUR RESPONSIBILITY to determine if you can use this! ***
14573401Skris#
14699260Sjohan# IDEA is patented in the USA and many European countries - thought to
14773401Skris# be OK to use for any non-commercial use.  This is optional.
14863123Speter#MAKE_IDEA=	YES	# IDEA (128 bit symmetric encryption)
14962482Speter#
1501684Scsgr# If you do not want unformatted manual pages to be compressed
1511684Scsgr# when they are installed:
1521684Scsgr#
1539509Srgrimes#NOMANCOMPRESS=	true
1541697Sache#
1551697Sache#
15620847Speter# If you want the "compat" shared libraries installed as part of your normal
15720847Speter# builds, uncomment these:
15820847Speter#
15920847Speter#COMPAT1X=	yes
16020847Speter#COMPAT20=	yes
16120847Speter#COMPAT21=	yes
16247318Sobrien#COMPAT22=	yes
16347430Sobrien#COMPAT3X=	yes
16474247Smurray#COMPAT4X=	yes
16520847Speter#
16620847Speter#
1671697Sache# Default format for system documentation, depends on your printer.
1681697Sache# Set this to "ascii" for simple printers or screen
1691697Sache#
17025424Sandreas#PRINTERDEVICE=	ps
1711733Sadam#
1721733Sadam#
17314102Sadam# How long to wait for a console keypress before booting the default kernel.
17414102Sadam# This value is approximately in milliseconds. Keypresses are accepted by the
17514102Sadam# BIOS before booting from disk, making it possible to give custom boot
17614102Sadam# parameters even when this is set to 0.
1771733Sadam#
1781740Sadam#BOOTWAIT=0
1793023Srgrimes#BOOTWAIT=30000
1801733Sadam#
18118927Spst# By default, the system will always use the keyboard/video card as system
18226522Sbde# console.  However, the boot blocks may be dynamically configured to use a
18326522Sbde# serial port in addition to or instead of the keyboard/video console.
1841733Sadam#
18518927Spst# By default we use COM1 as our serial console port *if* we're going to use
18649190Snik# a serial port as our console at all.  Alter as necessary.
18718927Spst#
18849190Snik#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
18949190Snik#
19018928Spst#BOOT_COMCONSOLE_PORT=	0x3F8
19118927Spst#
19226522Sbde# The default serial console speed is 9600.  Set the speed to a larger value
19326522Sbde# for better interactive response.
19418927Spst#
19526522Sbde#BOOT_COMCONSOLE_SPEED=	115200
19618927Spst#
19768310Sps# By default the 'pxeboot' loader retrieves the kernel via NFS.  Defining
19868310Sps# this and recompiling /usr/src/sys/boot will cause it to retrieve the kernel
19968310Sps# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
20099260Sjohan# still mount the server's '/' (i.e. rather than load the server's kernel).
20118927Spst#
20268310Sps#LOADER_TFTP_SUPPORT= YES
20368310Sps#
20475982Sjim#
20596436Snectar# Kerberos 5 su (k5su)
20696436Snectar# If you want to use the k5su utility, define this to have it installed
20796436Snectar# set-user-ID.
20896436Snectar#ENABLE_SUID_K5SU=	yes
20956553Smarkm#
21096436Snectar#
21138003Sdima# Kerberos5
21256553Smarkm# If you want to install MIT Kerberos5 port somewhere other than /usr/local,
21356553Smarkm# define this (this is also used to tell ssh1 that kerberos is needed):
21438003Sdima#
21556553Smarkm#KRB5_HOME=		/usr/local
21638003Sdima#
21738003Sdima#
21837162Sjkh# CVSup update flags.  Edit SUPFILE settings to reflect whichever distribution
21937162Sjkh# file(s) you use on your site (see /usr/share/examples/cvsup/README for more
22037162Sjkh# information on CVSup and these files).  To use, do "make update" in /usr/src.
22110758Sache#
22210758Sache#SUP_UPDATE=     yes
22318716Sache#
22420545Sache#SUP=            /usr/local/bin/cvsup
22549777Ssheldonh#SUPFLAGS=       -g -L 2
22664605Sjoe#SUPHOST=        cvsup.uk.FreeBSD.org
22718716Sache#SUPFILE=        /usr/share/examples/cvsup/standard-supfile
22847651Sbillf#PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
22954670Sbillf#DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile
23024225Sjoerg#
23124225Sjoerg# top(1) uses a hash table for the user names.  The size of this hash
23224225Sjoerg# can be tuned to match the number of local users.  The table size should
23324225Sjoerg# be a prime number approximately twice as large as the number of lines in
23424225Sjoerg# /etc/passwd.  The default number is 20011.
23524225Sjoerg#
23624225Sjoerg#TOP_TABLE_SIZE= 101
23758449Snik#
23858449Snik# Documentation
23958449Snik#
24058449Snik# The list of languages and encodings to build and install
24158449Snik#
24278035Sache#DOC_LANG=	en_US.ISO8859-1 ru_RU.KOI8-R
24365970Sgshapiro#
24465970Sgshapiro#
24565970Sgshapiro# sendmail
24672846Sgshapiro#
24772846Sgshapiro# The following sets the default m4 configuration file to use at
24872846Sgshapiro# install time.  Use with caution as a make install will overwrite
24972846Sgshapiro# any existing /etc/mail/sendmail.cf.  Note that SENDMAIL_CF is now
25072916Sgshapiro# deprecated.  The value should be a fully qualified path name.
25172846Sgshapiro#
25273836Sgshapiro#SENDMAIL_MC=/etc/mail/myconfig.mc
25372846Sgshapiro#
25494676Sgshapiro# The following sets the default m4 configuration file for mail
25594676Sgshapiro# submission to use at install time.  Use with caution as a make
25694676Sgshapiro# install will overwrite any existing /etc/mail/submit.cf.  The
25794676Sgshapiro# value should be a fully qualified path name.
25894676Sgshapiro#
25994676Sgshapiro#SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
26094676Sgshapiro#
26172918Sgshapiro# If you need to build additional .cf files during a make buildworld,
26272918Sgshapiro# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
26372918Sgshapiro#
26472918Sgshapiro#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
26572918Sgshapiro#
266120397Sgshapiro# The following overrides the default location for the m4 configuration
267120397Sgshapiro# files used to build a .cf file from a .mc file.
268120397Sgshapiro#
269120397Sgshapiro#SENDMAIL_CF_DIR=/usr/local/share/sendmail/cf
270120397Sgshapiro#
27180175Sgshapiro# Setting the following variable modifies the flags passed to m4 when
27280175Sgshapiro# building a .cf file from a .mc file.  It can be used to enable
27380175Sgshapiro# features disabled by default.
27480175Sgshapiro#
27580175Sgshapiro#SENDMAIL_M4_FLAGS=
27680175Sgshapiro#
27778862Sgshapiro# Setting the following variables modifies the build environment for
27865970Sgshapiro# sendmail and its related utilities. For example, SASL support can be
27965970Sgshapiro# added with settings such as:
28065970Sgshapiro#
281103898Sume#    with SASLv1:
282101065Sume#	SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
28365970Sgshapiro#	SENDMAIL_LDFLAGS=-L/usr/local/lib
28465970Sgshapiro#	SENDMAIL_LDADD=-lsasl
28565970Sgshapiro#
286103898Sume#    with SASLv2:
287103898Sume#	SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
288103898Sume#	SENDMAIL_LDFLAGS=-L/usr/local/lib
289103898Sume#	SENDMAIL_LDADD=-lsasl2
290103898Sume#
29169380Sgshapiro# Note: If you are using Cyrus SASL with other applications which require
29293449Sume#	access to the sasldb file, you should add the following to your
29393449Sume#	sendmail.mc file:
29469380Sgshapiro#
29593446Sume#	define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')
29669380Sgshapiro#
29765970Sgshapiro#SENDMAIL_CFLAGS=
29865970Sgshapiro#SENDMAIL_LDFLAGS=
29965970Sgshapiro#SENDMAIL_LDADD=
30065970Sgshapiro#SENDMAIL_DPADD=
30190803Sgshapiro#
30290803Sgshapiro# Setting SENDMAIL_SET_USER_ID will install the sendmail binary as a
30390803Sgshapiro# set-user-ID root binary instead of a set-group-ID smmsp binary and will
30490803Sgshapiro# prevent the installation of /etc/mail/submit.cf.
30590803Sgshapiro# This is a deprecated mode of operation.  See etc/mail/README for more
30690803Sgshapiro# information.
30790803Sgshapiro#
30890803Sgshapiro#SENDMAIL_SET_USER_ID=
30997200Sgshapiro#
31097200Sgshapiro# The permissions to use on alias and map databases generated using
31197200Sgshapiro# /etc/mail/Makefile.  Defaults to 0640.
31297200Sgshapiro#
31397200Sgshapiro#SENDMAIL_MAP_PERMS=
314