make.conf revision 104124
150472Speter# $FreeBSD: head/share/examples/etc/make.conf 104124 2002-09-29 00:09:22Z jmallett $
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.
4068917Sdougb# Note that optimization settings above -O (-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
4358648Skris# to the developers.
4458648Skris# Note also that at this time the -O2 setting is known to produce BROKEN
4558648Skris# CODE on the Alpha platform.
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
10657542Skris#NO_FORTRAN=	true	# do not build g77 and related libraries
10790522Sobrien#NO_GDB=	true	# do not build GDB
10877041Sru#NO_I4B=	true	# do not build isdn4bsd package
10992868Sru#NO_IPFILTER=	true	# do not build IP Filter package
11061139Shoek#NO_LPR=	true	# do not build lpr and related programs
11158859Ssheldonh#NO_MAILWRAPPER=true	# do not build the mailwrapper(8) MTA selector
11259884Schuckr#NO_MODULES=	true	# do not build modules with the kernel
11357764Skris#NO_OBJC=	true	# do not build Objective C support
11457542Skris#NO_OPENSSH=	true	# do not build OpenSSH
11557542Skris#NO_OPENSSL=	true	# do not build OpenSSL (implies NO_OPENSSH)
11698064Sdougb#NO_PERL_WRAPPER= true 	# do not build the wrapper in /usr/bin/perl
11757542Skris#NO_SENDMAIL=	true	# do not build sendmail and related programs
11858418Sobrien#NO_SHAREDOCS=	true	# do not build the 4.4BSD legacy docs
11959338Sobrien#NO_TCSH=	true	# do not build and install /bin/csh (which is tcsh)
12058280Skris#NO_X=		true	# do not compile in XWindows support (e.g. doscmd)
12157553Skris#NOCRYPT=	true	# do not build any crypto code
12257542Skris#NOGAMES=	true	# do not build games (games/ subdir)
12357542Skris#NOINFO=	true	# do not make or install info files
12457542Skris#NOLIBC_R=	true	# do not build libc_r (re-entrant version of libc)
12565381Sobrien#NOPROFILE=	true	# Avoid compiling profiled libraries
12657553Skris#NOSECURE=	true	# do not build crypto code in secure/ subdir
12757542Skris#NOSHARE=	true	# do not go into the share subdir
12835206Sphk#
12973043Skris# To build the OpenSSL manpages, uncomment the following.  These are not
13073043Skris# built by default because they clobber a number of system manpages with
13173043Skris# manpages describing parts of the OpenSSL toolkit, including passwd(1),
13273043Skris# err(3), md5(3), and others.
13373043Skris#
13473043Skris#WANT_OPENSSL_MANPAGES=	true
13573043Skris#
13661744Sobrien# To build sys/modules when building the world (our old way of doing things)
13761744Sobrien#MODULES_WITH_WORLD=true	# do not build modules when building kernel
13861744Sobrien#
13988461Sru# The list of modules to build instead of all of them.
14088461Sru#MODULES_OVERRIDE=	linux ipfw
14157458Smarkm#
14273401Skris# The following controls building optional IDEA code in libcrypto and
14373401Skris# certain ports.  Patents are involved - you must not use this unless
14473401Skris# you either have a license or fall within patent 'fair use'
14573401Skris# provisions.
14662482Speter#
14773401Skris# *** It is YOUR RESPONSIBILITY to determine if you can use this! ***
14873401Skris#
14999260Sjohan# IDEA is patented in the USA and many European countries - thought to
15073401Skris# be OK to use for any non-commercial use.  This is optional.
15163123Speter#MAKE_IDEA=	YES	# IDEA (128 bit symmetric encryption)
15262482Speter#
15374990Sasmodai# To avoid running MAKEDEV all on /dev during install set NO_MAKEDEV_RUN.
15474990Sasmodai# If you don't want to install MAKEDEV set NO_MAKEDEV_INSTALL, this implies
15574990Sasmodai# NO_MAKEDEV_RUN.
15674990Sasmodai#NO_MAKEDEV_INSTALL=	true
15774990Sasmodai#NO_MAKEDEV_RUN=	true
15857071Srwatson#
1591684Scsgr# If you do not want unformatted manual pages to be compressed
1601684Scsgr# when they are installed:
1611684Scsgr#
1629509Srgrimes#NOMANCOMPRESS=	true
1631697Sache#
1641697Sache#
16520847Speter# If you want the "compat" shared libraries installed as part of your normal
16620847Speter# builds, uncomment these:
16720847Speter#
16820847Speter#COMPAT1X=	yes
16920847Speter#COMPAT20=	yes
17020847Speter#COMPAT21=	yes
17147318Sobrien#COMPAT22=	yes
17247430Sobrien#COMPAT3X=	yes
17374247Smurray#COMPAT4X=	yes
17420847Speter#
17520847Speter#
1761697Sache# Default format for system documentation, depends on your printer.
1771697Sache# Set this to "ascii" for simple printers or screen
1781697Sache#
17925424Sandreas#PRINTERDEVICE=	ps
1801733Sadam#
1811733Sadam#
18214102Sadam# How long to wait for a console keypress before booting the default kernel.
18314102Sadam# This value is approximately in milliseconds. Keypresses are accepted by the
18414102Sadam# BIOS before booting from disk, making it possible to give custom boot
18514102Sadam# parameters even when this is set to 0.
1861733Sadam#
1871740Sadam#BOOTWAIT=0
1883023Srgrimes#BOOTWAIT=30000
1891733Sadam#
19018927Spst# By default, the system will always use the keyboard/video card as system
19126522Sbde# console.  However, the boot blocks may be dynamically configured to use a
19226522Sbde# serial port in addition to or instead of the keyboard/video console.
1931733Sadam#
19418927Spst# By default we use COM1 as our serial console port *if* we're going to use
19549190Snik# a serial port as our console at all.  Alter as necessary.
19618927Spst#
19749190Snik#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
19849190Snik#
19918928Spst#BOOT_COMCONSOLE_PORT=	0x3F8
20018927Spst#
20126522Sbde# The default serial console speed is 9600.  Set the speed to a larger value
20226522Sbde# for better interactive response.
20318927Spst#
20426522Sbde#BOOT_COMCONSOLE_SPEED=	115200
20518927Spst#
20668310Sps# By default the 'pxeboot' loader retrieves the kernel via NFS.  Defining
20768310Sps# this and recompiling /usr/src/sys/boot will cause it to retrieve the kernel
20868310Sps# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
20999260Sjohan# still mount the server's '/' (i.e. rather than load the server's kernel).
21018927Spst#
21168310Sps#LOADER_TFTP_SUPPORT= YES
21268310Sps#
21375982Sjim#
2143241Scsgr# Kerberos IV
21529931Smarkm# If you want KerberosIV (KTH eBones), define this:
2163241Scsgr#
21729931Smarkm#MAKE_KERBEROS4=	yes
21810758Sache#
21910758Sache#
22056553Smarkm# Kerberos 5
22176518Sassar# If you want Kerberos 5 (KTH Heimdal), define this:
22256553Smarkm#
22356553Smarkm#MAKE_KERBEROS5=	yes
22456553Smarkm#
22596436Snectar# Kerberos 5 su (k5su)
22696436Snectar# If you want to use the k5su utility, define this to have it installed
22796436Snectar# set-user-ID.
22896436Snectar#ENABLE_SUID_K5SU=	yes
22956553Smarkm#
23096436Snectar#
23138003Sdima# Kerberos5
23256553Smarkm# If you want to install MIT Kerberos5 port somewhere other than /usr/local,
23356553Smarkm# define this (this is also used to tell ssh1 that kerberos is needed):
23438003Sdima#
23556553Smarkm#KRB5_HOME=		/usr/local
23638003Sdima#
23738003Sdima#
23837162Sjkh# CVSup update flags.  Edit SUPFILE settings to reflect whichever distribution
23937162Sjkh# file(s) you use on your site (see /usr/share/examples/cvsup/README for more
24037162Sjkh# information on CVSup and these files).  To use, do "make update" in /usr/src.
24110758Sache#
24210758Sache#SUP_UPDATE=     yes
24318716Sache#
24420545Sache#SUP=            /usr/local/bin/cvsup
24549777Ssheldonh#SUPFLAGS=       -g -L 2
24664605Sjoe#SUPHOST=        cvsup.uk.FreeBSD.org
24718716Sache#SUPFILE=        /usr/share/examples/cvsup/standard-supfile
24847651Sbillf#PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
24954670Sbillf#DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile
25024225Sjoerg#
25124225Sjoerg# top(1) uses a hash table for the user names.  The size of this hash
25224225Sjoerg# can be tuned to match the number of local users.  The table size should
25324225Sjoerg# be a prime number approximately twice as large as the number of lines in
25424225Sjoerg# /etc/passwd.  The default number is 20011.
25524225Sjoerg#
25624225Sjoerg#TOP_TABLE_SIZE= 101
25758449Snik#
25858449Snik# Documentation
25958449Snik#
26058449Snik# The list of languages and encodings to build and install
26158449Snik#
26278035Sache#DOC_LANG=	en_US.ISO8859-1 ru_RU.KOI8-R
26365970Sgshapiro#
26465970Sgshapiro#
26565970Sgshapiro# sendmail
26672846Sgshapiro#
26772846Sgshapiro# The following sets the default m4 configuration file to use at
26872846Sgshapiro# install time.  Use with caution as a make install will overwrite
26972846Sgshapiro# any existing /etc/mail/sendmail.cf.  Note that SENDMAIL_CF is now
27072916Sgshapiro# deprecated.  The value should be a fully qualified path name.
27198462Sgshapiro# Avoid using a value of /etc/mail/sendmail.mc as a buildworld will
27298462Sgshapiro# create /etc/mail/sendmail.cf before installworld installs an
27398462Sgshapiro# updated sendmail binary.
27472846Sgshapiro#
27573836Sgshapiro#SENDMAIL_MC=/etc/mail/myconfig.mc
27672846Sgshapiro#
27794676Sgshapiro# The following sets the default m4 configuration file for mail
27894676Sgshapiro# submission to use at install time.  Use with caution as a make
27994676Sgshapiro# install will overwrite any existing /etc/mail/submit.cf.  The
28094676Sgshapiro# value should be a fully qualified path name.
28198462Sgshapiro# Avoid using a value of /etc/mail/submit.mc as a buildworld will
28298462Sgshapiro# create /etc/mail/submit.cf before installworld installs an
28398462Sgshapiro# updated sendmail binary.
28494676Sgshapiro#
28594676Sgshapiro#SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
28694676Sgshapiro#
28772918Sgshapiro# If you need to build additional .cf files during a make buildworld,
28872918Sgshapiro# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
28998462Sgshapiro# Avoid using a value of /etc/mail/sendmail.mc as a buildworld will
29098462Sgshapiro# create /etc/mail/sendmail.cf before installworld installs an
29198462Sgshapiro# updated sendmail binary.
29272918Sgshapiro#
29372918Sgshapiro#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
29472918Sgshapiro#
29580175Sgshapiro# Setting the following variable modifies the flags passed to m4 when
29680175Sgshapiro# building a .cf file from a .mc file.  It can be used to enable
29780175Sgshapiro# features disabled by default.
29880175Sgshapiro#
29980175Sgshapiro#SENDMAIL_M4_FLAGS=
30080175Sgshapiro#
30178862Sgshapiro# Setting the following variables modifies the build environment for
30265970Sgshapiro# sendmail and its related utilities. For example, SASL support can be
30365970Sgshapiro# added with settings such as:
30465970Sgshapiro#
305103898Sume#    with SASLv1:
306101065Sume#	SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
30765970Sgshapiro#	SENDMAIL_LDFLAGS=-L/usr/local/lib
30865970Sgshapiro#	SENDMAIL_LDADD=-lsasl
30965970Sgshapiro#
310103898Sume#    with SASLv2:
311103898Sume#	SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
312103898Sume#	SENDMAIL_LDFLAGS=-L/usr/local/lib
313103898Sume#	SENDMAIL_LDADD=-lsasl2
314103898Sume#
31569380Sgshapiro# Note: If you are using Cyrus SASL with other applications which require
31693449Sume#	access to the sasldb file, you should add the following to your
31793449Sume#	sendmail.mc file:
31869380Sgshapiro#
31993446Sume#	define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')
32069380Sgshapiro#
32165970Sgshapiro#SENDMAIL_CFLAGS=
32265970Sgshapiro#SENDMAIL_LDFLAGS=
32365970Sgshapiro#SENDMAIL_LDADD=
32465970Sgshapiro#SENDMAIL_DPADD=
32590803Sgshapiro#
32690803Sgshapiro# Setting SENDMAIL_SET_USER_ID will install the sendmail binary as a
32790803Sgshapiro# set-user-ID root binary instead of a set-group-ID smmsp binary and will
32890803Sgshapiro# prevent the installation of /etc/mail/submit.cf.
32990803Sgshapiro# This is a deprecated mode of operation.  See etc/mail/README for more
33090803Sgshapiro# information.
33190803Sgshapiro#
33290803Sgshapiro#SENDMAIL_SET_USER_ID=
33397200Sgshapiro#
33497200Sgshapiro# The permissions to use on alias and map databases generated using
33597200Sgshapiro# /etc/mail/Makefile.  Defaults to 0640.
33697200Sgshapiro#
33797200Sgshapiro#SENDMAIL_MAP_PERMS=
338