xref: /freebsd/share/man/man5/make.conf.5 (revision c4f6a2a9e1b1879b618c436ab4f56ff75c73a0f5)
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$
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 CFLAGS
97.Pq Vt str
98Controls the compiler setting when compiling C code.
99Optimization levels above
100.Fl O
101.Pq Fl O2 , No ...
102are not supported.
103.Va BDECFLAGS
104is provided as a set of
105.Xr gcc 1
106settings suggested by
107.An "Bruce Evans" Aq bde@FreeBSD.org
108for developing and testing changes.
109They can be used, if set, by:
110.Pp
111.Bd -literal -offset indent
112CFLAGS+=${BDECFLAGS}
113.Ed
114.It Va CVS_UPDATE
115.Pq Vt bool
116Set this to use
117.Xr cvs 1
118to update your ports with
119.Dq Li "make update" .
120.It Va CXXFLAGS
121.Pq Vt str
122Controls the compiler settings when compiling C++ code.
123.Va CXXFLAGS
124is initially set to the value of
125.Va CFLAGS .
126If you want to
127add to the
128.Va CXXFLAGS
129value, use
130.Dq Li +=
131instead of
132.Dq Li = .
133.It Va INSTALL
134.Pq Vt str
135the default install command.
136To have commands compared before doing
137the install, use
138.Bd -literal -offset indent
139INSTALL="install -C"
140.Ed
141.It Va LOCAL_DIRS
142.Pq Vt str
143List any directories that should be entered when doing
144make's in
145.Pa /usr/src
146in this variable.
147.It Va MTREE_FOLLOWS_SYMLINKS
148.Pq Vt str
149Set this to
150.Dq Fl L
151to cause
152.Xr mtree 8
153to follow symlinks.
154.It Va NO_DOCUPDATE
155.Pq Vt bool
156Set this to not update the doc tree during
157.Dq Li "make update" .
158.It Va NO_PORTSUPDATE
159.Pq Vt bool
160Set this to not update the ports tree during
161.Dq Li "make update" .
162.It Va SUP_UPDATE
163.Pq Vt bool
164Set this to use
165.Xr cvsup 1
166to update your ports with
167.Dq Li "make update" .
168.It Va SUP
169.Pq Vt str
170The location of the
171.Xr cvsup 1
172command for
173.Dq Li "make update" .
174.It Va SUPFLAGS
175.Pq Vt str
176The flag for the
177.Xr sup 1
178command when doing
179.Dq Li "make update" .
180This defaults to
181.Op Fl g L Ar 2 .
182.It Va SUPHOST
183.Pq Vt str
184The hostname of the sup server to use when doing
185.Dq Li "make update" .
186.It Va SUPFILE
187.Pq Vt str
188The first
189.Ar supfile
190to use when doing a
191.Dq Li "make update" .
192This defaults to
193.Pa /usr/share/examples/cvsup/standard\-supfile .
194.It Va SUPFILE1
195.Pq Vt str
196The second
197.Ar supfile
198to use when doing a
199.Dq Li "make update" .
200This defaults to
201.Pa /usr/share/examples/cvsup/secure\-supfile .
202.It Va SUPFILE2
203.Pq Vt str
204The third
205.Ar supfile
206to use when doing a
207.Dq Li "make update" .
208This defaults to
209.Pa /usr/share/examples/cvsup/secure\-supfile .
210.It Va PORTSSUPFILE
211.Pq Vt str
212The ports
213.Ar supfile
214to use when doing a
215.Dq Li "make update" .
216This defaults to
217.Pa /usr/share/examples/cvsup/ports\-supfile .
218.It Va DOCSUPFILE
219.Pq Vt str
220The documentation
221.Ar supfile
222to use when doing a
223.Dq Li "make update" .
224This defaults to
225.Pa /usr/share/examples/cvsup/doc\-supfile .
226.El
227.Pp
228The following list provides a name and short description for variables
229that are only used doing a kernel build:
230.Bl -tag -width Ar
231.It Va BOOT_COMCONSOLE_PORT
232.Pq Vt str
233The port address to use for the console if the boot blocks have
234been configured to use a serial console instead of the keyboard/video card.
235.It Va BOOT_COMCONSOLE_SPEED
236.Pq Vt int
237The baud rate to use for the console if the boot blocks have
238been configured to use a serial console instead of the keyboard/video card.
239.It Va BOOTWAIT
240.Pq Vt int
241Controls the amount of time the kernel waits for a console keypress
242before booting the default kernel.
243The value is approximately milliseconds.
244Keypresses are accepted by the BIOS before booting from disk,
245making it possible to give custom boot parameters even when this is
246set to 0.
247.It Va COPTFLAGS
248.Pq Vt str
249Controls the compiler settings when building the
250kernel.
251Optimization levels above
252.Oo Fl O ( O2 , No ...\& ) Oc
253are not guaranteed to work.
254.It Va KERNCONF
255.Pq Vt str
256Controls which kernel configurations will be
257built by
258.Dq Li "${MAKE} buildkernel"
259and installed by
260.Dq Li "${MAKE} installkernel" .
261For example,
262.Bd -literal -offset indent
263KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
264.Ed
265.Pp
266will build the kernels specified by the config files
267.Pa MINE , DEBUG , GENERIC ,
268and
269.Pa OTHERMACHINE ,
270and install the kernel specified by the config file
271.Pa MINE .
272It defaults to
273.Pa GENERIC .
274.It Va NO_KERNELCONFIG
275.Pq Vt bool
276Set this to skip running
277.Xr config 8
278during
279.Dq Li "${MAKE} buildkernel" .
280.It Va NO_KERNELDEPEND
281.Pq Vt bool
282Set this to skip running
283.Dq Li "${MAKE} depend"
284during
285.Dq Li "${MAKE} buildkernel" .
286.It Va NO_MODULES
287.Pq Vt bool
288Set to not build modules with the kernel.
289.It Va MODULES_OVERRIDE
290.Pq Vt str
291Set to a list of modules to build instead of all of them.
292.El
293.Pp
294The following list provides a name and short description for variables
295that are used during the world build:
296.Bl -tag -width Ar
297.It Va COMPAT1X
298.Pq Vt bool
299Set to install the
300.Fx
3011 compatibility libraries.
302.It Va COMPAT20
303.Pq Vt bool
304Set to install the
305.Fx 2.0
306compatibility libraries.
307.It Va COMPAT21
308.Pq Vt bool
309Set to install the
310.Fx 2.1
311compatibility libraries.
312.It Va COMPAT22
313.Pq Vt bool
314Set to install the
315.Fx 2.2
316compatibility libraries.
317.It Va COMPAT3X
318.Pq Vt bool
319Set to install the
320.Fx
3213
322compatibility libraries.
323.It Va COMPAT4X
324.Pq Vt bool
325Set to install the
326.Fx
3274
328compatibility libraries.
329.It Va FETCH_CMD
330.Pq Vt str
331Command to use to fetch files.
332Normally
333.Xr fetch 1 .
334.It Va MAKE_IDEA
335.Pq Vt bool
336Set to build the IDEA encryption code.
337This code is patented in the USA and many European countries.
338It is
339.Em "YOUR RESPONSIBILITY"
340to determine if you can legally use IDEA.
341.It Va MAKE_KERBEROS4
342.Pq Vt bool
343Set this to build KerberosIV (KTH eBones).
344.It Va MAKE_KERBEROS5
345.Pq Vt bool
346Set this to build Kerberos5 (KTH Heimdal).
347.Em WARNING !
348This is still experimental code.
349If you need stable Kerberos5, use the
350port(s).
351.It Va ENABLE_SUID_K5SU
352.Pq Vt bool
353Set this if you wish to use the k5su utility.
354Otherwise, it will be
355installed without the set-user-ID bit set.
356.It Va ENABLE_SUID_NEWGRP
357.Pq Vt bool
358Set this to install
359.Xr newgrp 1
360with the set-user-ID bit set.
361Otherwise,
362.Xr newgrp 1
363will not be able to change users' groups.
364.It Va MODULES_WITH_WORLD
365.Pq Vt bool
366Set to build modules with the system instead of the kernel.
367.It Va NO_CVS
368.Pq Vt bool
369Set to not build CVS.
370.It Va NO_BIND
371.Pq Vt bool
372Set to not build BIND.
373.It Va NO_FORTRAN
374.Pq Vt bool
375Set to not build
376.Xr g77 1
377and related libraries.
378.It Va NO_I4B
379.Pq Vt bool
380Set to not build isdn4bsd package.
381.It Va NO_IPFILTER
382.Pq Vt bool
383Set to not build IP Filter package.
384.It Va NO_LPR
385.Pq Vt bool
386Set to not build
387.Xr lpr 1
388and related programs.
389.It Va NO_MAILWRAPPER
390.Pq Vt bool
391Set to not build the
392.Xr mailwrapper 8
393MTA selector.
394.It Va NO_MAKEDEV_INSTALL
395.Pq Vt bool
396Set to avoid installing
397.Pa MAKEDEV
398in
399.Pa /dev .
400This implies the
401.Va NO_MAKEDEV_RUN
402variable.
403.It Va NO_MAKEDEV_RUN
404.Pq Vt bool
405Set to avoid running
406.Dq Li "MAKEDEV all"
407on
408.Pa /dev
409during install.
410.It Va NO_OBJC
411.Pq Vt bool
412Set to not build Objective C support.
413.It Va NO_OPENSSH
414.Pq Vt bool
415Set to not build OpenSSH.
416.It Va NO_OPENSSL
417.Pq Vt bool
418Set to not build OpenSSL (implies
419.Va NO_OPENSSH ) .
420.It Va NO_PERL_WRAPPER
421.Pq Vt bool
422Set to not build the perl wrapper which would otherwise
423be installed as
424.Pa /usr/bin/perl .
425.It Va NO_SENDMAIL
426.Pq Vt bool
427Set to not build
428.Xr sendmail 8
429and related programs.
430.It Va NO_SHAREDOCS
431.Pq Vt bool
432Set to not build the
433.Bx 4.4
434legacy docs.
435.It Va NO_TCSH
436.Pq Vt bool
437Set to not build and install
438.Pa /bin/csh
439(which is
440.Xr tcsh 1 ) .
441.It Va NO_X
442.Pq Vt bool
443Set to not compile in X\-Windows support (e.g.\&
444.Xr doscmd 1 ) .
445.It Va NOCLEAN
446.Pq Vt bool
447Set this to disable cleaning during
448.Dq Li "make buildworld" .
449This should not be set unless you know what you are doing.
450.It Va NOCLEANDIR
451.Pq Vt bool
452Set this to run
453.Dq Li "${MAKE} clean"
454instead of
455.Dq Li "${MAKE} cleandir" .
456.It Va NOCRYPT
457.Pq Vt bool
458Set to not build any crypto code.
459.It Va NOGAMES
460.Pq Vt bool
461Set to not build games.
462.It Va NOINFO
463.Pq Vt bool
464Set to not make or install
465.Xr info 5
466files.
467.It Va NOLIBC_R
468.Pq Vt bool
469Set to not build
470.Nm libc_r
471(reentrant version of
472.Nm libc ) .
473.It Va NOMANCOMPRESS
474.Pq Vt bool
475Set to install man pages uncompressed.
476.It Va NOPROFILE
477.Pq Vt bool
478Set to avoid compiling profiled libraries.
479.It Va NOSECURE
480.Pq Vt bool
481set to not build crypto code in
482.Pa secure
483subdir.
484.It Va NOSHARE
485.Pq Vt bool
486Set to not build in the
487.Pa share
488subdir.
489.It Va PPP_NOSUID
490.Pq Vt bool
491Set to disable the installation of
492.Xr ppp 8
493as an suid root program.
494.It Va SENDMAIL_MC
495.Pq Vt str
496The default m4 configuration file to use at install time.
497The value should include the full path to the
498.Pa .mc
499file, e.g.,
500.Pa /etc/mail/myconfig.mc .
501Use with caution as a make install will overwrite any existing
502.Pa /etc/mail/sendmail.cf .
503Note that
504.Va SENDMAIL_CF
505is now deprecated.
506Avoid using a value of
507.Pa /etc/mail/sendmail.mc
508as a buildworld will create
509.Pa /etc/mail/sendmail.cf
510before installworld installs an updated
511.Xr sendmail 8
512binary.
513.It Va SENDMAIL_SUBMIT_MC
514.Pq Vt str
515The default m4 configuration file for mail submission
516to use at install time.
517The value should include the full path to the
518.Pa .mc
519file, e.g.,
520.Pa /etc/mail/mysubmit.mc .
521Use with caution as a make install will overwrite any existing
522.Pa /etc/mail/submit.cf .
523Avoid using a value of
524.Pa /etc/mail/submit.mc
525as a buildworld will create
526.Pa /etc/mail/submit.cf
527before installworld installs an updated
528.Xr sendmail 8
529binary.
530.It Va SENDMAIL_ADDITIONAL_MC
531.Pq Vt str
532Additional
533.Pa .mc
534files which should be built into
535.Pa .cf
536files at build time.
537The value should include the full path to the
538.Pa .mc
539file(s), e.g.,
540.Pa /etc/mail/foo.mc
541.Pa /etc/mail/bar.mc .
542Avoid using a value of
543.Pa /etc/mail/sendmail.mc
544as a buildworld will create
545.Pa /etc/mail/sendmail.cf
546before installworld installs an updated
547.Xr sendmail 8
548binary.
549.It Va SENDMAIL_M4_FLAGS
550.Pq Vt str
551Flags passed to m4 when building a
552.Pa .cf
553file from a
554.Pa .mc
555file.
556.It Va SENDMAIL_CFLAGS
557.Pq Vt str
558Flags to pass to the compile command when building
559.Xr sendmail 8 .
560The
561.Va SENDMAIL_*
562flags can be used to provide SASL support with setting such as:
563.Bd -literal -offset indent
564SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
565SENDMAIL_LDFLAGS=-L/usr/local/lib
566SENDMAIL_LDADD=-lsasl
567.Ed
568.It Va SENDMAIL_LDFLAGS
569.Pq Vt str
570Flags to pass to the
571.Xr ld 1
572command when building
573.Xr sendmail 8 .
574.It Va SENDMAIL_LDADD
575.Pq Vt str
576Flags to add to the end of the
577.Xr ld 1
578command when building
579.Xr sendmail 8 .
580.It Va SENDMAIL_DPADD
581.Pq Vt str
582Extra dependencies to add when building
583.Xr sendmail 8 .
584.It Va SENDMAIL_SET_USER_ID
585.Pq Vt bool
586If set, install
587.Xr sendmail 8
588as a set-user-ID root binary instead of a set-group-ID binary
589and do not install
590.Pa /etc/mail/submit.{cf,mc} .
591Use of this flag is not recommended and the alternative advice in
592.Pa /etc/mail/README
593should be followed instead if at all possible.
594.It Va SENDMAIL_MAP_PERMS
595.Pq Vt str
596Mode to use when generating alias and map database files using
597.Pa /etc/mail/Makefile .
598The default value is 0640.
599.It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE
600.Pq Vt int
601Causes the system compiler to be built such that it forces high optimization
602levels to a lower one.
603.Xr gcc 1
604.Fl O2
605and above is known to trigger known optimizer bugs at various
606times \(em this is worse on the Alpha platform.
607The value assigned is the highest optimization value used.
608.El
609.Pp
610The following list provides a name and short description for variables
611that are used when building documentation.
612.Bl -tag -width Ar
613.It Va DISTDIR
614.Pq Vt str
615Where distfiles are kept.
616Normally, this is
617.Pa distfiles
618in
619.Va PORTSDIR .
620.It Va DOC_LANG
621.Pq Vt str
622The list of languages and encodings to build and install.
623.It Va PRINTERDEVICE
624.Pq Vt str
625The default format for system documentation, depends on your
626printer.
627This can be set to
628.Dq Li ascii
629for simple printers or
630.Dq Li ps
631for postscript or graphics printers with a ghostscript
632filter.
633.El
634.Sh FILES
635.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact
636.It Pa /etc/make.conf
637.It Pa /usr/doc/Makefile
638.It Pa /usr/share/examples/etc/make.conf
639.It Pa /usr/src/Makefile
640.It Pa /usr/src/Makefile.inc1
641.El
642.Sh SEE ALSO
643.Xr gcc 1 ,
644.Xr install 1 ,
645.Xr make 1 ,
646.Xr ports 7 ,
647.Xr lpd 8 ,
648.Xr sendmail 8
649.Sh HISTORY
650The
651.Nm
652file appeared sometime before
653.Fx 4.0 .
654.Sh AUTHORS
655This
656manual page was written by
657.An Mike W. Meyer Aq mwm@mired.org .
658.Sh BUGS
659This manual page may occasionally be out of date with respect to
660the options currently available for use in
661.Nm .
662Please check the
663.Pa /usr/share/examples/etc/make.conf
664file for the latest options which are available.
665