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