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