xref: /freebsd/share/man/man5/make.conf.5 (revision 862aa05f64b2a3a38c4b53e287fb28afe05a4232)
1786aa69aSBen Smithurst.\" Copyright (c) 2000
2786aa69aSBen Smithurst.\"	Mike W. Meyer
3786aa69aSBen Smithurst.\"
4786aa69aSBen Smithurst.\" Redistribution and use in source and binary forms, with or without
5786aa69aSBen Smithurst.\" modification, are permitted provided that the following conditions
6786aa69aSBen Smithurst.\" are met:
7786aa69aSBen Smithurst.\" 1. Redistributions of source code must retain the above copyright
8786aa69aSBen Smithurst.\"    notice, this list of conditions and the following disclaimer.
9786aa69aSBen Smithurst.\" 2. Redistributions in binary form must reproduce the above copyright
10786aa69aSBen Smithurst.\"    notice, this list of conditions and the following disclaimer in the
11786aa69aSBen Smithurst.\"    documentation and/or other materials provided with the distribution.
12786aa69aSBen Smithurst.\"
13786aa69aSBen Smithurst.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
14786aa69aSBen Smithurst.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15786aa69aSBen Smithurst.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16786aa69aSBen Smithurst.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
17786aa69aSBen Smithurst.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18786aa69aSBen Smithurst.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19786aa69aSBen Smithurst.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20786aa69aSBen Smithurst.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21786aa69aSBen Smithurst.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22786aa69aSBen Smithurst.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23786aa69aSBen Smithurst.\" SUCH DAMAGE.
24786aa69aSBen Smithurst.\"
25786aa69aSBen Smithurst.\" $FreeBSD$
26786aa69aSBen Smithurst.\"
27862aa05fSRuslan Ermilov.Dd March 21, 2006
28786aa69aSBen Smithurst.Dt MAKE.CONF 5
29786aa69aSBen Smithurst.Os
30786aa69aSBen Smithurst.Sh NAME
31786aa69aSBen Smithurst.Nm make.conf
329c488872SRuslan Ermilov.Nd system build information
33786aa69aSBen Smithurst.Sh DESCRIPTION
34786aa69aSBen SmithurstThe file
35786aa69aSBen Smithurst.Nm
36253c3c73SYaroslav Tykhiycontains system-wide settings that will apply to every build using
37253c3c73SYaroslav Tykhiy.Xr make 1
38253c3c73SYaroslav Tykhiyand the standard
39253c3c73SYaroslav Tykhiy.Pa sys.mk
40253c3c73SYaroslav Tykhiyfile.
41253c3c73SYaroslav TykhiyThis is achieved as follows:
42253c3c73SYaroslav Tykhiy.Xr make 1
43253c3c73SYaroslav Tykhiyprocesses the system makefile
44253c3c73SYaroslav Tykhiy.Pa sys.mk
45253c3c73SYaroslav Tykhiybefore any other file by default, and
46253c3c73SYaroslav Tykhiy.Pa sys.mk
47253c3c73SYaroslav Tykhiyincludes
48253c3c73SYaroslav Tykhiy.Nm .
49253c3c73SYaroslav Tykhiy.Pp
509c488872SRuslan ErmilovThe file
51786aa69aSBen Smithurst.Nm
52253c3c73SYaroslav Tykhiyuses the standard makefile syntax.
53253c3c73SYaroslav TykhiyHowever,
54786aa69aSBen Smithurst.Nm
55253c3c73SYaroslav Tykhiyshould not specify any dependencies to
56253c3c73SYaroslav Tykhiy.Xr make 1 .
57253c3c73SYaroslav TykhiyInstead,
58253c3c73SYaroslav Tykhiy.Nm
59253c3c73SYaroslav Tykhiyis to set
60253c3c73SYaroslav Tykhiy.Xr make 1
61253c3c73SYaroslav Tykhiyvariables that control the actions of other makefiles.
62253c3c73SYaroslav Tykhiy.Pp
63253c3c73SYaroslav TykhiyThe default location of
64253c3c73SYaroslav Tykhiy.Nm
65253c3c73SYaroslav Tykhiyis
66253c3c73SYaroslav Tykhiy.Pa /etc/make.conf ,
67253c3c73SYaroslav Tykhiythough an alternative location can be specified in the
68253c3c73SYaroslav Tykhiy.Xr make 1
69253c3c73SYaroslav Tykhiyvariable
70253c3c73SYaroslav Tykhiy.Va __MAKE_CONF .
71253c3c73SYaroslav TykhiyYou may need to override the location of
72253c3c73SYaroslav Tykhiy.Nm
73253c3c73SYaroslav Tykhiyif the system-wide settings are not suitable for a particular build.
74253c3c73SYaroslav TykhiyFor instance, setting
75253c3c73SYaroslav Tykhiy.Va __MAKE_CONF
76253c3c73SYaroslav Tykhiyto
77253c3c73SYaroslav Tykhiy.Pa /dev/null
78253c3c73SYaroslav Tykhiyeffectively resets all build controls to their defaults.
79253c3c73SYaroslav Tykhiy.Pp
80253c3c73SYaroslav TykhiyThe primary purpose of
81253c3c73SYaroslav Tykhiy.Nm
82253c3c73SYaroslav Tykhiyis to control the compilation of the
83253c3c73SYaroslav Tykhiy.Fx
84253c3c73SYaroslav Tykhiysources, documentation, and ported applications,
85253c3c73SYaroslav Tykhiywhich are usually found in
86786aa69aSBen Smithurst.Pa /usr/src ,
87253c3c73SYaroslav Tykhiy.Pa /usr/doc ,
88786aa69aSBen Smithurstand
89253c3c73SYaroslav Tykhiy.Pa /usr/ports .
90253c3c73SYaroslav TykhiyAs a rule, the system administrator creates
91253c3c73SYaroslav Tykhiy.Nm
92253c3c73SYaroslav Tykhiywhen the values of certain control variables need to be changed
93253c3c73SYaroslav Tykhiyfrom their defaults.
94786aa69aSBen Smithurst.Pp
95253c3c73SYaroslav TykhiyThe system build procedures occur in four broad areas:
96253c3c73SYaroslav Tykhiythe world, the kernel, documentation and ports.
979c488872SRuslan ErmilovVariables set in
98786aa69aSBen Smithurst.Nm
99253c3c73SYaroslav Tykhiymay be applicable in one, two, or all four of these areas.
100253c3c73SYaroslav TykhiyIn addition, control variables can be specified
101253c3c73SYaroslav Tykhiyfor a particular build via the
1029c488872SRuslan Ermilov.Fl D
103786aa69aSBen Smithurstoption of
104253c3c73SYaroslav Tykhiy.Xr make 1
105253c3c73SYaroslav Tykhiyor in
106253c3c73SYaroslav Tykhiy.Xr environ 7 .
107786aa69aSBen Smithurst.Pp
1089c488872SRuslan ErmilovThe following lists provide a name and short description for each
1099c488872SRuslan Ermilovvariable you can use during the indicated builds.
1109c488872SRuslan ErmilovThe values of
111786aa69aSBen Smithurstvariables flagged as
1129c488872SRuslan Ermilov.Vt bool
113786aa69aSBen Smithurstare ignored; the variable being
114786aa69aSBen Smithurstset at all (even to
1159c488872SRuslan Ermilov.Dq Li FALSE
116786aa69aSBen Smithurstor
1179c488872SRuslan Ermilov.Dq Li NO )
1187f86e53dSGiorgos Keramidascauses it to
119786aa69aSBen Smithurstbe treated as if it were set.
120786aa69aSBen Smithurst.Pp
121786aa69aSBen SmithurstThe following list provides a name and short description for variables
122786aa69aSBen Smithurstthat are used for all builds, or are used by the
1239c488872SRuslan Ermilov.Pa makefiles
1249c488872SRuslan Ermilovfor things other than builds.
125786aa69aSBen Smithurst.Bl -tag -width Ar
126d911f786SMarcel Moolenaar.It Va ALWAYS_CHECK_MAKE
127d911f786SMarcel Moolenaar.Pq Vt bool
128d911f786SMarcel MoolenaarInstructs the top-level makefile in the source tree (normally
129d911f786SMarcel Moolenaar.Pa /usr/src )
130d911f786SMarcel Moolenaarto always check if
131d911f786SMarcel Moolenaar.Xr make 1
132d911f786SMarcel Moolenaaris up-to-date.
133d911f786SMarcel MoolenaarNormally this is only done for the world and buildworld targets to handle
134d911f786SMarcel Moolenaarupgrades from older versions of
135d911f786SMarcel Moolenaar.Fx .
1369c488872SRuslan Ermilov.It Va CFLAGS
13734455342SDima Dorfman.Pq Vt str
1389c488872SRuslan ErmilovControls the compiler setting when compiling C code.
1392410103cSRuslan ErmilovOptimization levels other than
140d489ec12SDima Dorfman.Fl O
141dca80b3cSDag-Erling Smørgravand
142dca80b3cSDag-Erling Smørgrav.Fl O2
1439c488872SRuslan Ermilovare not supported.
1449c488872SRuslan Ermilov.Va BDECFLAGS
1459c488872SRuslan Ermilovis provided as a set of
1469c488872SRuslan Ermilov.Xr gcc 1
1479c488872SRuslan Ermilovsettings suggested by
1489c488872SRuslan Ermilov.An "Bruce Evans" Aq bde@FreeBSD.org
1499c488872SRuslan Ermilovfor developing and testing changes.
150d33a962dSAlexander LangerThey can be used, if set, by:
1519c488872SRuslan Ermilov.Pp
152786aa69aSBen Smithurst.Bd -literal -offset indent
153146b8183SDima DorfmanCFLAGS+=${BDECFLAGS}
154786aa69aSBen Smithurst.Ed
155a19f1419STom Rhodes.It Va CPUTYPE
156a19f1419STom Rhodes.Pq Vt str
157a19f1419STom RhodesControls which processor should be targeted for generated
158d962d52aSRuslan Ermilovcode.
159d962d52aSRuslan ErmilovThis controls processor-specific optimizations in
160a19f1419STom Rhodescertain code (currently only OpenSSL) as well as modifying
161a19f1419STom Rhodesthe value of
162a19f1419STom Rhodes.Va CFLAGS
163a19f1419STom Rhodesand
164a19f1419STom Rhodes.Va COPTFLAGS
165a19f1419STom Rhodesto contain the appropriate optimization directive to
166a19f1419STom Rhodes.Xr gcc 1 .
167a19f1419STom RhodesThe automatic setting of
168a19f1419STom Rhodes.Va CFLAGS
169a19f1419STom Rhodesand
170a19f1419STom Rhodes.Va COPTFLAGS
171a19f1419STom Rhodesmay be overridden using the
172a19f1419STom Rhodes.Va NO_CPU_CFLAGS
173a19f1419STom Rhodesand
174a19f1419STom Rhodes.Va NO_CPU_COPTFLAGS
175d962d52aSRuslan Ermilovvariables, respectively.
176d962d52aSRuslan ErmilovRefer to
177a19f1419STom Rhodes.Pa /usr/share/examples/etc/make.conf
178a19f1419STom Rhodesfor a list of recognized
179a19f1419STom Rhodes.Va CPUTYPE
180a19f1419STom Rhodesoptions.
1819c488872SRuslan Ermilov.It Va CVS_UPDATE
18234455342SDima Dorfman.Pq Vt bool
1839c488872SRuslan ErmilovSet this to use
1849c488872SRuslan Ermilov.Xr cvs 1
1859c488872SRuslan Ermilovto update your ports with
1869c488872SRuslan Ermilov.Dq Li "make update" .
1879c488872SRuslan Ermilov.It Va CXXFLAGS
18834455342SDima Dorfman.Pq Vt str
1899c488872SRuslan ErmilovControls the compiler settings when compiling C++ code.
1909c488872SRuslan Ermilov.Va CXXFLAGS
1919c488872SRuslan Ermilovis initially set to the value of
1929c488872SRuslan Ermilov.Va CFLAGS .
1939c488872SRuslan ErmilovIf you want to
1949c488872SRuslan Ermilovadd to the
1959c488872SRuslan Ermilov.Va CXXFLAGS
1969c488872SRuslan Ermilovvalue, use
197786aa69aSBen Smithurst.Dq Li +=
198786aa69aSBen Smithurstinstead of
199786aa69aSBen Smithurst.Dq Li = .
2006614d157SJoseph Koshy.It Va DOCSUPFILE
2016614d157SJoseph Koshy.Pq Vt str
2026614d157SJoseph KoshyThe documentation
2036614d157SJoseph Koshy.Ar supfile
2046614d157SJoseph Koshyto use when doing a
2056614d157SJoseph Koshy.Dq Li "make update" .
2066614d157SJoseph KoshyThis defaults to
2076614d157SJoseph Koshy.Pa /usr/share/examples/cvsup/doc\-supfile .
2089c488872SRuslan Ermilov.It Va INSTALL
20934455342SDima Dorfman.Pq Vt str
2109c488872SRuslan Ermilovthe default install command.
211192858e8SSheldon HearnTo install only files for which the target differs or does not exist, use
212786aa69aSBen Smithurst.Bd -literal -offset indent
21333c1de7dSRuslan ErmilovINSTALL="install -C"
214786aa69aSBen Smithurst.Ed
215192858e8SSheldon HearnNote that some makefiles (including those in
216192858e8SSheldon Hearn.Pa /usr/share/mk )
217192858e8SSheldon Hearnmay hardcode options for the supplied install command.
2189c488872SRuslan Ermilov.It Va LOCAL_DIRS
21934455342SDima Dorfman.Pq Vt str
2209c488872SRuslan ErmilovList any directories that should be entered when doing
221786aa69aSBen Smithurstmake's in
222786aa69aSBen Smithurst.Pa /usr/src
223786aa69aSBen Smithurstin this variable.
224a19f1419STom Rhodes.It Va MAKE_SHELL
225a19f1419STom Rhodes.Pq Vt str
226a19f1419STom RhodesControls the shell used internally by
227a19f1419STom Rhodes.Xr make 1
228a19f1419STom Rhodesto process the command scripts in makefiles.
229a19f1419STom Rhodes.Xr sh 1 ,
230a19f1419STom Rhodes.Xr ksh 1 ,
231a19f1419STom Rhodesand
232a19f1419STom Rhodes.Xr csh 1
233a19f1419STom Rhodesall currently supported.
234d962d52aSRuslan Ermilov.Pp
235d962d52aSRuslan Ermilov.Dl "MAKE_SHELL?=sh"
2369c488872SRuslan Ermilov.It Va MTREE_FOLLOWS_SYMLINKS
23734455342SDima Dorfman.Pq Vt str
2389c488872SRuslan ErmilovSet this to
2399c488872SRuslan Ermilov.Dq Fl L
2409c488872SRuslan Ermilovto cause
2419c488872SRuslan Ermilov.Xr mtree 8
2429c488872SRuslan Ermilovto follow symlinks.
2436614d157SJoseph Koshy.It Va NO_CPU_CFLAGS
2446614d157SJoseph Koshy.Pq Vt str
2456614d157SJoseph KoshySetting this variable will prevent CPU specific compiler flags
2466614d157SJoseph Koshyfrom being automatically added to
2476614d157SJoseph Koshy.Va CFLAGS
2486614d157SJoseph Koshyduring compile time.
2496614d157SJoseph Koshy.It Va NO_CPU_COPTFLAGS
2506614d157SJoseph Koshy.Pq Vt str
2516614d157SJoseph KoshySetting this variable will prevent CPU specific compiler flags
2526614d157SJoseph Koshyfrom being automatically added to
2536614d157SJoseph Koshy.Va COPTFLAGS
2546614d157SJoseph Koshyduring compile time.
2559c488872SRuslan Ermilov.It Va NO_DOCUPDATE
25634455342SDima Dorfman.Pq Vt bool
2579c488872SRuslan ErmilovSet this to not update the doc tree during
2589c488872SRuslan Ermilov.Dq Li "make update" .
2599c488872SRuslan Ermilov.It Va NO_PORTSUPDATE
26034455342SDima Dorfman.Pq Vt bool
2619c488872SRuslan ErmilovSet this to not update the ports tree during
2629c488872SRuslan Ermilov.Dq Li "make update" .
2636614d157SJoseph Koshy.It Va PORTSSUPFILE
2646614d157SJoseph Koshy.Pq Vt str
2656614d157SJoseph KoshyThe ports
2666614d157SJoseph Koshy.Ar supfile
2676614d157SJoseph Koshyto use when doing a
2689c488872SRuslan Ermilov.Dq Li "make update" .
2696614d157SJoseph KoshyThis defaults to
2706614d157SJoseph Koshy.Pa /usr/share/examples/cvsup/ports\-supfile .
2719c488872SRuslan Ermilov.It Va SUP
27234455342SDima Dorfman.Pq Vt str
2739c488872SRuslan ErmilovThe location of the
2749c488872SRuslan Ermilov.Xr cvsup 1
2759c488872SRuslan Ermilovcommand for
2769c488872SRuslan Ermilov.Dq Li "make update" .
2779c488872SRuslan Ermilov.It Va SUPFILE
27834455342SDima Dorfman.Pq Vt str
2799c488872SRuslan ErmilovThe first
2809c488872SRuslan Ermilov.Ar supfile
2819c488872SRuslan Ermilovto use when doing a
2829c488872SRuslan Ermilov.Dq Li "make update" .
283786aa69aSBen SmithurstThis defaults to
2849c488872SRuslan Ermilov.Pa /usr/share/examples/cvsup/standard\-supfile .
2859c488872SRuslan Ermilov.It Va SUPFILE1
28634455342SDima Dorfman.Pq Vt str
2879c488872SRuslan ErmilovThe second
2889c488872SRuslan Ermilov.Ar supfile
2899c488872SRuslan Ermilovto use when doing a
2909c488872SRuslan Ermilov.Dq Li "make update" .
291786aa69aSBen SmithurstThis defaults to
2929c488872SRuslan Ermilov.Pa /usr/share/examples/cvsup/secure\-supfile .
2939c488872SRuslan Ermilov.It Va SUPFILE2
29434455342SDima Dorfman.Pq Vt str
2959c488872SRuslan ErmilovThe third
2969c488872SRuslan Ermilov.Ar supfile
2979c488872SRuslan Ermilovto use when doing a
2989c488872SRuslan Ermilov.Dq Li "make update" .
299786aa69aSBen SmithurstThis defaults to
3009c488872SRuslan Ermilov.Pa /usr/share/examples/cvsup/secure\-supfile .
3016614d157SJoseph Koshy.It Va SUPFLAGS
30234455342SDima Dorfman.Pq Vt str
3036614d157SJoseph KoshyThe flag for the
3046614d157SJoseph Koshy.Xr sup 1
3056614d157SJoseph Koshycommand when doing
3069c488872SRuslan Ermilov.Dq Li "make update" .
307786aa69aSBen SmithurstThis defaults to
3086614d157SJoseph Koshy.Op Fl g L Ar 2 .
3096614d157SJoseph Koshy.It Va SUPHOST
31034455342SDima Dorfman.Pq Vt str
3116614d157SJoseph KoshyThe hostname of the sup server to use when doing
3129c488872SRuslan Ermilov.Dq Li "make update" .
3136614d157SJoseph Koshy.It Va SUP_UPDATE
3146614d157SJoseph Koshy.Pq Vt bool
3156614d157SJoseph KoshySet this to use
3166614d157SJoseph Koshy.Xr cvsup 1
3176614d157SJoseph Koshyto update your ports with
3186614d157SJoseph Koshy.Dq Li "make update" .
319786aa69aSBen Smithurst.El
320addbe0bcSJoseph Koshy.Ss "BUILDING THE KERNEL"
321786aa69aSBen Smithurst.Pp
322786aa69aSBen SmithurstThe following list provides a name and short description for variables
323786aa69aSBen Smithurstthat are only used doing a kernel build:
324786aa69aSBen Smithurst.Bl -tag -width Ar
3259c488872SRuslan Ermilov.It Va BOOTWAIT
32634455342SDima Dorfman.Pq Vt int
3279c488872SRuslan ErmilovControls the amount of time the kernel waits for a console keypress
3289c488872SRuslan Ermilovbefore booting the default kernel.
3299c488872SRuslan ErmilovThe value is approximately milliseconds.
3309c488872SRuslan ErmilovKeypresses are accepted by the BIOS before booting from disk,
331786aa69aSBen Smithurstmaking it possible to give custom boot parameters even when this is
332786aa69aSBen Smithurstset to 0.
3336614d157SJoseph Koshy.It Va BOOT_COMCONSOLE_PORT
3346614d157SJoseph Koshy.Pq Vt str
3356614d157SJoseph KoshyThe port address to use for the console if the boot blocks have
3366614d157SJoseph Koshybeen configured to use a serial console instead of the keyboard/video card.
3376614d157SJoseph Koshy.It Va BOOT_COMCONSOLE_SPEED
3386614d157SJoseph Koshy.Pq Vt int
3396614d157SJoseph KoshyThe baud rate to use for the console if the boot blocks have
3406614d157SJoseph Koshybeen configured to use a serial console instead of the keyboard/video card.
3419c488872SRuslan Ermilov.It Va COPTFLAGS
34234455342SDima Dorfman.Pq Vt str
3439c488872SRuslan ErmilovControls the compiler settings when building the
3449c488872SRuslan Ermilovkernel.
3459c488872SRuslan ErmilovOptimization levels above
3469c488872SRuslan Ermilov.Oo Fl O ( O2 , No ...\& ) Oc
347d5499896SDavid E. O'Brienare not guaranteed to work.
348061cae1bSJordan K. Hubbard.It Va KERNCONF
34934455342SDima Dorfman.Pq Vt str
3509c488872SRuslan ErmilovControls which kernel configurations will be
3516164dd81SBen Smithurstbuilt by
3529c488872SRuslan Ermilov.Dq Li "${MAKE} buildkernel"
3536164dd81SBen Smithurstand installed by
3549c488872SRuslan Ermilov.Dq Li "${MAKE} installkernel" .
3556164dd81SBen SmithurstFor example,
3566164dd81SBen Smithurst.Bd -literal -offset indent
357e52710beSDima DorfmanKERNCONF=MINE DEBUG GENERIC OTHERMACHINE
3586164dd81SBen Smithurst.Ed
3599c488872SRuslan Ermilov.Pp
360a910f192SDima Dorfmanwill build the kernels specified by the config files
3616164dd81SBen Smithurst.Pa MINE , DEBUG , GENERIC ,
3626164dd81SBen Smithurstand
3636164dd81SBen Smithurst.Pa OTHERMACHINE ,
3646164dd81SBen Smithurstand install the kernel specified by the config file
3656164dd81SBen Smithurst.Pa MINE .
3666164dd81SBen SmithurstIt defaults to
3676164dd81SBen Smithurst.Pa GENERIC .
368a19f1419STom Rhodes.It Va LOADER_TFTP_SUPPORT
369a19f1419STom Rhodes.Pq Vt bool
370a19f1419STom RhodesWhile not a buildkernel-affected option, there is no better place for this.
371a19f1419STom RhodesBy default the
372a19f1419STom Rhodes.Xr pxeboot 8
373a19f1419STom Rhodesloader retrieves the kernel via NFS.
374a19f1419STom RhodesDefining this and recompiling
375a19f1419STom Rhodes.Pa /usr/src/sys/boot
376a19f1419STom Rhodeswill cause it to retrieve the kernel via TFTP.
377d962d52aSRuslan ErmilovThis allows
378d962d52aSRuslan Ermilov.Xr pxeboot 8
379d962d52aSRuslan Ermilovto load a custom BOOTP diskless kernel yet
380a19f1419STom Rhodesstill mount the server's
381a19f1419STom Rhodes.Pa /
382a19f1419STom Rhodesrather than load the server's kernel.
383a19f1419STom Rhodes.It Va MODULES_OVERRIDE
384a19f1419STom Rhodes.Pq Vt str
385a19f1419STom RhodesSet to a list of modules to build instead of all of them.
3869c488872SRuslan Ermilov.It Va NO_KERNELCONFIG
38734455342SDima Dorfman.Pq Vt bool
3889c488872SRuslan ErmilovSet this to skip running
389786aa69aSBen Smithurst.Xr config 8
390786aa69aSBen Smithurstduring
3919c488872SRuslan Ermilov.Dq Li "${MAKE} buildkernel" .
3929c488872SRuslan Ermilov.It Va NO_KERNELDEPEND
39334455342SDima Dorfman.Pq Vt bool
3949c488872SRuslan ErmilovSet this to skip running
3959c488872SRuslan Ermilov.Dq Li "${MAKE} depend"
396786aa69aSBen Smithurstduring
3979c488872SRuslan Ermilov.Dq Li "${MAKE} buildkernel" .
3989c488872SRuslan Ermilov.It Va NO_MODULES
39934455342SDima Dorfman.Pq Vt bool
4009c488872SRuslan ErmilovSet to not build modules with the kernel.
4016614d157SJoseph Koshy.It Va PORTS_MODULES
4026614d157SJoseph KoshySet this to the list of ports you wish to rebuild every time the kernel
4036614d157SJoseph Koshyis built.
4046614d157SJoseph Koshy.It Va WITHOUT_MODULES
4056614d157SJoseph Koshy.Pq Vt str
4066614d157SJoseph KoshySet to a list of modules to exclude from the build.
4076614d157SJoseph KoshyThis provides a
4086614d157SJoseph Koshysomewhat easier way to exclude modules you are certain you will never
4096614d157SJoseph Koshyneed than specifying
4106614d157SJoseph Koshy.Va MODULES_OVERRIDE .
4116614d157SJoseph KoshyThis is applied
4126614d157SJoseph Koshy.Em after
4136614d157SJoseph Koshy.Va MODULES_OVERRIDE .
414786aa69aSBen Smithurst.El
415addbe0bcSJoseph Koshy.Ss "BUILDING THE WORLD"
416786aa69aSBen Smithurst.Pp
417786aa69aSBen SmithurstThe following list provides a name and short description for variables
418786aa69aSBen Smithurstthat are used during the world build:
419786aa69aSBen Smithurst.Bl -tag -width Ar
42095ba4330SJacques Vidrine.It Va ENABLE_SUID_K5SU
42195ba4330SJacques Vidrine.Pq Vt bool
422aab6741fSMark MurraySet this if you wish to use the ksu utility.
423dca8ad69SRuslan ErmilovOtherwise, it will be
42495ba4330SJacques Vidrineinstalled without the set-user-ID bit set.
4257cc8320aSTim J. Robbins.It Va ENABLE_SUID_NEWGRP
4267cc8320aSTim J. Robbins.Pq Vt bool
4277cc8320aSTim J. RobbinsSet this to install
4287cc8320aSTim J. Robbins.Xr newgrp 1
4297cc8320aSTim J. Robbinswith the set-user-ID bit set.
4307cc8320aSTim J. RobbinsOtherwise,
4317cc8320aSTim J. Robbins.Xr newgrp 1
4327cc8320aSTim J. Robbinswill not be able to change users' groups.
433a19f1419STom Rhodes.It Va ENABLE_SUID_SSH
434a19f1419STom Rhodes.Pq Vt bool
435a19f1419STom RhodesSet this to install
436a19f1419STom Rhodes.Xr ssh 1
437d962d52aSRuslan Ermilovwith the set-user-ID bit turned on.
4389c488872SRuslan Ermilov.It Va MODULES_WITH_WORLD
43934455342SDima Dorfman.Pq Vt bool
4409c488872SRuslan ErmilovSet to build modules with the system instead of the kernel.
4416614d157SJoseph Koshy.It Va NO_CLEAN
4426614d157SJoseph Koshy.Pq Vt bool
4436614d157SJoseph KoshySet this to disable cleaning during
4446614d157SJoseph Koshy.Dq Li "make buildworld" .
4456614d157SJoseph KoshyThis should not be set unless you know what you are doing.
4466614d157SJoseph Koshy.It Va NO_CLEANDIR
4476614d157SJoseph Koshy.Pq Vt bool
4486614d157SJoseph KoshySet this to run
4496614d157SJoseph Koshy.Dq Li "${MAKE} clean"
4506614d157SJoseph Koshyinstead of
4516614d157SJoseph Koshy.Dq Li "${MAKE} cleandir" .
4526614d157SJoseph Koshy.It Va NO_MANCOMPRESS
4536614d157SJoseph Koshy.Pq Vt bool
4546614d157SJoseph KoshySet to install manual pages uncompressed.
4556614d157SJoseph Koshy.It Va NO_SHARE
4566614d157SJoseph Koshy.Pq Vt bool
4576614d157SJoseph KoshySet to not build in the
4586614d157SJoseph Koshy.Pa share
4596614d157SJoseph Koshysubdir.
4606614d157SJoseph Koshy.It Va NO_SHARED
4616614d157SJoseph Koshy.Pq Vt bool
462d54a903aSChristian BruefferSet to build
4636614d157SJoseph Koshy.Pa /bin
4646614d157SJoseph Koshyand
4656614d157SJoseph Koshy.Pa /sbin
4666614d157SJoseph Koshystatically linked, this can be bad.
4676614d157SJoseph KoshyIf set, every utility that uses
4686614d157SJoseph Koshy.Pa bsd.prog.mk
4696614d157SJoseph Koshywill be linked statically.
470dd991de0SRuslan Ermilov.It Va PPP_NO_NAT
471dd991de0SRuslan Ermilov.Pq Vt bool
472dd991de0SRuslan ErmilovBuild
473dd991de0SRuslan Ermilov.Xr ppp 8
474dd991de0SRuslan Ermilovwithout support for network address translation (NAT).
475dd991de0SRuslan Ermilov.It Va PPP_NO_NETGRAPH
476368e43f7STom Rhodes.Pq Vt bool
477368e43f7STom RhodesSet to build
478368e43f7STom Rhodes.Xr ppp 8
479dd991de0SRuslan Ermilovwithout support for Netgraph.
480dd991de0SRuslan Ermilov.It Va PPP_NO_RADIUS
481dd991de0SRuslan Ermilov.Pq Vt bool
482368e43f7STom RhodesSet to build
483368e43f7STom Rhodes.Xr ppp 8
484dd991de0SRuslan Ermilovwithout support for RADIUS.
485dd991de0SRuslan Ermilov.It Va PPP_NO_SUID
48634455342SDima Dorfman.Pq Vt bool
4879c488872SRuslan ErmilovSet to disable the installation of
4889c488872SRuslan Ermilov.Xr ppp 8
489dd991de0SRuslan Ermilovas a set-user-ID root program.
4906614d157SJoseph Koshy.It Va SENDMAIL_ADDITIONAL_MC
4916614d157SJoseph Koshy.Pq Vt str
4926614d157SJoseph KoshyAdditional
4936614d157SJoseph Koshy.Pa .mc
4946614d157SJoseph Koshyfiles which should be built into
4956614d157SJoseph Koshy.Pa .cf
4966614d157SJoseph Koshyfiles at build time.
4976614d157SJoseph KoshyThe value should include the full path to the
4986614d157SJoseph Koshy.Pa .mc
4996614d157SJoseph Koshyfile(s), e.g.,
5006614d157SJoseph Koshy.Pa /etc/mail/foo.mc
5016614d157SJoseph Koshy.Pa /etc/mail/bar.mc .
5026614d157SJoseph Koshy.It Va SENDMAIL_CFLAGS
5036614d157SJoseph Koshy.Pq Vt str
5046614d157SJoseph KoshyFlags to pass to the compile command when building
5056614d157SJoseph Koshy.Xr sendmail 8 .
5066614d157SJoseph KoshyThe
5076614d157SJoseph Koshy.Va SENDMAIL_*
5086614d157SJoseph Koshyflags can be used to provide SASL support with setting such as:
5096614d157SJoseph Koshy.Bd -literal -offset indent
5106614d157SJoseph KoshySENDMAIL_CFLAGS=-I/usr/local/include -DSASL
5116614d157SJoseph KoshySENDMAIL_LDFLAGS=-L/usr/local/lib
5126614d157SJoseph KoshySENDMAIL_LDADD=-lsasl
5136614d157SJoseph Koshy.Ed
5146614d157SJoseph Koshy.It Va SENDMAIL_CF_DIR
5156614d157SJoseph Koshy.Pq Vt str
5166614d157SJoseph KoshyOverride the default location for the
5176614d157SJoseph Koshy.Xr m4 1
5186614d157SJoseph Koshyconfiguration files used to build a
5196614d157SJoseph Koshy.Pa .cf
5206614d157SJoseph Koshyfile from a
5216614d157SJoseph Koshy.Pa .mc
5226614d157SJoseph Koshyfile.
5236614d157SJoseph Koshy.It Va SENDMAIL_DPADD
5246614d157SJoseph Koshy.Pq Vt str
5256614d157SJoseph KoshyExtra dependencies to add when building
5266614d157SJoseph Koshy.Xr sendmail 8 .
5276614d157SJoseph Koshy.It Va SENDMAIL_LDADD
5286614d157SJoseph Koshy.Pq Vt str
5296614d157SJoseph KoshyFlags to add to the end of the
5306614d157SJoseph Koshy.Xr ld 1
5316614d157SJoseph Koshycommand when building
5326614d157SJoseph Koshy.Xr sendmail 8 .
5336614d157SJoseph Koshy.It Va SENDMAIL_LDFLAGS
5346614d157SJoseph Koshy.Pq Vt str
5356614d157SJoseph KoshyFlags to pass to the
5366614d157SJoseph Koshy.Xr ld 1
5376614d157SJoseph Koshycommand when building
5386614d157SJoseph Koshy.Xr sendmail 8 .
5396614d157SJoseph Koshy.It Va SENDMAIL_M4_FLAGS
5406614d157SJoseph Koshy.Pq Vt str
5416614d157SJoseph KoshyFlags passed to
5426614d157SJoseph Koshy.Xr m4 1
5436614d157SJoseph Koshywhen building a
5446614d157SJoseph Koshy.Pa .cf
5456614d157SJoseph Koshyfile from a
5466614d157SJoseph Koshy.Pa .mc
5476614d157SJoseph Koshyfile.
5486614d157SJoseph Koshy.It Va SENDMAIL_MAP_PERMS
5496614d157SJoseph Koshy.Pq Vt str
5506614d157SJoseph KoshyMode to use when generating alias and map database files using
5516614d157SJoseph Koshy.Pa /etc/mail/Makefile .
5526614d157SJoseph KoshyThe default value is 0640.
55325219d25SGregory Neil Shapiro.It Va SENDMAIL_MC
55434455342SDima Dorfman.Pq Vt str
555bf7f20c2SRuslan ErmilovThe default
556bf7f20c2SRuslan Ermilov.Xr m4 1
557bf7f20c2SRuslan Ermilovconfiguration file to use at install time.
55801f72632SRuslan ErmilovThe value should include the full path to the
55901f72632SRuslan Ermilov.Pa .mc
56001f72632SRuslan Ermilovfile, e.g.,
561d1885c41SGregory Neil Shapiro.Pa /etc/mail/myconfig.mc .
56225219d25SGregory Neil ShapiroUse with caution as a make install will overwrite any existing
56325219d25SGregory Neil Shapiro.Pa /etc/mail/sendmail.cf .
56425219d25SGregory Neil ShapiroNote that
56525219d25SGregory Neil Shapiro.Va SENDMAIL_CF
56625219d25SGregory Neil Shapirois now deprecated.
5676614d157SJoseph Koshy.It Va SENDMAIL_SET_USER_ID
5686614d157SJoseph Koshy.Pq Vt bool
5696614d157SJoseph KoshyIf set, install
5706614d157SJoseph Koshy.Xr sendmail 8
5716614d157SJoseph Koshyas a set-user-ID root binary instead of a set-group-ID binary
5726614d157SJoseph Koshyand do not install
5736614d157SJoseph Koshy.Pa /etc/mail/submit.{cf,mc} .
5746614d157SJoseph KoshyUse of this flag is not recommended and the alternative advice in
5756614d157SJoseph Koshy.Pa /etc/mail/README
5766614d157SJoseph Koshyshould be followed instead if at all possible.
57714d6d765SGregory Neil Shapiro.It Va SENDMAIL_SUBMIT_MC
57814d6d765SGregory Neil Shapiro.Pq Vt str
579bf7f20c2SRuslan ErmilovThe default
580bf7f20c2SRuslan Ermilov.Xr m4 1
581bf7f20c2SRuslan Ermilovconfiguration file for mail submission
58214d6d765SGregory Neil Shapiroto use at install time.
58314d6d765SGregory Neil ShapiroThe value should include the full path to the
58414d6d765SGregory Neil Shapiro.Pa .mc
58514d6d765SGregory Neil Shapirofile, e.g.,
58614d6d765SGregory Neil Shapiro.Pa /etc/mail/mysubmit.mc .
58714d6d765SGregory Neil ShapiroUse with caution as a make install will overwrite any existing
58814d6d765SGregory Neil Shapiro.Pa /etc/mail/submit.cf .
589a19f1419STom Rhodes.It Va TOP_TABLE_SIZE
590a19f1419STom Rhodes.Pq Vt int
591a19f1419STom Rhodes.Xr top 1
592d962d52aSRuslan Ermilovuses a hash table for the user names.
593d962d52aSRuslan ErmilovThe size of this hash can be tuned to match the number of local users.
594d962d52aSRuslan ErmilovThe table size should be a prime number
595a19f1419STom Rhodesapproximately twice as large as the number of lines in
596a19f1419STom Rhodes.Pa /etc/passwd .
597a19f1419STom RhodesThe default number is 20011.
598d5499896SDavid E. O'Brien.It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE
599d5499896SDavid E. O'Brien.Pq Vt int
600d5499896SDavid E. O'BrienCauses the system compiler to be built such that it forces high optimization
601d5499896SDavid E. O'Brienlevels to a lower one.
60230b39270SRuslan Ermilov.Xr gcc 1
60330b39270SRuslan Ermilov.Fl O2
60430b39270SRuslan Ermilovand above is known to trigger known optimizer bugs at various
60530b39270SRuslan Ermilovtimes \(em this is worse on the Alpha platform.
606d5499896SDavid E. O'BrienThe value assigned is the highest optimization value used.
607786aa69aSBen Smithurst.El
608addbe0bcSJoseph Koshy.Ss "BUILDING DOCUMENTATION"
609786aa69aSBen Smithurst.Pp
610786aa69aSBen SmithurstThe following list provides a name and short description for variables
611786aa69aSBen Smithurstthat are used when building documentation.
612addbe0bcSJoseph Koshy.Bl -tag -width ".Va PRINTERDEVICE"
6139c488872SRuslan Ermilov.It Va DISTDIR
61434455342SDima Dorfman.Pq Vt str
6159c488872SRuslan ErmilovWhere distfiles are kept.
6169c488872SRuslan ErmilovNormally, this is
617786aa69aSBen Smithurst.Pa distfiles
618786aa69aSBen Smithurstin
6199c488872SRuslan Ermilov.Va PORTSDIR .
6209c488872SRuslan Ermilov.It Va DOC_LANG
62134455342SDima Dorfman.Pq Vt str
6229c488872SRuslan ErmilovThe list of languages and encodings to build and install.
6239c488872SRuslan Ermilov.It Va PRINTERDEVICE
62434455342SDima Dorfman.Pq Vt str
6259c488872SRuslan ErmilovThe default format for system documentation, depends on your
6269c488872SRuslan Ermilovprinter.
6279c488872SRuslan ErmilovThis can be set to
628786aa69aSBen Smithurst.Dq Li ascii
629e5f3fe8cSRuslan Ermilovfor simple printers, or
630786aa69aSBen Smithurst.Dq Li ps
631786aa69aSBen Smithurstfor postscript or graphics printers with a ghostscript
632e5f3fe8cSRuslan Ermilovfilter, or both.
633786aa69aSBen Smithurst.El
634786aa69aSBen Smithurst.Sh FILES
6351ca805f2SRuslan Ermilov.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact
636786aa69aSBen Smithurst.It Pa /etc/make.conf
637786aa69aSBen Smithurst.It Pa /usr/doc/Makefile
6381ca805f2SRuslan Ermilov.It Pa /usr/share/examples/etc/make.conf
639253c3c73SYaroslav Tykhiy.It Pa /usr/share/mk/sys.mk
640786aa69aSBen Smithurst.It Pa /usr/src/Makefile
641786aa69aSBen Smithurst.It Pa /usr/src/Makefile.inc1
6423136363fSRuslan Ermilov.El
643786aa69aSBen Smithurst.Sh SEE ALSO
644786aa69aSBen Smithurst.Xr gcc 1 ,
645786aa69aSBen Smithurst.Xr install 1 ,
646786aa69aSBen Smithurst.Xr make 1 ,
647862aa05fSRuslan Ermilov.Xr src.conf 5 ,
648253c3c73SYaroslav Tykhiy.Xr environ 7 ,
649786aa69aSBen Smithurst.Xr ports 7 ,
650862aa05fSRuslan Ermilov.Xr sendmail 8
651786aa69aSBen Smithurst.Sh HISTORY
652786aa69aSBen SmithurstThe
653786aa69aSBen Smithurst.Nm
654786aa69aSBen Smithurstfile appeared sometime before
655786aa69aSBen Smithurst.Fx 4.0 .
656786aa69aSBen Smithurst.Sh AUTHORS
6579c488872SRuslan ErmilovThis
6589c488872SRuslan Ermilovmanual page was written by
659786aa69aSBen Smithurst.An Mike W. Meyer Aq mwm@mired.org .
660265733aaSBen Smithurst.Sh BUGS
661265733aaSBen SmithurstThis manual page may occasionally be out of date with respect to
662265733aaSBen Smithurstthe options currently available for use in
6633136363fSRuslan Ermilov.Nm .
664265733aaSBen SmithurstPlease check the
665d33a962dSAlexander Langer.Pa /usr/share/examples/etc/make.conf
666265733aaSBen Smithurstfile for the latest options which are available.
6672f29b444SHartmut Brandt.Sh CAVEATS
6682f29b444SHartmut BrandtNote, that
6692f29b444SHartmut Brandt.Ev MAKEOBJDIRPREFIX
6702f29b444SHartmut Brandtand
6712f29b444SHartmut Brandt.Ev MAKEOBJDIR
6722f29b444SHartmut Brandtare environment variables and should not be set in
6732f29b444SHartmut Brandt.Nm
6742f29b444SHartmut Brandtbut in make's environment.
675