xref: /freebsd/share/examples/etc/make.conf (revision c2a55efd74cccb3d4e7b9037b240ad062c203bb8)
1#
2# NOTE:  Please would any committer updating this file also update the
3# make.conf(5) manual page, if necessary, which is located in
4# src/share/man/man5/make.conf.5.
5#
6# /etc/make.conf, if present, will be read by make (see
7# /usr/share/mk/sys.mk).  It allows you to override macro definitions
8# to make without changing your source tree, or anything the source
9# tree installs.
10#
11# This file must be in valid Makefile syntax.
12#
13# There are additional things you can put into /etc/make.conf.
14# You have to find those in the Makefiles and documentation of
15# the source tree.
16#
17# Note, that you should not set MAKEOBJDIRPREFIX or MAKEOBJDIR
18# from make.conf (or as command line variables to make).
19# Both variables are environment variables for make and must be used as:
20#
21# env MAKEOBJDIRPREFIX=/big/directory make
22#
23#
24# The CPUTYPE variable controls which processor should be targeted for
25# generated code.  This controls processor-specific optimizations in
26# certain code (currently only OpenSSL) as well as modifying the value
27# of CFLAGS to contain the appropriate optimization directive to cc.
28# The automatic setting of CFLAGS may be overridden using the
29# NO_CPU_CFLAGS variable below.
30# Currently the following CPU types are recognized:
31#   Intel x86 architecture:
32#       (AMD CPUs)	znver4, znver3, znver2, znver1, bdver4, bdver3, bdver2,
33#			bdver1, btver2, btver1, amdfam10, opteron-sse3,
34#			athlon64-sse3, k8-sse3, opteron, athlon64, athlon-fx,
35#			k8, athlon-mp, athlon-xp, athlon-4, athlon-tbird,
36#			athlon, k7, geode, k6-3, k6-2, k6
37#       (Intel CPUs)	alderlake, sapphirerapids, tigerlake, cooperlake,
38#			cascadelake, tremont, goldmont-plus, icelake-server,
39#			icelake-client, cannonlake, knm, skylake-avx512, knl,
40#			goldmont, skylake, broadwell, haswell, ivybridge,
41#			sandybridge, westmere, nehalem, silvermont, bonnell,
42#			core2, core, nocona, pentium4m, pentium4, prescott,
43#			pentium3m, pentium3, pentium-m, pentium2, pentiumpro,
44#			pentium-mmx, pentium, i486
45#       (VIA CPUs)	c7, c3-2, c3
46#   ARM architecture:	armv7, armv7-a, armv7ve, generic-armv7-a, cortex-a5,
47#			cortex-a7, cortex-a8, cortex-a9, cortex-a12,
48#			cortex-a15, cortex-a17
49#   ARM64 architecture:	cortex-a53, cortex-a57, cortex-a72,
50#			exynos-m1
51#   POWER / PowerPC architecture:
52#       (POWER CPUs)	power5, power5x, power6, power6x, power7, power8,
53#			power9, power10, power11
54#       (PowerPC CPUs)	g5, 970, e5500
55#
56#
57# (?= allows to buildworld for a different CPUTYPE.)
58#
59#CPUTYPE?=pentium3
60#NO_CPU_CFLAGS=		# Don't add -march=<cpu> to CFLAGS automatically
61#
62# CFLAGS controls the compiler settings used when compiling C code.
63# Note that optimization settings other than -O and -O2 are not recommended
64# or supported for compiling the world or the kernel - please revert any
65# nonstandard optimization settings
66# before submitting bug reports without patches to the developers.
67#
68# CFLAGS.arch provides a mechanism for applying CFLAGS only when building
69# the given architecture.  This is useful primarily on a system used for
70# cross-building, when you have a set of flags to apply to the TARGET_ARCH
71# being cross-built but don't want those settings applied to building the
72# cross-tools or other components that run on the build host machine.
73#
74# CXXFLAGS controls the compiler settings used when compiling C++ code.
75# Note that CXXFLAGS is initially set to the value of CFLAGS.  If you wish
76# to add to CXXFLAGS value, "+=" must be used rather than "=".  Using "="
77# alone will remove the often needed contents of CFLAGS from CXXFLAGS.
78#
79# Additional compiler flags can be specified that extend or override
80# default ones. However, neither the base system nor ports are guaranteed
81# to build and function without problems with non-default settings.
82#
83# CFLAGS+=	-msse3
84# CXXFLAGS+=	-msse3
85# CFLAGS.armv7+= -mfloat-abi=softfp
86#
87# MAKE_SHELL controls the shell used internally by make(1) to process the
88# command scripts in makefiles.  Three shells are supported, sh, ksh, and
89# csh.  Using sh is most common, and advised.  Using ksh *may* work, but is
90# not guaranteed to.  Using csh is absurd.  The default is to use sh.
91#
92#MAKE_SHELL?=sh
93#
94# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
95# for use in developing FreeBSD and testing changes.  They can be used by
96# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf.  -Wconversion is not
97# included here due to compiler bugs, e.g., mkdir()'s mode_t argument.
98#
99#BDECFLAGS=	-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
100#		-Wcast-qual -Wchar-subscripts -Winline \
101#		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
102#		-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
103#
104# To compile just the kernel with special optimizations, you should use
105# this instead of CFLAGS (which is not applicable to kernel builds anyway).
106# There is very little to gain by using higher optimization levels, and doing
107# so can cause problems.
108#
109#COPTFLAGS= -O -pipe
110#
111# Compare before install.
112#INSTALL+= -C
113#
114# Mtree will follow symlinks.
115#MTREE_FOLLOWS_SYMLINKS= -L
116#
117# To enable installing newgrp(1) with the setuid bit turned on.
118# Without the setuid bit, newgrp cannot change users' groups.
119#ENABLE_SUID_NEWGRP=
120#
121# To avoid building various parts of the base system:
122#NO_MODULES=		# do not build modules with the kernel
123#NO_SHARE=		# do not go into the share subdir
124#NO_SHARED= 		# build /bin and /sbin statically linked (bad idea)
125#
126# Variables that control how ppp(8) is built.
127#PPP_NO_NAT= 		# do not build with NAT support (see make.conf(5))
128#PPP_NO_NETGRAPH= 	# do not build with Netgraph support
129#PPP_NO_RADIUS= 	# do not build with RADIUS support
130#PPP_NO_SUID=		# build with normal permissions
131#
132#TRACEROUTE_NO_IPSEC= 	# do not build traceroute(8) with IPSEC support
133#
134# To build sys/modules when building the world (our old way of doing things).
135#MODULES_WITH_WORLD=	# do not build modules when building kernel
136#
137# The list of modules to build instead of all of them.
138#MODULES_OVERRIDE=	linux ipfw
139#
140# The list of modules to never build, applied *after* MODULES_OVERRIDE.
141#WITHOUT_MODULES=	plip
142#
143# If you do not want unformatted manual pages to be compressed
144# when they are installed:
145#
146#WITHOUT_MANCOMPRESS=t
147#
148#
149# Default format for system documentation in share/doc, depends on
150# your printer.  Set this to "ascii" for simple printers or screen.
151#
152#PRINTERDEVICE=	ps
153#
154#
155# How long to wait for a console keypress before booting the default kernel.
156# This value is approximately in milliseconds. Keypresses are accepted by the
157# BIOS before booting from disk, making it possible to give custom boot
158# parameters even when this is set to 0.
159#
160#BOOTWAIT=0
161#BOOTWAIT=30000
162#
163# By default, the system will always use the keyboard/video card as system
164# console.  However, the boot blocks may be dynamically configured to use a
165# serial port in addition to or instead of the keyboard/video console.
166#
167# By default we use COM1 as our serial console port *if* we're going to use
168# a serial port as our console at all.  Alter as necessary.
169#
170#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
171#
172#BOOT_COMCONSOLE_PORT=	0x3F8
173#
174# The default serial console speed is 115200. It can be set to a different
175# rate, if desired in your environment.
176#
177#BOOT_COMCONSOLE_SPEED=	9600
178#
179# By default the 'pxeboot' loader retrieves the kernel via NFS.  Defining
180# this and recompiling /usr/src/stand will cause it to retrieve the kernel
181# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
182# still mount the server's '/' (i.e. rather than load the server's kernel).
183#
184#LOADER_TFTP_SUPPORT= YES
185#
186#
187# Kerberos 5 su (k5su)
188# If you want to use the k5su utility, define this to have it installed
189# set-user-ID.
190#ENABLE_SUID_K5SU=
191#
192#
193# top(1) uses a hash table for the user names.  The size of this hash
194# can be tuned to match the number of local users.  The table size should
195# be a prime number approximately twice as large as the number of lines in
196# /etc/passwd.  The default number is 20011.
197#
198#TOP_TABLE_SIZE= 101
199#
200# Documentation
201#
202# The list of languages to build and install.
203#
204#DOC_LANG=	en ru
205#
206#
207# sendmail
208#
209# The following sets the default m4 configuration file to use at
210# install time.  Use with caution as a make install will overwrite
211# any existing /etc/mail/sendmail.cf.  Note that SENDMAIL_CF is now
212# deprecated.  The value should be a fully qualified path name.
213#
214#SENDMAIL_MC=/etc/mail/myconfig.mc
215#
216# The following sets the default m4 configuration file for mail
217# submission to use at install time.  Use with caution as a make
218# install will overwrite any existing /etc/mail/submit.cf.  The
219# value should be a fully qualified path name.
220#
221#SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
222#
223# If you need to build additional .cf files during a make buildworld,
224# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
225#
226#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
227#
228# The following overrides the default location for the m4 configuration
229# files used to build a .cf file from a .mc file.
230#
231#SENDMAIL_CF_DIR=/usr/local/share/sendmail/cf
232#
233# Setting the following variable modifies the flags passed to m4 when
234# building a .cf file from a .mc file.  It can be used to enable
235# features disabled by default.
236#
237#SENDMAIL_M4_FLAGS=
238#
239# Setting the following variables modifies the build environment for
240# sendmail and its related utilities. For example, SASL support can be
241# added with settings such as:
242#
243#    with SASLv1:
244#	SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
245#	SENDMAIL_LDADD=/usr/local/lib/libsasl.so
246#
247#    with SASLv2:
248#	SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
249#	SENDMAIL_LDADD=/usr/local/lib/libsasl2.so
250#
251# Note: If you are using Cyrus SASL with other applications which require
252#	access to the sasldb file, you should add the following to your
253#	sendmail.mc file:
254#
255#	define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')
256#
257#SENDMAIL_CFLAGS=
258#SENDMAIL_LDFLAGS=
259#SENDMAIL_LDADD=
260#SENDMAIL_DPADD=
261#
262# Setting SENDMAIL_SET_USER_ID will install the sendmail binary as a
263# set-user-ID root binary instead of a set-group-ID smmsp binary and will
264# prevent the installation of /etc/mail/submit.cf.
265# This is a deprecated mode of operation.  See etc/mail/README for more
266# information.
267#
268#SENDMAIL_SET_USER_ID=
269#
270# The permissions to use on alias and map databases generated using
271# /etc/mail/Makefile.  Defaults to 0640.
272#
273#SENDMAIL_MAP_PERMS=
274#
275#
276# It is also possible to set variables in make.conf which will only be
277# used when compiling a specific port.  For more details see make(1).
278#
279#.if ${.CURDIR:M*/irc/irssi-devel*}
280#WITH_DEBUG=YES
281#.endif
282#
283# Another approach is to use /usr/ports/ports-mgmt/portconf which has
284# its own config file for port specific options.
285