xref: /dflybsd-src/share/man/man5/make.conf.5 (revision 16e9ff28733d8bd9941b9770d79be966ba221f5f)
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: src/share/man/man5/make.conf.5,v 1.12.2.30 2003/05/18 17:05:55 brueffer Exp $
26.\"
27.Dd March 4, 2011
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.Dx
38sources.
39The file
40.Nm
41is generally created by the system administrator when the values need
42to be changed from their defaults.
43.Pp
44The purpose of
45.Nm
46is not to run commands or perform compilation actions
47directly.
48Instead, it is included by the various makefiles in
49.Pa /usr/src
50which conditionalize their internal actions according to the settings
51found there.
52.Pp
53The
54.Pa /etc/make.conf
55file is included from the appropriate
56.Pa Makefile
57which specifies the default settings for all the available options.
58Options need only be specified in
59.Pa /etc/make.conf
60when the system administrator wishes to override these defaults.
61.Pp
62The build procedures occur in three areas: world, kernel, and
63documentation.
64Variables set in
65.Nm
66may be applicable during builds in one, two, or all of these areas.
67They may be specified for a particular build via the
68.Fl D
69option of
70.Xr make 1 .
71.Pp
72The following lists provide a name and short description for each
73variable you can use during the indicated builds.
74The values of variables flagged as
75.Vt bool
76are ignored; the variable being set at all (even to
77.Dq Li FALSE
78or
79.Dq Li NO )
80causes it to be treated as if it were set.
81.Pp
82The following list provides a name and short description for variables
83that are used for all builds, or are used by the
84.Pa makefiles
85for things other than builds.
86.Bl -tag -width Ar
87.It Va CPUTYPE
88.Pq Vt str
89Controls which processor should be targeted for generated code.
90This controls processor-specific optimizations in certain code
91(currently only OpenSSL) as well as modifying the value of
92.Va CFLAGS
93and
94.Va COPTFLAGS
95to contain the appropriate optimization directive to
96.Xr gcc 1 .
97The automatic setting of
98.Va CFLAGS
99and
100.Va COPTFLAGS
101may be overridden using the
102.Va NO_CPU_CFLAGS
103and
104.Va NO_CPU_COPTFLAGS
105variables, respectively.  Refer to
106.Pa /usr/share/examples/etc/defaults/make.conf
107for a list of recognized
108.Va CPUTYPE
109options.
110.It Va CCVER
111.Pq Vt str
112Controls which GCC version to use by default.
113It should be set as
114.Li CCVER?=
115so as not to interfere with overrides from userland.
116We currently recommend that an override NOT be set in
117.Pa /etc/make.conf .
118Currently accepted values for compilers which are part of
119.Dx
120are
121.Dq gcc41
122and
123.Dq gcc44
124(default).
125All other values will handled according to the settings in
126.Xr compilers.conf 5 .
127.It Va BINUTILSVER
128.Pq Vt str
129Controls which binutils to use by default.
130Currently accepted values are
131.Dq binutils217
132(default) and
133.Dq binutils220 .
134.It Va CFLAGS
135.Pq Vt str
136Controls the compiler setting when compiling C code.
137Optimization levels above
138.Fl O
139.Pq Fl O2 , No ...
140are not supported.
141.Va BDECFLAGS
142is provided as a set of
143.Xr gcc 1
144settings suggested by
145.An "Bruce Evans" Aq bde@FreeBSD.org
146for developing and testing changes.
147They can be used, if set, by:
148.Bd -literal -offset indent
149CFLAGS+=${BDECFLAGS}
150.Ed
151.It Va DEBUG_FLAGS
152.Pq Vt str
153Similar to
154.Va CFLAGS
155but it will cause
156.Va STRIP
157to be set to a blank value, if set.
158Typically,
159.Va DEBUG_FLAGS
160is set to
161.Fl g
162for compiling with debug symbols.
163.It Va NO_CPU_CFLAGS
164.Pq Vt str
165Setting this variable will prevent CPU specific compiler flags
166from being automatically added to
167.Va CFLAGS
168during compile time.
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 add to the
176.Va CXXFLAGS
177value, use
178.Dq Li +=
179instead of
180.Dq Li = .
181.It Va INSTALL
182.Pq Vt str
183the default install command.
184To have components compared before doing the install, use
185.Bd -literal -offset indent
186INSTALL="install -C"
187.Ed
188.It Va LOCAL_DIRS
189.Pq Vt str
190List any directories that should be entered when running make
191.Pa /usr/src
192in this variable.
193.It Va MAKE_SHELL
194.Pq Vt str
195Controls the shell used internally by
196.Xr make 1
197to process the command scripts in makefiles.
198.Xr sh 1 ,
199.Xr ksh 1 ,
200and
201.Xr csh 1
202all currently supported.
203.Bd -literal -offset indent
204MAKE_SHELL?=sh
205.Ed
206.It Va MODULES_OVERRIDE
207.Pq Vt str
208Set to a list of modules to build instead of all of them.
209.It Va MTREE_FOLLOWS_SYMLINKS
210.Pq Vt str
211Set this to
212.Dq Fl L
213to cause
214.Xr mtree 8
215to follow symlinks.
216.It Va STRIP
217.Pq Vt str
218Set this to the flag to pass to the
219.Xr strip 1
220command.
221If set to a blank value, debug symbols will not be removed.
222.Va STRIP
223is automatically set to a blank value if
224.Va DEBUG_FLAGS
225is set.
226.It Va WANT_HESIOD
227.Pq Vt bool
228Set this to build
229.Xr hesiod 3
230support into libc.
231.It Va NO_NS_CACHING
232.Pq Vt bool
233Set this to disable name caching in the nsswitch subsystem.
234The generic caching daemon,
235.Xr nscd 8 ,
236will not be built either if this option is set.
237.It Va NO_WERROR
238Set this if you don't want
239.Fl Werror
240to be added to
241.Va CWARNFLAGS
242or used in the kernel build.
243.It Va STATIC_LOCALES
244.Pq Vt str
245Set to a list of locales to build into statically-linked binaries.
246Currently supported locales are: BIG5 EUC EUCTW ISO2022 MSKanji UTF8
247.El
248.Pp
249The following list provides a name and short description for variables
250that are only used doing a kernel build:
251.Bl -tag -width Ar
252.It Va BOOT_COMCONSOLE_PORT
253.Pq Vt str
254The port address to use for the console if the boot blocks have
255been configured to use a serial console instead of the keyboard/video card.
256.It Va BOOT_COMCONSOLE_SPEED
257.Pq Vt int
258The baud rate to use for the console if the boot blocks have
259been configured to use a serial console instead of the keyboard/video card.
260.It Va COPTFLAGS
261.Pq Vt str
262Controls the compiler settings when building the
263kernel.
264Optimization levels above
265.Fl O
266.Pq Fl O2 , No ...
267are not guaranteed to work.
268.It Va KERNCONF
269.Pq Vt str
270Controls which kernel configurations will be
271built by
272.Dq Li "${MAKE} buildkernel"
273and installed by
274.Dq Li "${MAKE} installkernel" .
275For example,
276.Bd -literal -offset indent
277KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
278.Ed
279.Pp
280will build the kernels specified by the config files
281.Pa MINE , DEBUG , GENERIC ,
282and
283.Pa OTHERMACHINE ,
284and install the kernel specified by the config file
285.Pa MINE .
286It defaults to
287.Pa GENERIC .
288.It Va LOADER_TFTP_SUPPORT
289.Pq Vt bool
290While not a buildkernel-affected option, there is no better place for this.
291By default the
292.Xr pxeboot 8
293loader retrieves the kernel via NFS.
294Defining this and recompiling
295.Pa /usr/src/sys/boot
296will cause it to retrieve the kernel via TFTP.
297This allows pxeboot to load a custom BOOTP diskless kernel yet
298still mount the server's
299.Pa /
300rather than load the server's kernel.
301.It Va NO_CPU_COPTFLAGS
302.Pq Vt str
303Setting this variable will prevent CPU specific compiler flags
304from being automatically added to
305.Va COPTFLAGS
306during compile time.
307.It Va NO_KERNELCLEAN
308.Pq Vt bool
309Set this to skip the clean target when using
310.Dq Li "${MAKE} buildkernel" .
311.It Va NO_KERNELCONFIG
312.Pq Vt bool
313Set this to skip running
314.Xr config 8
315during
316.Dq Li "${MAKE} buildkernel" .
317.It Va NO_KERNELDEPEND
318.Pq Vt bool
319Set this to skip running
320.Dq Li "${MAKE} depend"
321during
322.Dq Li "${MAKE} buildkernel" .
323.It Va NO_KERNEL_OLD_STRIP
324.Pq Vt bool
325Set this to skip stripping debugging symbols from old kernel and modules
326(kernel.old, modules.old) during
327.Dq Li "${MAKE} installkernel" .
328.It Va NO_MODULES
329.Pq Vt bool
330Set to not build modules with the kernel.
331.El
332.Pp
333The following list provides a name and short description for variables
334that are used during the world build:
335.Bl -tag -width Ar
336.It Va ENABLE_SUID_SSH
337.Pq Vt bool
338Set this to install
339.Xr ssh 1
340with the setuid bit turned on.
341.It Va MODULES_WITH_WORLD
342.Pq Vt bool
343Set to build modules with the system instead of the kernel.
344.It Va NO_CRYPT
345.Pq Vt bool
346Set to not build crypto code.
347.It Va NO_CVS
348.Pq Vt bool
349Set to not build CVS.
350.It Va NO_GAMES
351.Pq Vt bool
352Set to not build games.
353.It Va NO_GCC41
354.Pq Vt bool
355Set to not build the older version of GCC (4.1).
356.It Va NO_GDB
357.Pq Vt bool
358Set to not build
359.Xr gdb 1
360.It Va NO_I4B
361.Pq Vt bool
362Set to not build isdn4bsd package.
363.It Va NO_IPFILTER
364.Pq Vt bool
365Set to not build IP Filter package.
366.It Va NO_LIBC_R
367.Pq Vt bool
368Set to not build
369.Nm libc_r
370(reentrant version of
371.Nm libc ) .
372.It Va NO_LPR
373.Pq Vt bool
374Set to not build
375.Xr lpr 1
376and related programs.
377.It Va NO_MAILWRAPPER
378.Pq Vt bool
379Set to not build the
380.Xr mailwrapper 8
381MTA selector.
382.It Va NO_OBJC
383.Pq Vt bool
384Set to not build Objective C support.
385.It Va NO_OPENSSH
386.Pq Vt bool
387Set to not build OpenSSH.
388.It Va NO_OPENSSL
389.Pq Vt bool
390Set to not build OpenSSL (implies
391.Va NO_OPENSSH ) .
392.It Va NO_SENDMAIL
393.Pq Vt bool
394Set to not build
395.Xr sendmail 8
396and related programs.
397.It Va NO_SHARE
398.Pq Vt bool
399Set to not enter the share subdirectory.
400.It Va NO_X
401.Pq Vt bool
402Set to not compile in X\-Windows support (e.g.\&
403.Xr doscmd 1 ) .
404.It Va NOCLEAN
405.Pq Vt bool
406Set this to disable cleaning during
407.Dq Li "make buildworld" .
408This should not be set unless you know what you are doing.
409.It Va NOCLEANDIR
410.Pq Vt bool
411Set this to run
412.Dq Li "${MAKE} clean"
413instead of
414.Dq Li "${MAKE} cleandir" .
415.It Va NOFSCHG
416.Pq Vt bool
417Set to not install certain components with flag schg.
418This is useful in a jailed environment.
419.It Va NOINFO
420.Pq Vt bool
421Set to not make or install
422.Xr info 5
423files.
424.It Va NOINFOCOMPRESS
425.Pq Vt bool
426Set to not compress the info pages.
427.It Va NOMAN
428.Pq Vt bool
429Set to not build manual pages
430.It Va NOMANCOMPRESS
431.Pq Vt bool
432Set to not compress the manual pages.
433.It Va NOPROFILE
434.Pq Vt bool
435Set to avoid compiling profiled libraries.
436.It Va PPP_NOSUID
437.Pq Vt bool
438Set to disable the installation of
439.Xr ppp 8
440with the set-user-ID bit on.
441.It Va SENDMAIL_MC
442.Pq Vt str
443The default
444.Xr m4 1
445configuration file to use at install time.
446The value should include the full path to the
447.Pa .mc
448file, e.g.,
449.Pa /etc/mail/myconfig.mc .
450Use with caution as a make install will overwrite any existing
451.Pa /etc/mail/sendmail.cf .
452Note that
453.Va SENDMAIL_CF
454is now deprecated.
455.It Va SENDMAIL_SUBMIT_MC
456.Pq Vt str
457The default
458.Xr m4 1
459configuration file for mail submission
460to use at install time.
461The value should include the full path to the
462.Pa .mc
463file, e.g.,
464.Pa /etc/mail/mysubmit.mc .
465Use with caution as a make install will overwrite any existing
466.Pa /etc/mail/submit.cf .
467.It Va SENDMAIL_ADDITIONAL_MC
468.Pq Vt str
469Additional
470.Pa .mc
471files which should be built into
472.Pa .cf
473files at build time.
474The value should include the full path to the
475.Pa .mc
476file(s), e.g.,
477.Pa /etc/mail/foo.mc
478.Pa /etc/mail/bar.mc .
479.It Va SENDMAIL_CF_DIR
480.Pq Vt str
481Override the default location for the
482.Xr m4 1
483configuration files used to build a
484.Pa .cf
485file from a
486.Pa .mc
487file.
488.It Va SENDMAIL_M4_FLAGS
489.Pq Vt str
490Flags passed to
491.Xr m4 1
492when building a
493.Pa .cf
494file from a
495.Pa .mc
496file.
497.It Va SENDMAIL_CFLAGS
498.Pq Vt str
499Flags to pass to the compile command when building
500.Xr sendmail 8 .
501The
502.Va SENDMAIL_*
503flags can be used to provide SASL support with setting such as:
504.Bd -literal -offset indent
505SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
506SENDMAIL_LDFLAGS=-L/usr/local/lib
507SENDMAIL_LDADD=-lsasl
508.Ed
509.It Va SENDMAIL_LDFLAGS
510.Pq Vt str
511Flags to pass to the
512.Xr ld 1
513command when building
514.Xr sendmail 8 .
515.It Va SENDMAIL_LDADD
516.Pq Vt str
517Flags to add to the end of the
518.Xr ld 1
519command when building
520.Xr sendmail 8 .
521.It Va SENDMAIL_DPADD
522.Pq Vt str
523Extra dependencies to add when building
524.Xr sendmail 8 .
525.It Va SENDMAIL_SET_USER_ID
526.Pq Vt bool
527If set, install
528.Xr sendmail 8
529as a set-user-ID root binary instead of a set-group-ID binary
530and do not install
531.Pa /etc/mail/submit.{cf,mc} .
532Use of this flag is not recommended and the alternative advice in
533.Pa /etc/mail/README
534should be followed instead if at all possible.
535.It Va SENDMAIL_MAP_PERMS
536.Pq Vt str
537Mode to use when generating alias and map database files using
538.Pa /etc/mail/Makefile .
539The default value is 0640.
540.It Va THREAD_LIB
541.Pq Vt str
542Set to either
543.Li c_r
544or
545.Li thread_xu
546to configure the system's default threading library.
547The default is
548.Li thread_xu .
549.It Va WANT_IDEA
550.Pq Vt bool
551Set to build the IDEA encryption code.
552This code is patented in the USA and many European countries.
553It is
554.Em "YOUR RESPONSIBILITY"
555to determine if you can legally use IDEA.
556.It Va WANT_INSTALLER
557.Pq Vt bool
558Set to build the installer.
559.El
560.Pp
561The following list provides a name and short description for variables
562that are used when building documentation.
563.Bl -tag -width Ar
564.It Va DOC_LANG
565.Pq Vt str
566The list of languages and encodings to build and install.
567.It Va PRINTERDEVICE
568.Pq Vt str
569The default format for system documentation, depends on your
570printer.
571This can be set to
572.Dq Li ascii
573for simple printers or
574.Dq Li ps
575for postscript or graphics printers with a ghostscript
576filter.
577.It Va GROFF_PAPER_SIZE
578.Pq Vt str
579The default paper size for
580.Xr groff 1
581(either
582.Dq letter
583or
584.Dq A4 ) .
585.El
586.Sh FILES
587.Bl -tag -width /etc/defaults/make.conf -compact
588.It Pa /etc/defaults/make.conf
589.It Pa /etc/make.conf
590.It Pa /usr/src/Makefile
591.It Pa /usr/src/Makefile.inc1
592.El
593.Sh SEE ALSO
594.Xr gcc 1 ,
595.Xr install 1 ,
596.Xr make 1 ,
597.Xr lpd 8 ,
598.Xr sendmail 8
599.Sh HISTORY
600The
601.Nm
602file appeared sometime before
603.Fx 4.0 .
604.Sh AUTHORS
605This manual page was written by
606.An Mike W. Meyer Aq mwm@mired.org .
607