xref: /dragonfly/share/man/man5/make.conf.5 (revision 1465342b)
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.31 2007/12/24 11:23:05 swildner Exp $
27.\"
28.Dd December 24, 2007
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 gcc34
121(old version)
122and
123.Dq gcc41
124(default).
125.It Va CFLAGS
126.Pq Vt str
127Controls the compiler setting when compiling C code.
128Optimization levels above
129.Fl O
130.Pq Fl O2 , No ...
131are not supported.
132.Va BDECFLAGS
133is provided as a set of
134.Xr gcc 1
135settings suggested by
136.An "Bruce Evans" Aq bde@FreeBSD.org
137for developing and testing changes.
138They can be used, if set, by:
139.Pp
140.Bd -literal -offset indent
141CFLAGS+=${BDECFLAGS}
142.Ed
143.It Va NO_CPU_CFLAGS
144.Pq Vt str
145Setting this variable will prevent CPU specific compiler flags
146from being automatically added to
147.Va CFLAGS
148during compile time.
149.It Va CXXFLAGS
150.Pq Vt str
151Controls the compiler settings when compiling C++ code.
152.Va CXXFLAGS
153is initially set to the value of
154.Va CFLAGS .
155If you want to add to the
156.Va CXXFLAGS
157value, use
158.Dq Li +=
159instead of
160.Dq Li = .
161.It Va INSTALL
162.Pq Vt str
163the default install command.
164To have components compared before doing the install, use
165.Bd -literal -offset indent
166INSTALL="install -C"
167.Ed
168.It Va LOCAL_DIRS
169.Pq Vt str
170List any directories that should be entered when running make
171.Pa /usr/src
172in this variable.
173.It Va MAKE_SHELL
174.Pq Vt str
175Controls the shell used internally by
176.Xr make 1
177to process the command scripts in makefiles.
178.Xr sh 1 ,
179.Xr ksh 1 ,
180and
181.Xr csh 1
182all currently supported.
183.Bd -literal -offset indent
184MAKE_SHELL?=sh
185.Ed
186.It Va MODULES_OVERRIDE
187.Pq Vt str
188Set to a list of modules to build instead of all of them.
189.It Va MTREE_FOLLOWS_SYMLINKS
190.Pq Vt str
191Set this to
192.Dq Fl L
193to cause
194.Xr mtree 8
195to follow symlinks.
196.It Va NO_DOCUPDATE
197.Pq Vt bool
198Set this to not update the doc tree during
199.Dq Li "make update" .
200.It Va STRIP
201.Pq Vt str
202Set this to the flag to pass the
203.Xr strip 1
204command.
205If set to a blank value, components will be installed with debugging
206symbols.
207.It Va SUP_UPDATE
208.Pq Vt bool
209Set this to use
210.Xr cvsup 1
211to update your ports with
212.Dq Li "make update" .
213.It Va SUP
214.Pq Vt str
215The location of the
216.Xr cvsup 1
217command for
218.Dq Li "make update" .
219.It Va SUPFLAGS
220.Pq Vt str
221The flag for the
222.Xr sup 1
223command when doing
224.Dq Li "make update" .
225This defaults to
226.Dq Fl g L Ar 2 .
227.It Va SUPHOST
228.Pq Vt str
229The hostname of the sup server to use when doing
230.Dq Li "make update" .
231.It Va SUPFILE
232.Pq Vt str
233The first
234.Ar supfile
235to use when doing a
236.Dq Li "make update" .
237This defaults to
238.Pa /usr/share/examples/cvsup/standard\-supfile .
239.It Va SUPFILE1
240.Pq Vt str
241The second
242.Ar supfile
243to use when doing a
244.Dq Li "make update" .
245This defaults to
246.Pa /usr/share/examples/cvsup/secure\-supfile .
247.It Va SUPFILE2
248.Pq Vt str
249The third
250.Ar supfile
251to use when doing a
252.Dq Li "make update" .
253This defaults to
254.Pa /usr/share/examples/cvsup/secure\-supfile .
255.It Va DOCSUPFILE
256.Pq Vt str
257The documentation
258.Ar supfile
259to use when doing a
260.Dq Li "make update" .
261This defaults to
262.Pa /usr/share/examples/cvsup/doc\-supfile .
263.It Va WARNS_WERROR
264Causes
265.Fl Werror
266to be added to
267.Va CFLAGS
268when WARNS is in effect.
269.El
270.Pp
271The following list provides a name and short description for variables
272that are only used doing a kernel build:
273.Bl -tag -width Ar
274.It Va BOOT_COMCONSOLE_PORT
275.Pq Vt str
276The port address to use for the console if the boot blocks have
277been configured to use a serial console instead of the keyboard/video card.
278.It Va BOOT_COMCONSOLE_SPEED
279.Pq Vt int
280The baud rate to use for the console if the boot blocks have
281been configured to use a serial console instead of the keyboard/video card.
282.It Va COPTFLAGS
283.Pq Vt str
284Controls the compiler settings when building the
285kernel.
286Optimization levels above
287.Fl O
288.Pq Fl O2 , No ...
289are not guaranteed to work.
290.It Va KERNCONF
291.Pq Vt str
292Controls which kernel configurations will be
293built by
294.Dq Li "${MAKE} buildkernel"
295and installed by
296.Dq Li "${MAKE} installkernel" .
297For example,
298.Bd -literal -offset indent
299KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
300.Ed
301.Pp
302will build the kernels specified by the config files
303.Pa MINE , DEBUG , GENERIC ,
304and
305.Pa OTHERMACHINE ,
306and install the kernel specified by the config file
307.Pa MINE .
308It defaults to
309.Pa GENERIC .
310.It Va LOADER_TFTP_SUPPORT
311.Pq Vt bool
312While not a buildkernel-affected option, there is no better place for this.
313By default the
314.Xr pxeboot 8
315loader retrieves the kernel via NFS.
316Defining this and recompiling
317.Pa /usr/src/sys/boot
318will cause it to retrieve the kernel via TFTP.
319This allows pxeboot to load a custom BOOTP diskless kernel yet
320still mount the server's
321.Pa /
322rather than load the server's kernel.
323.It Va NO_CPU_COPTFLAGS
324.Pq Vt str
325Setting this variable will prevent CPU specific compiler flags
326from being automatically added to
327.Va COPTFLAGS
328during compile time.
329.It Va NO_KERNELCLEAN
330.Pq Vt bool
331Set this to skip the clean target when using
332.Dq Li "${MAKE} buildkernel" .
333.It Va NO_KERNELCONFIG
334.Pq Vt bool
335Set this to skip running
336.Xr config 8
337during
338.Dq Li "${MAKE} buildkernel" .
339.It Va NO_KERNELDEPEND
340.Pq Vt bool
341Set this to skip running
342.Dq Li "${MAKE} depend"
343during
344.Dq Li "${MAKE} buildkernel" .
345.It Va NO_KERNEL_OLD_STRIP
346.Pq Vt bool
347Set this to skip stripping debugging symbols from old kernel and modules
348(kernel.old, modules.old) during
349.Dq Li "${MAKE} installkernel" .
350.It Va NO_MODULES
351.Pq Vt bool
352Set to not build modules with the kernel.
353.El
354.Pp
355The following list provides a name and short description for variables
356that are used during the world build:
357.Bl -tag -width Ar
358.It Va ENABLE_SUID_K5SU
359.Pq Vt bool
360Set this if you wish to use the k5su utility.
361Otherwise, it will be installed without the set-user-ID bit set.
362This is only relevant if
363.Va WANT_KERBEROS
364is defined.
365.It Va ENABLE_SUID_SSH
366.Pq Vt bool
367Set this to install
368.Xr ssh 1
369with the setuid bit turned on.
370.It Va MODULES_WITH_WORLD
371.Pq Vt bool
372Set to build modules with the system instead of the kernel.
373.It Va NO_BIND
374.Pq Vt bool
375Set to not build BIND.
376.It Va NO_CRYPT
377.Pq Vt bool
378Set to not build crypto code.
379.It Va NO_CVS
380.Pq Vt bool
381Set to not build CVS.
382.It Va NO_FORTRAN
383.Pq Vt bool
384Set to not build
385.Xr g77 1
386and related libraries.
387.It Va NO_GAMES
388.Pq Vt bool
389Set to not build games.
390.It Va NO_GCC34
391.Pq Vt bool
392Set to not build the older version of GCC (3.4).
393.It Va NO_GDB
394.Pq Vt bool
395Set to not build
396.Xr gdb 1
397.It Va NO_I4B
398.Pq Vt bool
399Set to not build isdn4bsd package.
400.It Va NO_IPFILTER
401.Pq Vt bool
402Set to not build IP Filter package.
403.It Va NO_LIBC_R
404.Pq Vt bool
405Set to not build
406.Nm libc_r
407(reentrant version of
408.Nm libc ) .
409.It Va NO_LPR
410.Pq Vt bool
411Set to not build
412.Xr lpr 1
413and related programs.
414.It Va NO_MAILWRAPPER
415.Pq Vt bool
416Set to not build the
417.Xr mailwrapper 8
418MTA selector.
419.It Va NO_MAKEDEV
420.Pq Vt bool
421Set to avoid running
422.Dq Li "MAKEDEV all"
423on
424.Pa /dev
425during install.
426.It Va NO_OBJC
427.Pq Vt bool
428Set to not build Objective C support.
429.It Va NO_OPENSSH
430.Pq Vt bool
431Set to not build OpenSSH.
432.It Va NO_OPENSSL
433.Pq Vt bool
434Set to not build OpenSSL (implies
435.Va NO_OPENSSH ) .
436.It Va NO_SENDMAIL
437.Pq Vt bool
438Set to not build
439.Xr sendmail 8
440and related programs.
441.It Va NO_SHARE
442.Pq Vt bool
443Set to not enter the share subdirectory.
444.It Va NO_X
445.Pq Vt bool
446Set to not compile in X\-Windows support (e.g.\&
447.Xr doscmd 1 ) .
448.It Va NOCLEAN
449.Pq Vt bool
450Set this to disable cleaning during
451.Dq Li "make buildworld" .
452This should not be set unless you know what you are doing.
453.It Va NOCLEANDIR
454.Pq Vt bool
455Set this to run
456.Dq Li "${MAKE} clean"
457instead of
458.Dq Li "${MAKE} cleandir" .
459.It Va NOFSCHG
460.Pq Vt bool
461Set to not install certain components with flag schg.
462This is useful in a jailed environment.
463.It Va NOINFO
464.Pq Vt bool
465Set to not make or install
466.Xr info 5
467files.
468.It Va NOINFOCOMPRESS
469.Pq Vt bool
470Set to not compress the info pages.
471.It Va NOMAN
472.Pq Vt bool
473Set to not build manual pages
474.It Va NOMANCOMPRESS
475.Pq Vt bool
476Set to not compress the manual pages.
477.It Va NOPROFILE
478.Pq Vt bool
479Set to avoid compiling profiled libraries.
480.It Va PPP_NOSUID
481.Pq Vt bool
482Set to disable the installation of
483.Xr ppp 8
484with the set-user-ID bit on.
485.It Va SENDMAIL_MC
486.Pq Vt str
487The default
488.Xr m4 1
489configuration file to use at install time.
490The value should include the full path to the
491.Pa .mc
492file, e.g.,
493.Pa /etc/mail/myconfig.mc .
494Use with caution as a make install will overwrite any existing
495.Pa /etc/mail/sendmail.cf .
496Note that
497.Va SENDMAIL_CF
498is now deprecated.
499.It Va SENDMAIL_SUBMIT_MC
500.Pq Vt str
501The default
502.Xr m4 1
503configuration file for mail submission
504to use at install time.
505The value should include the full path to the
506.Pa .mc
507file, e.g.,
508.Pa /etc/mail/mysubmit.mc .
509Use with caution as a make install will overwrite any existing
510.Pa /etc/mail/submit.cf .
511.It Va SENDMAIL_ADDITIONAL_MC
512.Pq Vt str
513Additional
514.Pa .mc
515files which should be built into
516.Pa .cf
517files at build time.
518The value should include the full path to the
519.Pa .mc
520file(s), e.g.,
521.Pa /etc/mail/foo.mc
522.Pa /etc/mail/bar.mc .
523.It Va SENDMAIL_CF_DIR
524.Pq Vt str
525Override the default location for the
526.Xr m4 1
527configuration files used to build a
528.Pa .cf
529file from a
530.Pa .mc
531file.
532.It Va SENDMAIL_M4_FLAGS
533.Pq Vt str
534Flags passed to
535.Xr m4 1
536when building a
537.Pa .cf
538file from a
539.Pa .mc
540file.
541.It Va SENDMAIL_CFLAGS
542.Pq Vt str
543Flags to pass to the compile command when building
544.Xr sendmail 8 .
545The
546.Va SENDMAIL_*
547flags can be used to provide SASL support with setting such as:
548.Bd -literal -offset indent
549SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
550SENDMAIL_LDFLAGS=-L/usr/local/lib
551SENDMAIL_LDADD=-lsasl
552.Ed
553.It Va SENDMAIL_LDFLAGS
554.Pq Vt str
555Flags to pass to the
556.Xr ld 1
557command when building
558.Xr sendmail 8 .
559.It Va SENDMAIL_LDADD
560.Pq Vt str
561Flags to add to the end of the
562.Xr ld 1
563command when building
564.Xr sendmail 8 .
565.It Va SENDMAIL_DPADD
566.Pq Vt str
567Extra dependencies to add when building
568.Xr sendmail 8 .
569.It Va SENDMAIL_SET_USER_ID
570.Pq Vt bool
571If set, install
572.Xr sendmail 8
573as a set-user-ID root binary instead of a set-group-ID binary
574and do not install
575.Pa /etc/mail/submit.{cf,mc} .
576Use of this flag is not recommended and the alternative advice in
577.Pa /etc/mail/README
578should be followed instead if at all possible.
579.It Va SENDMAIL_MAP_PERMS
580.Pq Vt str
581Mode to use when generating alias and map database files using
582.Pa /etc/mail/Makefile .
583The default value is 0640.
584.It Va THREAD_LIB
585.Pq Vt str
586Set to either
587.Li c_r
588or
589.Li thread_xu
590to configure the system's default threading library.
591The default is
592.Li thread_xu .
593.It Va TOP_TABLE_SIZE
594.Pq Vt int
595.Xr top 1
596uses a hash table for the user names.  The size of this hash can be tuned
597to match the number of local users.  The table size should be a prime number
598approximately twice as large as the number of lines in
599.Pa /etc/passwd .
600The default number is 20011.
601.It Va WANT_IDEA
602.Pq Vt bool
603Set to build the IDEA encryption code.
604This code is patented in the USA and many European countries.
605It is
606.Em "YOUR RESPONSIBILITY"
607to determine if you can legally use IDEA.
608.It Va WANT_KERBEROS
609.Pq Vt bool
610Set this to build Kerberos5 (KTH Heimdal).
611.Em WARNING !
612This is still experimental code.
613.El
614.Pp
615The following list provides a name and short description for variables
616that are used when building documentation.
617.Bl -tag -width Ar
618.It Va DOC_LANG
619.Pq Vt str
620The list of languages and encodings to build and install.
621.It Va PRINTERDEVICE
622.Pq Vt str
623The default format for system documentation, depends on your
624printer.
625This can be set to
626.Dq Li ascii
627for simple printers or
628.Dq Li ps
629for postscript or graphics printers with a ghostscript
630filter.
631.It Va GROFF_PAPER_SIZE
632.Pq Vt str
633The default paper size for
634.Xr groff 1
635(either
636.Dq letter
637or
638.Dq A4 ) .
639.El
640.Sh FILES
641.Bl -tag -width /etc/defaults/make.conf -compact
642.It Pa /etc/defaults/make.conf
643.It Pa /etc/make.conf
644.It Pa /usr/src/Makefile
645.It Pa /usr/src/Makefile.inc1
646.El
647.Sh SEE ALSO
648.Xr gcc 1 ,
649.Xr install 1 ,
650.Xr make 1 ,
651.Xr lpd 8 ,
652.Xr sendmail 8
653.Sh HISTORY
654The
655.Nm
656file appeared sometime before
657.Fx 4.0 .
658.Sh AUTHORS
659This manual page was written by
660.An Mike W. Meyer Aq mwm@mired.org .
661.Sh BUGS
662This manual page may occasionally be out of date with respect to
663the options currently available for use in
664.Nm .
665Please check the
666.Pa /etc/defaults/make.conf
667file for the latest options which are available.
668