Deleted Added
full compact
make.conf.5 (131466) make.conf.5 (131754)
1.\" Copyright (c) 2000
2.\" Mike W. Meyer
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
1.\" Copyright (c) 2000
2.\" Mike W. Meyer
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD: head/share/man/man5/make.conf.5 131466 2004-07-02 17:06:19Z des $
25.\" $FreeBSD: head/share/man/man5/make.conf.5 131754 2004-07-07 19:57:16Z ru $
26.\"
27.Dd November 3, 2000
28.Dt MAKE.CONF 5
29.Os
30.Sh NAME
31.Nm make.conf
32.Nd system build information
33.Sh DESCRIPTION
34The file
35.Nm
36contains settings that control the compilation of the
37.Fx
38sources
39and ported applications.
40The file
41.Nm
42is generally created by the system administrator when the values need
43to be changed from their defaults.
44.Pp
45The purpose of
46.Nm
47is not to run commands or perform compilation actions
48directly.
49Instead, it is included by the
50various makefiles in
51.Pa /usr/src ,
52.Pa /usr/ports
53and
54.Pa /usr/doc
55which conditionalize their
56internal actions according to the settings found there.
57.Pp
58The
59.Pa /etc/make.conf
60file is included from the appropriate
61.Pa Makefile
62which specifies the default settings for all the available options.
63Options need only be specified in
64.Pa /etc/make.conf
65when the system administrator wishes to override these defaults.
66.Pp
67The build procedures occur in four broad areas: the world, the kernel,
68documentations and ports.
69Variables set in
70.Nm
71may be applicable during builds in one, two, or all four of these
72areas.
73They may be specified for a particular build via the
74.Fl D
75option of
76.Xr make 1 .
77.Pp
78The following lists provide a name and short description for each
79variable you can use during the indicated builds.
80The values of
81variables flagged as
82.Vt bool
83are ignored; the variable being
84set at all (even to
85.Dq Li FALSE
86or
87.Dq Li NO )
88causes it to
89be treated as if it were set.
90.Pp
91The following list provides a name and short description for variables
92that are used for all builds, or are used by the
93.Pa makefiles
94for things other than builds.
95.Bl -tag -width Ar
96.It Va ALWAYS_CHECK_MAKE
97.Pq Vt bool
98Instructs the top-level makefile in the source tree (normally
99.Pa /usr/src )
100to always check if
101.Xr make 1
102is up-to-date.
103Normally this is only done for the world and buildworld targets to handle
104upgrades from older versions of
105.Fx .
106.It Va CFLAGS
107.Pq Vt str
108Controls the compiler setting when compiling C code.
26.\"
27.Dd November 3, 2000
28.Dt MAKE.CONF 5
29.Os
30.Sh NAME
31.Nm make.conf
32.Nd system build information
33.Sh DESCRIPTION
34The file
35.Nm
36contains settings that control the compilation of the
37.Fx
38sources
39and ported applications.
40The file
41.Nm
42is generally created by the system administrator when the values need
43to be changed from their defaults.
44.Pp
45The purpose of
46.Nm
47is not to run commands or perform compilation actions
48directly.
49Instead, it is included by the
50various makefiles in
51.Pa /usr/src ,
52.Pa /usr/ports
53and
54.Pa /usr/doc
55which conditionalize their
56internal actions according to the settings found there.
57.Pp
58The
59.Pa /etc/make.conf
60file is included from the appropriate
61.Pa Makefile
62which specifies the default settings for all the available options.
63Options need only be specified in
64.Pa /etc/make.conf
65when the system administrator wishes to override these defaults.
66.Pp
67The build procedures occur in four broad areas: the world, the kernel,
68documentations and ports.
69Variables set in
70.Nm
71may be applicable during builds in one, two, or all four of these
72areas.
73They may be specified for a particular build via the
74.Fl D
75option of
76.Xr make 1 .
77.Pp
78The following lists provide a name and short description for each
79variable you can use during the indicated builds.
80The values of
81variables flagged as
82.Vt bool
83are ignored; the variable being
84set at all (even to
85.Dq Li FALSE
86or
87.Dq Li NO )
88causes it to
89be treated as if it were set.
90.Pp
91The following list provides a name and short description for variables
92that are used for all builds, or are used by the
93.Pa makefiles
94for things other than builds.
95.Bl -tag -width Ar
96.It Va ALWAYS_CHECK_MAKE
97.Pq Vt bool
98Instructs the top-level makefile in the source tree (normally
99.Pa /usr/src )
100to always check if
101.Xr make 1
102is up-to-date.
103Normally this is only done for the world and buildworld targets to handle
104upgrades from older versions of
105.Fx .
106.It Va CFLAGS
107.Pq Vt str
108Controls the compiler setting when compiling C code.
109Optimization levels others than
109Optimization levels other than
110.Fl O
111and
112.Fl O2
113are not supported.
114.Va BDECFLAGS
115is provided as a set of
116.Xr gcc 1
117settings suggested by
118.An "Bruce Evans" Aq bde@FreeBSD.org
119for developing and testing changes.
120They can be used, if set, by:
121.Pp
122.Bd -literal -offset indent
123CFLAGS+=${BDECFLAGS}
124.Ed
125.It Va CPUTYPE
126.Pq Vt str
127Controls which processor should be targeted for generated
128code.
129This controls processor-specific optimizations in
130certain code (currently only OpenSSL) as well as modifying
131the value of
132.Va CFLAGS
133and
134.Va COPTFLAGS
135to contain the appropriate optimization directive to
136.Xr gcc 1 .
137The automatic setting of
138.Va CFLAGS
139and
140.Va COPTFLAGS
141may be overridden using the
142.Va NO_CPU_CFLAGS
143and
144.Va NO_CPU_COPTFLAGS
145variables, respectively.
146Refer to
147.Pa /usr/share/examples/etc/make.conf
148for a list of recognized
149.Va CPUTYPE
150options.
151.It Va NO_CPU_CFLAGS
152.Pq Vt str
153Setting this variable will prevent CPU specific compiler flags
154from being automatically added to
155.Va CFLAGS
156during compile time.
157.It Va NO_CPU_COPTFLAGS
158.Pq Vt str
159Setting this variable will prevent CPU specific compiler flags
160from being automatically added to
161.Va COPTFLAGS
162during compile time.
163.It Va CVS_UPDATE
164.Pq Vt bool
165Set this to use
166.Xr cvs 1
167to update your ports with
168.Dq Li "make update" .
169.It Va CXXFLAGS
170.Pq Vt str
171Controls the compiler settings when compiling C++ code.
172.Va CXXFLAGS
173is initially set to the value of
174.Va CFLAGS .
175If you want to
176add to the
177.Va CXXFLAGS
178value, use
179.Dq Li +=
180instead of
181.Dq Li = .
182.It Va INSTALL
183.Pq Vt str
184the default install command.
185To install only files for which the target differs or does not exist, use
186.Bd -literal -offset indent
187INSTALL="install -C"
188.Ed
189Note that some makefiles (including those in
190.Pa /usr/share/mk )
191may hardcode options for the supplied install command.
192.It Va LOCAL_DIRS
193.Pq Vt str
194List any directories that should be entered when doing
195make's in
196.Pa /usr/src
197in this variable.
198.It Va MAKE_SHELL
199.Pq Vt str
200Controls the shell used internally by
201.Xr make 1
202to process the command scripts in makefiles.
203.Xr sh 1 ,
204.Xr ksh 1 ,
205and
206.Xr csh 1
207all currently supported.
208.Pp
209.Dl "MAKE_SHELL?=sh"
210.It Va MTREE_FOLLOWS_SYMLINKS
211.Pq Vt str
212Set this to
213.Dq Fl L
214to cause
215.Xr mtree 8
216to follow symlinks.
217.It Va NO_DOCUPDATE
218.Pq Vt bool
219Set this to not update the doc tree during
220.Dq Li "make update" .
221.It Va NO_PORTSUPDATE
222.Pq Vt bool
223Set this to not update the ports tree during
224.Dq Li "make update" .
225.It Va SUP_UPDATE
226.Pq Vt bool
227Set this to use
228.Xr cvsup 1
229to update your ports with
230.Dq Li "make update" .
231.It Va SUP
232.Pq Vt str
233The location of the
234.Xr cvsup 1
235command for
236.Dq Li "make update" .
237.It Va SUPFLAGS
238.Pq Vt str
239The flag for the
240.Xr sup 1
241command when doing
242.Dq Li "make update" .
243This defaults to
244.Op Fl g L Ar 2 .
245.It Va SUPHOST
246.Pq Vt str
247The hostname of the sup server to use when doing
248.Dq Li "make update" .
249.It Va SUPFILE
250.Pq Vt str
251The first
252.Ar supfile
253to use when doing a
254.Dq Li "make update" .
255This defaults to
256.Pa /usr/share/examples/cvsup/standard\-supfile .
257.It Va SUPFILE1
258.Pq Vt str
259The second
260.Ar supfile
261to use when doing a
262.Dq Li "make update" .
263This defaults to
264.Pa /usr/share/examples/cvsup/secure\-supfile .
265.It Va SUPFILE2
266.Pq Vt str
267The third
268.Ar supfile
269to use when doing a
270.Dq Li "make update" .
271This defaults to
272.Pa /usr/share/examples/cvsup/secure\-supfile .
273.It Va PORTSSUPFILE
274.Pq Vt str
275The ports
276.Ar supfile
277to use when doing a
278.Dq Li "make update" .
279This defaults to
280.Pa /usr/share/examples/cvsup/ports\-supfile .
281.It Va DOCSUPFILE
282.Pq Vt str
283The documentation
284.Ar supfile
285to use when doing a
286.Dq Li "make update" .
287This defaults to
288.Pa /usr/share/examples/cvsup/doc\-supfile .
289.El
290.Pp
291The following list provides a name and short description for variables
292that are only used doing a kernel build:
293.Bl -tag -width Ar
294.It Va BOOT_COMCONSOLE_PORT
295.Pq Vt str
296The port address to use for the console if the boot blocks have
297been configured to use a serial console instead of the keyboard/video card.
298.It Va BOOT_COMCONSOLE_SPEED
299.Pq Vt int
300The baud rate to use for the console if the boot blocks have
301been configured to use a serial console instead of the keyboard/video card.
302.It Va BOOTWAIT
303.Pq Vt int
304Controls the amount of time the kernel waits for a console keypress
305before booting the default kernel.
306The value is approximately milliseconds.
307Keypresses are accepted by the BIOS before booting from disk,
308making it possible to give custom boot parameters even when this is
309set to 0.
310.It Va COPTFLAGS
311.Pq Vt str
312Controls the compiler settings when building the
313kernel.
314Optimization levels above
315.Oo Fl O ( O2 , No ...\& ) Oc
316are not guaranteed to work.
317.It Va KERNCONF
318.Pq Vt str
319Controls which kernel configurations will be
320built by
321.Dq Li "${MAKE} buildkernel"
322and installed by
323.Dq Li "${MAKE} installkernel" .
324For example,
325.Bd -literal -offset indent
326KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
327.Ed
328.Pp
329will build the kernels specified by the config files
330.Pa MINE , DEBUG , GENERIC ,
331and
332.Pa OTHERMACHINE ,
333and install the kernel specified by the config file
334.Pa MINE .
335It defaults to
336.Pa GENERIC .
337.It Va LOADER_TFTP_SUPPORT
338.Pq Vt bool
339While not a buildkernel-affected option, there is no better place for this.
340By default the
341.Xr pxeboot 8
342loader retrieves the kernel via NFS.
343Defining this and recompiling
344.Pa /usr/src/sys/boot
345will cause it to retrieve the kernel via TFTP.
346This allows
347.Xr pxeboot 8
348to load a custom BOOTP diskless kernel yet
349still mount the server's
350.Pa /
351rather than load the server's kernel.
352.It Va MODULES_OVERRIDE
353.Pq Vt str
354Set to a list of modules to build instead of all of them.
355.It Va NO_KERNELCONFIG
356.Pq Vt bool
357Set this to skip running
358.Xr config 8
359during
360.Dq Li "${MAKE} buildkernel" .
361.It Va NO_KERNELDEPEND
362.Pq Vt bool
363Set this to skip running
364.Dq Li "${MAKE} depend"
365during
366.Dq Li "${MAKE} buildkernel" .
367.It Va NO_MODULES
368.Pq Vt bool
369Set to not build modules with the kernel.
370.El
371.Pp
372The following list provides a name and short description for variables
373that are used during the world build:
374.Bl -tag -width Ar
375.It Va COMPAT1X
376.Pq Vt bool
377Set to install the
378.Fx
3791 compatibility libraries.
380.It Va COMPAT20
381.Pq Vt bool
382Set to install the
383.Fx 2.0
384compatibility libraries.
385.It Va COMPAT21
386.Pq Vt bool
387Set to install the
388.Fx 2.1
389compatibility libraries.
390.It Va COMPAT22
391.Pq Vt bool
392Set to install the
393.Fx 2.2
394compatibility libraries.
395.It Va COMPAT3X
396.Pq Vt bool
397Set to install the
398.Fx
3993
400compatibility libraries.
401.It Va COMPAT4X
402.Pq Vt bool
403Set to install the
404.Fx
4054
406compatibility libraries.
407.It Va FETCH_CMD
408.Pq Vt str
409Command to use to fetch files.
410Normally
411.Xr fetch 1 .
412.It Va KRB5_HOME
413.Pq Vt str
414If you want to install the MIT Kerberos5 port somewhere other than
415.Pa /usr/local ,
416define this.
417This is also used to tell ssh1 that Kerberos is needed.
418.It Va MAKE_IDEA
419.Pq Vt bool
420Set to build the IDEA encryption code.
421This code is patented in the USA and many European countries.
422It is
423.Em "YOUR RESPONSIBILITY"
424to determine if you can legally use IDEA.
425.It Va NO_DYNAMICROOT
426.Pq Vt bool
427Set this if you do not want to link
428.Pa /bin
429and
430.Pa /sbin
431dynamically.
432.It Va NO_KERBEROS
433.Pq Vt bool
434Set this if you do not want to build Kerberos 5 (KTH Heimdal).
435.It Va ENABLE_SUID_K5SU
436.Pq Vt bool
437Set this if you wish to use the ksu utility.
438Otherwise, it will be
439installed without the set-user-ID bit set.
440.It Va ENABLE_SUID_NEWGRP
441.Pq Vt bool
442Set this to install
443.Xr newgrp 1
444with the set-user-ID bit set.
445Otherwise,
446.Xr newgrp 1
447will not be able to change users' groups.
448.It Va ENABLE_SUID_SSH
449.Pq Vt bool
450Set this to install
451.Xr ssh 1
452with the set-user-ID bit turned on.
453.It Va MODULES_WITH_WORLD
454.Pq Vt bool
455Set to build modules with the system instead of the kernel.
456.It Va NO_BLUETOOTH
457.Pq Vt bool
458Set to not build Bluetooth related kernel modules, programs and libraries.
459.It Va NO_CVS
460.Pq Vt bool
461Set to not build CVS.
462.It Va NO_CXX
463.Pq Vt bool
464Set to not build
465.Xr g++ 1
466and related libraries.
467.It Va NO_BIND
468.Pq Vt bool
469Set to not build BIND.
470.It Va NO_FORTRAN
471.Pq Vt bool
472Set to not build
473.Xr g77 1
474and related libraries.
475.It Va NO_GDB
476.Pq Vt bool
477Set to not build
478.Xr gdb 1 .
479.It Va NO_I4B
480.Pq Vt bool
481Set to not build isdn4bsd package.
482.It Va NO_IPFILTER
483.Pq Vt bool
484Set to not build IP Filter package.
485.It Va NO_TOOLCHAIN
486.Pq Vt bool
487Set to not build
488programs used for program development,
489compilers, debuggers etc.
490.It Va NOINET6
491.Pq Vt bool
492Set to not build
493programs and libraries related to IPv6 networking.
494.It Va NOATM
495.Pq Vt bool
496Set to not build
497programs and libraries related to ATM networking.
498.It Va NO_USB
499.Pq Vt bool
500Set to not build
501.Xr usbd 8
502and related programs.
503.It Va NO_LPR
504.Pq Vt bool
505Set to not build
506.Xr lpr 1
507and related programs.
508.It Va NO_ACPI
509.Pq Vt bool
510Set to not build
511.Xr acpiconf 8 ,
110.Fl O
111and
112.Fl O2
113are not supported.
114.Va BDECFLAGS
115is provided as a set of
116.Xr gcc 1
117settings suggested by
118.An "Bruce Evans" Aq bde@FreeBSD.org
119for developing and testing changes.
120They can be used, if set, by:
121.Pp
122.Bd -literal -offset indent
123CFLAGS+=${BDECFLAGS}
124.Ed
125.It Va CPUTYPE
126.Pq Vt str
127Controls which processor should be targeted for generated
128code.
129This controls processor-specific optimizations in
130certain code (currently only OpenSSL) as well as modifying
131the value of
132.Va CFLAGS
133and
134.Va COPTFLAGS
135to contain the appropriate optimization directive to
136.Xr gcc 1 .
137The automatic setting of
138.Va CFLAGS
139and
140.Va COPTFLAGS
141may be overridden using the
142.Va NO_CPU_CFLAGS
143and
144.Va NO_CPU_COPTFLAGS
145variables, respectively.
146Refer to
147.Pa /usr/share/examples/etc/make.conf
148for a list of recognized
149.Va CPUTYPE
150options.
151.It Va NO_CPU_CFLAGS
152.Pq Vt str
153Setting this variable will prevent CPU specific compiler flags
154from being automatically added to
155.Va CFLAGS
156during compile time.
157.It Va NO_CPU_COPTFLAGS
158.Pq Vt str
159Setting this variable will prevent CPU specific compiler flags
160from being automatically added to
161.Va COPTFLAGS
162during compile time.
163.It Va CVS_UPDATE
164.Pq Vt bool
165Set this to use
166.Xr cvs 1
167to update your ports with
168.Dq Li "make update" .
169.It Va CXXFLAGS
170.Pq Vt str
171Controls the compiler settings when compiling C++ code.
172.Va CXXFLAGS
173is initially set to the value of
174.Va CFLAGS .
175If you want to
176add to the
177.Va CXXFLAGS
178value, use
179.Dq Li +=
180instead of
181.Dq Li = .
182.It Va INSTALL
183.Pq Vt str
184the default install command.
185To install only files for which the target differs or does not exist, use
186.Bd -literal -offset indent
187INSTALL="install -C"
188.Ed
189Note that some makefiles (including those in
190.Pa /usr/share/mk )
191may hardcode options for the supplied install command.
192.It Va LOCAL_DIRS
193.Pq Vt str
194List any directories that should be entered when doing
195make's in
196.Pa /usr/src
197in this variable.
198.It Va MAKE_SHELL
199.Pq Vt str
200Controls the shell used internally by
201.Xr make 1
202to process the command scripts in makefiles.
203.Xr sh 1 ,
204.Xr ksh 1 ,
205and
206.Xr csh 1
207all currently supported.
208.Pp
209.Dl "MAKE_SHELL?=sh"
210.It Va MTREE_FOLLOWS_SYMLINKS
211.Pq Vt str
212Set this to
213.Dq Fl L
214to cause
215.Xr mtree 8
216to follow symlinks.
217.It Va NO_DOCUPDATE
218.Pq Vt bool
219Set this to not update the doc tree during
220.Dq Li "make update" .
221.It Va NO_PORTSUPDATE
222.Pq Vt bool
223Set this to not update the ports tree during
224.Dq Li "make update" .
225.It Va SUP_UPDATE
226.Pq Vt bool
227Set this to use
228.Xr cvsup 1
229to update your ports with
230.Dq Li "make update" .
231.It Va SUP
232.Pq Vt str
233The location of the
234.Xr cvsup 1
235command for
236.Dq Li "make update" .
237.It Va SUPFLAGS
238.Pq Vt str
239The flag for the
240.Xr sup 1
241command when doing
242.Dq Li "make update" .
243This defaults to
244.Op Fl g L Ar 2 .
245.It Va SUPHOST
246.Pq Vt str
247The hostname of the sup server to use when doing
248.Dq Li "make update" .
249.It Va SUPFILE
250.Pq Vt str
251The first
252.Ar supfile
253to use when doing a
254.Dq Li "make update" .
255This defaults to
256.Pa /usr/share/examples/cvsup/standard\-supfile .
257.It Va SUPFILE1
258.Pq Vt str
259The second
260.Ar supfile
261to use when doing a
262.Dq Li "make update" .
263This defaults to
264.Pa /usr/share/examples/cvsup/secure\-supfile .
265.It Va SUPFILE2
266.Pq Vt str
267The third
268.Ar supfile
269to use when doing a
270.Dq Li "make update" .
271This defaults to
272.Pa /usr/share/examples/cvsup/secure\-supfile .
273.It Va PORTSSUPFILE
274.Pq Vt str
275The ports
276.Ar supfile
277to use when doing a
278.Dq Li "make update" .
279This defaults to
280.Pa /usr/share/examples/cvsup/ports\-supfile .
281.It Va DOCSUPFILE
282.Pq Vt str
283The documentation
284.Ar supfile
285to use when doing a
286.Dq Li "make update" .
287This defaults to
288.Pa /usr/share/examples/cvsup/doc\-supfile .
289.El
290.Pp
291The following list provides a name and short description for variables
292that are only used doing a kernel build:
293.Bl -tag -width Ar
294.It Va BOOT_COMCONSOLE_PORT
295.Pq Vt str
296The port address to use for the console if the boot blocks have
297been configured to use a serial console instead of the keyboard/video card.
298.It Va BOOT_COMCONSOLE_SPEED
299.Pq Vt int
300The baud rate to use for the console if the boot blocks have
301been configured to use a serial console instead of the keyboard/video card.
302.It Va BOOTWAIT
303.Pq Vt int
304Controls the amount of time the kernel waits for a console keypress
305before booting the default kernel.
306The value is approximately milliseconds.
307Keypresses are accepted by the BIOS before booting from disk,
308making it possible to give custom boot parameters even when this is
309set to 0.
310.It Va COPTFLAGS
311.Pq Vt str
312Controls the compiler settings when building the
313kernel.
314Optimization levels above
315.Oo Fl O ( O2 , No ...\& ) Oc
316are not guaranteed to work.
317.It Va KERNCONF
318.Pq Vt str
319Controls which kernel configurations will be
320built by
321.Dq Li "${MAKE} buildkernel"
322and installed by
323.Dq Li "${MAKE} installkernel" .
324For example,
325.Bd -literal -offset indent
326KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
327.Ed
328.Pp
329will build the kernels specified by the config files
330.Pa MINE , DEBUG , GENERIC ,
331and
332.Pa OTHERMACHINE ,
333and install the kernel specified by the config file
334.Pa MINE .
335It defaults to
336.Pa GENERIC .
337.It Va LOADER_TFTP_SUPPORT
338.Pq Vt bool
339While not a buildkernel-affected option, there is no better place for this.
340By default the
341.Xr pxeboot 8
342loader retrieves the kernel via NFS.
343Defining this and recompiling
344.Pa /usr/src/sys/boot
345will cause it to retrieve the kernel via TFTP.
346This allows
347.Xr pxeboot 8
348to load a custom BOOTP diskless kernel yet
349still mount the server's
350.Pa /
351rather than load the server's kernel.
352.It Va MODULES_OVERRIDE
353.Pq Vt str
354Set to a list of modules to build instead of all of them.
355.It Va NO_KERNELCONFIG
356.Pq Vt bool
357Set this to skip running
358.Xr config 8
359during
360.Dq Li "${MAKE} buildkernel" .
361.It Va NO_KERNELDEPEND
362.Pq Vt bool
363Set this to skip running
364.Dq Li "${MAKE} depend"
365during
366.Dq Li "${MAKE} buildkernel" .
367.It Va NO_MODULES
368.Pq Vt bool
369Set to not build modules with the kernel.
370.El
371.Pp
372The following list provides a name and short description for variables
373that are used during the world build:
374.Bl -tag -width Ar
375.It Va COMPAT1X
376.Pq Vt bool
377Set to install the
378.Fx
3791 compatibility libraries.
380.It Va COMPAT20
381.Pq Vt bool
382Set to install the
383.Fx 2.0
384compatibility libraries.
385.It Va COMPAT21
386.Pq Vt bool
387Set to install the
388.Fx 2.1
389compatibility libraries.
390.It Va COMPAT22
391.Pq Vt bool
392Set to install the
393.Fx 2.2
394compatibility libraries.
395.It Va COMPAT3X
396.Pq Vt bool
397Set to install the
398.Fx
3993
400compatibility libraries.
401.It Va COMPAT4X
402.Pq Vt bool
403Set to install the
404.Fx
4054
406compatibility libraries.
407.It Va FETCH_CMD
408.Pq Vt str
409Command to use to fetch files.
410Normally
411.Xr fetch 1 .
412.It Va KRB5_HOME
413.Pq Vt str
414If you want to install the MIT Kerberos5 port somewhere other than
415.Pa /usr/local ,
416define this.
417This is also used to tell ssh1 that Kerberos is needed.
418.It Va MAKE_IDEA
419.Pq Vt bool
420Set to build the IDEA encryption code.
421This code is patented in the USA and many European countries.
422It is
423.Em "YOUR RESPONSIBILITY"
424to determine if you can legally use IDEA.
425.It Va NO_DYNAMICROOT
426.Pq Vt bool
427Set this if you do not want to link
428.Pa /bin
429and
430.Pa /sbin
431dynamically.
432.It Va NO_KERBEROS
433.Pq Vt bool
434Set this if you do not want to build Kerberos 5 (KTH Heimdal).
435.It Va ENABLE_SUID_K5SU
436.Pq Vt bool
437Set this if you wish to use the ksu utility.
438Otherwise, it will be
439installed without the set-user-ID bit set.
440.It Va ENABLE_SUID_NEWGRP
441.Pq Vt bool
442Set this to install
443.Xr newgrp 1
444with the set-user-ID bit set.
445Otherwise,
446.Xr newgrp 1
447will not be able to change users' groups.
448.It Va ENABLE_SUID_SSH
449.Pq Vt bool
450Set this to install
451.Xr ssh 1
452with the set-user-ID bit turned on.
453.It Va MODULES_WITH_WORLD
454.Pq Vt bool
455Set to build modules with the system instead of the kernel.
456.It Va NO_BLUETOOTH
457.Pq Vt bool
458Set to not build Bluetooth related kernel modules, programs and libraries.
459.It Va NO_CVS
460.Pq Vt bool
461Set to not build CVS.
462.It Va NO_CXX
463.Pq Vt bool
464Set to not build
465.Xr g++ 1
466and related libraries.
467.It Va NO_BIND
468.Pq Vt bool
469Set to not build BIND.
470.It Va NO_FORTRAN
471.Pq Vt bool
472Set to not build
473.Xr g77 1
474and related libraries.
475.It Va NO_GDB
476.Pq Vt bool
477Set to not build
478.Xr gdb 1 .
479.It Va NO_I4B
480.Pq Vt bool
481Set to not build isdn4bsd package.
482.It Va NO_IPFILTER
483.Pq Vt bool
484Set to not build IP Filter package.
485.It Va NO_TOOLCHAIN
486.Pq Vt bool
487Set to not build
488programs used for program development,
489compilers, debuggers etc.
490.It Va NOINET6
491.Pq Vt bool
492Set to not build
493programs and libraries related to IPv6 networking.
494.It Va NOATM
495.Pq Vt bool
496Set to not build
497programs and libraries related to ATM networking.
498.It Va NO_USB
499.Pq Vt bool
500Set to not build
501.Xr usbd 8
502and related programs.
503.It Va NO_LPR
504.Pq Vt bool
505Set to not build
506.Xr lpr 1
507and related programs.
508.It Va NO_ACPI
509.Pq Vt bool
510Set to not build
511.Xr acpiconf 8 ,
512.Xr acpidump 8
512.Xr acpidump 8
513and related programs.
514.It Va NO_VINUM
515.Pq Vt bool
516Set to not build
517.Xr vinum 8
518and related programs.
519.It Va NO_MAILWRAPPER
520.Pq Vt bool
521Set to not build the
522.Xr mailwrapper 8
523MTA selector.
524.It Va NOMAN
525.Pq Vt bool
526Set to not build manual pages.
527.It Va NO_OBJC
528.Pq Vt bool
529Set to not build Objective C support.
530.It Va NO_OPENSSH
531.Pq Vt bool
532Set to not build OpenSSH.
533.It Va NO_OPENSSL
534.Pq Vt bool
535Set to not build OpenSSL (implies
536.Va NO_KERBEROS
537and
538.Va NO_OPENSSH ) .
539.It Va NO_SENDMAIL
540.Pq Vt bool
541Set to not build
542.Xr sendmail 8
543and related programs.
544.It Va NO_SHAREDOCS
545.Pq Vt bool
546Set to not build the
547.Bx 4.4
548legacy docs.
549.It Va NO_TCSH
550.Pq Vt bool
551Set to not build and install
552.Pa /bin/csh
553(which is
554.Xr tcsh 1 ) .
555.It Va NOCLEAN
556.Pq Vt bool
557Set this to disable cleaning during
558.Dq Li "make buildworld" .
559This should not be set unless you know what you are doing.
560.It Va NOCLEANDIR
561.Pq Vt bool
562Set this to run
563.Dq Li "${MAKE} clean"
564instead of
565.Dq Li "${MAKE} cleandir" .
566.It Va NOCRYPT
567.Pq Vt bool
568Set to not build any crypto code.
569.It Va NOGAMES
570.Pq Vt bool
571Set to not build games.
572.It Va NOINFO
573.Pq Vt bool
574Set to not make or install
575.Xr info 5
576files.
577.It Va NOLIBC_R
578.Pq Vt bool
579Set to not build
580.Nm libc_r
581(reentrant version of
582.Nm libc ) .
583.It Va NOLIBPTHREAD
584.Pq Vt bool
585Set to not build the
586.Nm libpthread
587(M:N threading)
588library.
589.It Va NOLIBTHR
590.Pq Vt bool
591Set to not build the
592.Nm libthr
593(1:1 threading)
594library.
595.It Va NOMANCOMPRESS
596.Pq Vt bool
597Set to install man pages uncompressed.
598.It Va NOPROFILE
599.Pq Vt bool
600Set to avoid compiling profiled libraries.
601.It Va NOSHARE
602.Pq Vt bool
603Set to not build in the
604.Pa share
605subdir.
606.It Va PPP_NOSUID
607.Pq Vt bool
608Set to disable the installation of
609.Xr ppp 8
610as an suid root program.
611.It Va SENDMAIL_MC
612.Pq Vt str
613The default
614.Xr m4 1
615configuration file to use at install time.
616The value should include the full path to the
617.Pa .mc
618file, e.g.,
619.Pa /etc/mail/myconfig.mc .
620Use with caution as a make install will overwrite any existing
621.Pa /etc/mail/sendmail.cf .
622Note that
623.Va SENDMAIL_CF
624is now deprecated.
625.It Va SENDMAIL_SUBMIT_MC
626.Pq Vt str
627The default
628.Xr m4 1
629configuration file for mail submission
630to use at install time.
631The value should include the full path to the
632.Pa .mc
633file, e.g.,
634.Pa /etc/mail/mysubmit.mc .
635Use with caution as a make install will overwrite any existing
636.Pa /etc/mail/submit.cf .
637.It Va SENDMAIL_ADDITIONAL_MC
638.Pq Vt str
639Additional
640.Pa .mc
641files which should be built into
642.Pa .cf
643files at build time.
644The value should include the full path to the
645.Pa .mc
646file(s), e.g.,
647.Pa /etc/mail/foo.mc
648.Pa /etc/mail/bar.mc .
649.It Va SENDMAIL_CF_DIR
650.Pq Vt str
651Override the default location for the
652.Xr m4 1
653configuration files used to build a
654.Pa .cf
655file from a
656.Pa .mc
657file.
658.It Va SENDMAIL_M4_FLAGS
659.Pq Vt str
660Flags passed to
661.Xr m4 1
662when building a
663.Pa .cf
664file from a
665.Pa .mc
666file.
667.It Va SENDMAIL_CFLAGS
668.Pq Vt str
669Flags to pass to the compile command when building
670.Xr sendmail 8 .
671The
672.Va SENDMAIL_*
673flags can be used to provide SASL support with setting such as:
674.Bd -literal -offset indent
675SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
676SENDMAIL_LDFLAGS=-L/usr/local/lib
677SENDMAIL_LDADD=-lsasl
678.Ed
679.It Va SENDMAIL_LDFLAGS
680.Pq Vt str
681Flags to pass to the
682.Xr ld 1
683command when building
684.Xr sendmail 8 .
685.It Va SENDMAIL_LDADD
686.Pq Vt str
687Flags to add to the end of the
688.Xr ld 1
689command when building
690.Xr sendmail 8 .
691.It Va SENDMAIL_DPADD
692.Pq Vt str
693Extra dependencies to add when building
694.Xr sendmail 8 .
695.It Va SENDMAIL_SET_USER_ID
696.Pq Vt bool
697If set, install
698.Xr sendmail 8
699as a set-user-ID root binary instead of a set-group-ID binary
700and do not install
701.Pa /etc/mail/submit.{cf,mc} .
702Use of this flag is not recommended and the alternative advice in
703.Pa /etc/mail/README
704should be followed instead if at all possible.
705.It Va SENDMAIL_MAP_PERMS
706.Pq Vt str
707Mode to use when generating alias and map database files using
708.Pa /etc/mail/Makefile .
709The default value is 0640.
710.It Va TOP_TABLE_SIZE
711.Pq Vt int
712.Xr top 1
713uses a hash table for the user names.
714The size of this hash can be tuned to match the number of local users.
715The table size should be a prime number
716approximately twice as large as the number of lines in
717.Pa /etc/passwd .
718The default number is 20011.
719.It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE
720.Pq Vt int
721Causes the system compiler to be built such that it forces high optimization
722levels to a lower one.
723.Xr gcc 1
724.Fl O2
725and above is known to trigger known optimizer bugs at various
726times \(em this is worse on the Alpha platform.
727The value assigned is the highest optimization value used.
728.El
729.Pp
730The following list provides a name and short description for variables
731that are used when building documentation.
732.Bl -tag -width Ar
733.It Va DISTDIR
734.Pq Vt str
735Where distfiles are kept.
736Normally, this is
737.Pa distfiles
738in
739.Va PORTSDIR .
740.It Va DOC_LANG
741.Pq Vt str
742The list of languages and encodings to build and install.
743.It Va PRINTERDEVICE
744.Pq Vt str
745The default format for system documentation, depends on your
746printer.
747This can be set to
748.Dq Li ascii
749for simple printers, or
750.Dq Li ps
751for postscript or graphics printers with a ghostscript
752filter, or both.
753.El
754.Sh FILES
755.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact
756.It Pa /etc/make.conf
757.It Pa /usr/doc/Makefile
758.It Pa /usr/share/examples/etc/make.conf
759.It Pa /usr/src/Makefile
760.It Pa /usr/src/Makefile.inc1
761.El
762.Sh SEE ALSO
763.Xr gcc 1 ,
764.Xr install 1 ,
765.Xr make 1 ,
766.Xr ports 7 ,
767.Xr lpd 8 ,
768.Xr sendmail 8
769.Sh HISTORY
770The
771.Nm
772file appeared sometime before
773.Fx 4.0 .
774.Sh AUTHORS
775This
776manual page was written by
777.An Mike W. Meyer Aq mwm@mired.org .
778.Sh BUGS
779This manual page may occasionally be out of date with respect to
780the options currently available for use in
781.Nm .
782Please check the
783.Pa /usr/share/examples/etc/make.conf
784file for the latest options which are available.
513and related programs.
514.It Va NO_VINUM
515.Pq Vt bool
516Set to not build
517.Xr vinum 8
518and related programs.
519.It Va NO_MAILWRAPPER
520.Pq Vt bool
521Set to not build the
522.Xr mailwrapper 8
523MTA selector.
524.It Va NOMAN
525.Pq Vt bool
526Set to not build manual pages.
527.It Va NO_OBJC
528.Pq Vt bool
529Set to not build Objective C support.
530.It Va NO_OPENSSH
531.Pq Vt bool
532Set to not build OpenSSH.
533.It Va NO_OPENSSL
534.Pq Vt bool
535Set to not build OpenSSL (implies
536.Va NO_KERBEROS
537and
538.Va NO_OPENSSH ) .
539.It Va NO_SENDMAIL
540.Pq Vt bool
541Set to not build
542.Xr sendmail 8
543and related programs.
544.It Va NO_SHAREDOCS
545.Pq Vt bool
546Set to not build the
547.Bx 4.4
548legacy docs.
549.It Va NO_TCSH
550.Pq Vt bool
551Set to not build and install
552.Pa /bin/csh
553(which is
554.Xr tcsh 1 ) .
555.It Va NOCLEAN
556.Pq Vt bool
557Set this to disable cleaning during
558.Dq Li "make buildworld" .
559This should not be set unless you know what you are doing.
560.It Va NOCLEANDIR
561.Pq Vt bool
562Set this to run
563.Dq Li "${MAKE} clean"
564instead of
565.Dq Li "${MAKE} cleandir" .
566.It Va NOCRYPT
567.Pq Vt bool
568Set to not build any crypto code.
569.It Va NOGAMES
570.Pq Vt bool
571Set to not build games.
572.It Va NOINFO
573.Pq Vt bool
574Set to not make or install
575.Xr info 5
576files.
577.It Va NOLIBC_R
578.Pq Vt bool
579Set to not build
580.Nm libc_r
581(reentrant version of
582.Nm libc ) .
583.It Va NOLIBPTHREAD
584.Pq Vt bool
585Set to not build the
586.Nm libpthread
587(M:N threading)
588library.
589.It Va NOLIBTHR
590.Pq Vt bool
591Set to not build the
592.Nm libthr
593(1:1 threading)
594library.
595.It Va NOMANCOMPRESS
596.Pq Vt bool
597Set to install man pages uncompressed.
598.It Va NOPROFILE
599.Pq Vt bool
600Set to avoid compiling profiled libraries.
601.It Va NOSHARE
602.Pq Vt bool
603Set to not build in the
604.Pa share
605subdir.
606.It Va PPP_NOSUID
607.Pq Vt bool
608Set to disable the installation of
609.Xr ppp 8
610as an suid root program.
611.It Va SENDMAIL_MC
612.Pq Vt str
613The default
614.Xr m4 1
615configuration file to use at install time.
616The value should include the full path to the
617.Pa .mc
618file, e.g.,
619.Pa /etc/mail/myconfig.mc .
620Use with caution as a make install will overwrite any existing
621.Pa /etc/mail/sendmail.cf .
622Note that
623.Va SENDMAIL_CF
624is now deprecated.
625.It Va SENDMAIL_SUBMIT_MC
626.Pq Vt str
627The default
628.Xr m4 1
629configuration file for mail submission
630to use at install time.
631The value should include the full path to the
632.Pa .mc
633file, e.g.,
634.Pa /etc/mail/mysubmit.mc .
635Use with caution as a make install will overwrite any existing
636.Pa /etc/mail/submit.cf .
637.It Va SENDMAIL_ADDITIONAL_MC
638.Pq Vt str
639Additional
640.Pa .mc
641files which should be built into
642.Pa .cf
643files at build time.
644The value should include the full path to the
645.Pa .mc
646file(s), e.g.,
647.Pa /etc/mail/foo.mc
648.Pa /etc/mail/bar.mc .
649.It Va SENDMAIL_CF_DIR
650.Pq Vt str
651Override the default location for the
652.Xr m4 1
653configuration files used to build a
654.Pa .cf
655file from a
656.Pa .mc
657file.
658.It Va SENDMAIL_M4_FLAGS
659.Pq Vt str
660Flags passed to
661.Xr m4 1
662when building a
663.Pa .cf
664file from a
665.Pa .mc
666file.
667.It Va SENDMAIL_CFLAGS
668.Pq Vt str
669Flags to pass to the compile command when building
670.Xr sendmail 8 .
671The
672.Va SENDMAIL_*
673flags can be used to provide SASL support with setting such as:
674.Bd -literal -offset indent
675SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
676SENDMAIL_LDFLAGS=-L/usr/local/lib
677SENDMAIL_LDADD=-lsasl
678.Ed
679.It Va SENDMAIL_LDFLAGS
680.Pq Vt str
681Flags to pass to the
682.Xr ld 1
683command when building
684.Xr sendmail 8 .
685.It Va SENDMAIL_LDADD
686.Pq Vt str
687Flags to add to the end of the
688.Xr ld 1
689command when building
690.Xr sendmail 8 .
691.It Va SENDMAIL_DPADD
692.Pq Vt str
693Extra dependencies to add when building
694.Xr sendmail 8 .
695.It Va SENDMAIL_SET_USER_ID
696.Pq Vt bool
697If set, install
698.Xr sendmail 8
699as a set-user-ID root binary instead of a set-group-ID binary
700and do not install
701.Pa /etc/mail/submit.{cf,mc} .
702Use of this flag is not recommended and the alternative advice in
703.Pa /etc/mail/README
704should be followed instead if at all possible.
705.It Va SENDMAIL_MAP_PERMS
706.Pq Vt str
707Mode to use when generating alias and map database files using
708.Pa /etc/mail/Makefile .
709The default value is 0640.
710.It Va TOP_TABLE_SIZE
711.Pq Vt int
712.Xr top 1
713uses a hash table for the user names.
714The size of this hash can be tuned to match the number of local users.
715The table size should be a prime number
716approximately twice as large as the number of lines in
717.Pa /etc/passwd .
718The default number is 20011.
719.It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE
720.Pq Vt int
721Causes the system compiler to be built such that it forces high optimization
722levels to a lower one.
723.Xr gcc 1
724.Fl O2
725and above is known to trigger known optimizer bugs at various
726times \(em this is worse on the Alpha platform.
727The value assigned is the highest optimization value used.
728.El
729.Pp
730The following list provides a name and short description for variables
731that are used when building documentation.
732.Bl -tag -width Ar
733.It Va DISTDIR
734.Pq Vt str
735Where distfiles are kept.
736Normally, this is
737.Pa distfiles
738in
739.Va PORTSDIR .
740.It Va DOC_LANG
741.Pq Vt str
742The list of languages and encodings to build and install.
743.It Va PRINTERDEVICE
744.Pq Vt str
745The default format for system documentation, depends on your
746printer.
747This can be set to
748.Dq Li ascii
749for simple printers, or
750.Dq Li ps
751for postscript or graphics printers with a ghostscript
752filter, or both.
753.El
754.Sh FILES
755.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact
756.It Pa /etc/make.conf
757.It Pa /usr/doc/Makefile
758.It Pa /usr/share/examples/etc/make.conf
759.It Pa /usr/src/Makefile
760.It Pa /usr/src/Makefile.inc1
761.El
762.Sh SEE ALSO
763.Xr gcc 1 ,
764.Xr install 1 ,
765.Xr make 1 ,
766.Xr ports 7 ,
767.Xr lpd 8 ,
768.Xr sendmail 8
769.Sh HISTORY
770The
771.Nm
772file appeared sometime before
773.Fx 4.0 .
774.Sh AUTHORS
775This
776manual page was written by
777.An Mike W. Meyer Aq mwm@mired.org .
778.Sh BUGS
779This manual page may occasionally be out of date with respect to
780the options currently available for use in
781.Nm .
782Please check the
783.Pa /usr/share/examples/etc/make.conf
784file for the latest options which are available.