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