xref: /freebsd/share/man/man5/make.conf.5 (revision 262e143bd46171a6415a5b28af260a5efa2a3db8)
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 October 22, 2005
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 system-wide settings that will apply to every build using
37.Xr make 1
38and the standard
39.Pa sys.mk
40file.
41This is achieved as follows:
42.Xr make 1
43processes the system makefile
44.Pa sys.mk
45before any other file by default, and
46.Pa sys.mk
47includes
48.Nm .
49.Pp
50The file
51.Nm
52uses the standard makefile syntax.
53However,
54.Nm
55should not specify any dependencies to
56.Xr make 1 .
57Instead,
58.Nm
59is to set
60.Xr make 1
61variables that control the actions of other makefiles.
62.Pp
63The default location of
64.Nm
65is
66.Pa /etc/make.conf ,
67though an alternative location can be specified in the
68.Xr make 1
69variable
70.Va __MAKE_CONF .
71You may need to override the location of
72.Nm
73if the system-wide settings are not suitable for a particular build.
74For instance, setting
75.Va __MAKE_CONF
76to
77.Pa /dev/null
78effectively resets all build controls to their defaults.
79.Pp
80The primary purpose of
81.Nm
82is to control the compilation of the
83.Fx
84sources, documentation, and ported applications,
85which are usually found in
86.Pa /usr/src ,
87.Pa /usr/doc ,
88and
89.Pa /usr/ports .
90As a rule, the system administrator creates
91.Nm
92when the values of certain control variables need to be changed
93from their defaults.
94.Pp
95The system build procedures occur in four broad areas:
96the world, the kernel, documentation and ports.
97Variables set in
98.Nm
99may be applicable in one, two, or all four of these areas.
100In addition, control variables can be specified
101for a particular build via the
102.Fl D
103option of
104.Xr make 1
105or in
106.Xr environ 7 .
107.Pp
108The following lists provide a name and short description for each
109variable you can use during the indicated builds.
110The values of
111variables flagged as
112.Vt bool
113are ignored; the variable being
114set at all (even to
115.Dq Li FALSE
116or
117.Dq Li NO )
118causes it to
119be treated as if it were set.
120.Pp
121The following list provides a name and short description for variables
122that are used for all builds, or are used by the
123.Pa makefiles
124for things other than builds.
125.Bl -tag -width Ar
126.It Va ALWAYS_CHECK_MAKE
127.Pq Vt bool
128Instructs the top-level makefile in the source tree (normally
129.Pa /usr/src )
130to always check if
131.Xr make 1
132is up-to-date.
133Normally this is only done for the world and buildworld targets to handle
134upgrades from older versions of
135.Fx .
136.It Va CFLAGS
137.Pq Vt str
138Controls the compiler setting when compiling C code.
139Optimization levels other than
140.Fl O
141and
142.Fl O2
143are not supported.
144.Va BDECFLAGS
145is provided as a set of
146.Xr gcc 1
147settings suggested by
148.An "Bruce Evans" Aq bde@FreeBSD.org
149for developing and testing changes.
150They can be used, if set, by:
151.Pp
152.Bd -literal -offset indent
153CFLAGS+=${BDECFLAGS}
154.Ed
155.It Va CPUTYPE
156.Pq Vt str
157Controls which processor should be targeted for generated
158code.
159This controls processor-specific optimizations in
160certain code (currently only OpenSSL) as well as modifying
161the value of
162.Va CFLAGS
163and
164.Va COPTFLAGS
165to contain the appropriate optimization directive to
166.Xr gcc 1 .
167The automatic setting of
168.Va CFLAGS
169and
170.Va COPTFLAGS
171may be overridden using the
172.Va NO_CPU_CFLAGS
173and
174.Va NO_CPU_COPTFLAGS
175variables, respectively.
176Refer to
177.Pa /usr/share/examples/etc/make.conf
178for a list of recognized
179.Va CPUTYPE
180options.
181.It Va CVS_UPDATE
182.Pq Vt bool
183Set this to use
184.Xr cvs 1
185to update your ports with
186.Dq Li "make update" .
187.It Va CXXFLAGS
188.Pq Vt str
189Controls the compiler settings when compiling C++ code.
190.Va CXXFLAGS
191is initially set to the value of
192.Va CFLAGS .
193If you want to
194add to the
195.Va CXXFLAGS
196value, use
197.Dq Li +=
198instead of
199.Dq Li = .
200.It Va DOCSUPFILE
201.Pq Vt str
202The documentation
203.Ar supfile
204to use when doing a
205.Dq Li "make update" .
206This defaults to
207.Pa /usr/share/examples/cvsup/doc\-supfile .
208.It Va INSTALL
209.Pq Vt str
210the default install command.
211To install only files for which the target differs or does not exist, use
212.Bd -literal -offset indent
213INSTALL="install -C"
214.Ed
215Note that some makefiles (including those in
216.Pa /usr/share/mk )
217may hardcode options for the supplied install command.
218.It Va LOCAL_DIRS
219.Pq Vt str
220List any directories that should be entered when doing
221make's in
222.Pa /usr/src
223in this variable.
224.It Va MAKE_SHELL
225.Pq Vt str
226Controls the shell used internally by
227.Xr make 1
228to process the command scripts in makefiles.
229.Xr sh 1 ,
230.Xr ksh 1 ,
231and
232.Xr csh 1
233all currently supported.
234.Pp
235.Dl "MAKE_SHELL?=sh"
236.It Va MTREE_FOLLOWS_SYMLINKS
237.Pq Vt str
238Set this to
239.Dq Fl L
240to cause
241.Xr mtree 8
242to follow symlinks.
243.It Va NO_CPU_CFLAGS
244.Pq Vt str
245Setting this variable will prevent CPU specific compiler flags
246from being automatically added to
247.Va CFLAGS
248during compile time.
249.It Va NO_CPU_COPTFLAGS
250.Pq Vt str
251Setting this variable will prevent CPU specific compiler flags
252from being automatically added to
253.Va COPTFLAGS
254during compile time.
255.It Va NO_DOCUPDATE
256.Pq Vt bool
257Set this to not update the doc tree during
258.Dq Li "make update" .
259.It Va NO_PORTSUPDATE
260.Pq Vt bool
261Set this to not update the ports tree during
262.Dq Li "make update" .
263.It Va PORTSSUPFILE
264.Pq Vt str
265The ports
266.Ar supfile
267to use when doing a
268.Dq Li "make update" .
269This defaults to
270.Pa /usr/share/examples/cvsup/ports\-supfile .
271.It Va SUP
272.Pq Vt str
273The location of the
274.Xr cvsup 1
275command for
276.Dq Li "make update" .
277.It Va SUPFILE
278.Pq Vt str
279The first
280.Ar supfile
281to use when doing a
282.Dq Li "make update" .
283This defaults to
284.Pa /usr/share/examples/cvsup/standard\-supfile .
285.It Va SUPFILE1
286.Pq Vt str
287The second
288.Ar supfile
289to use when doing a
290.Dq Li "make update" .
291This defaults to
292.Pa /usr/share/examples/cvsup/secure\-supfile .
293.It Va SUPFILE2
294.Pq Vt str
295The third
296.Ar supfile
297to use when doing a
298.Dq Li "make update" .
299This defaults to
300.Pa /usr/share/examples/cvsup/secure\-supfile .
301.It Va SUPFLAGS
302.Pq Vt str
303The flag for the
304.Xr sup 1
305command when doing
306.Dq Li "make update" .
307This defaults to
308.Op Fl g L Ar 2 .
309.It Va SUPHOST
310.Pq Vt str
311The hostname of the sup server to use when doing
312.Dq Li "make update" .
313.It Va SUP_UPDATE
314.Pq Vt bool
315Set this to use
316.Xr cvsup 1
317to update your ports with
318.Dq Li "make update" .
319.El
320.Ss "BUILDING THE KERNEL"
321.Pp
322The following list provides a name and short description for variables
323that are only used doing a kernel build:
324.Bl -tag -width Ar
325.It Va BOOTWAIT
326.Pq Vt int
327Controls the amount of time the kernel waits for a console keypress
328before booting the default kernel.
329The value is approximately milliseconds.
330Keypresses are accepted by the BIOS before booting from disk,
331making it possible to give custom boot parameters even when this is
332set to 0.
333.It Va BOOT_COMCONSOLE_PORT
334.Pq Vt str
335The port address to use for the console if the boot blocks have
336been configured to use a serial console instead of the keyboard/video card.
337.It Va BOOT_COMCONSOLE_SPEED
338.Pq Vt int
339The baud rate to use for the console if the boot blocks have
340been configured to use a serial console instead of the keyboard/video card.
341.It Va COPTFLAGS
342.Pq Vt str
343Controls the compiler settings when building the
344kernel.
345Optimization levels above
346.Oo Fl O ( O2 , No ...\& ) Oc
347are not guaranteed to work.
348.It Va KERNCONF
349.Pq Vt str
350Controls which kernel configurations will be
351built by
352.Dq Li "${MAKE} buildkernel"
353and installed by
354.Dq Li "${MAKE} installkernel" .
355For example,
356.Bd -literal -offset indent
357KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
358.Ed
359.Pp
360will build the kernels specified by the config files
361.Pa MINE , DEBUG , GENERIC ,
362and
363.Pa OTHERMACHINE ,
364and install the kernel specified by the config file
365.Pa MINE .
366It defaults to
367.Pa GENERIC .
368.It Va LOADER_TFTP_SUPPORT
369.Pq Vt bool
370While not a buildkernel-affected option, there is no better place for this.
371By default the
372.Xr pxeboot 8
373loader retrieves the kernel via NFS.
374Defining this and recompiling
375.Pa /usr/src/sys/boot
376will cause it to retrieve the kernel via TFTP.
377This allows
378.Xr pxeboot 8
379to load a custom BOOTP diskless kernel yet
380still mount the server's
381.Pa /
382rather than load the server's kernel.
383.It Va MODULES_OVERRIDE
384.Pq Vt str
385Set to a list of modules to build instead of all of them.
386.It Va NO_KERNELCONFIG
387.Pq Vt bool
388Set this to skip running
389.Xr config 8
390during
391.Dq Li "${MAKE} buildkernel" .
392.It Va NO_KERNELDEPEND
393.Pq Vt bool
394Set this to skip running
395.Dq Li "${MAKE} depend"
396during
397.Dq Li "${MAKE} buildkernel" .
398.It Va NO_MODULES
399.Pq Vt bool
400Set to not build modules with the kernel.
401.It Va PORTS_MODULES
402Set this to the list of ports you wish to rebuild every time the kernel
403is built.
404.It Va WITHOUT_MODULES
405.Pq Vt str
406Set to a list of modules to exclude from the build.
407This provides a
408somewhat easier way to exclude modules you are certain you will never
409need than specifying
410.Va MODULES_OVERRIDE .
411This is applied
412.Em after
413.Va MODULES_OVERRIDE .
414.El
415.Ss "BUILDING THE WORLD"
416.Pp
417The following list provides a name and short description for variables
418that are used during the world build:
419.Bl -tag -width Ar
420.It Va ENABLE_SUID_K5SU
421.Pq Vt bool
422Set this if you wish to use the ksu utility.
423Otherwise, it will be
424installed without the set-user-ID bit set.
425.It Va ENABLE_SUID_NEWGRP
426.Pq Vt bool
427Set this to install
428.Xr newgrp 1
429with the set-user-ID bit set.
430Otherwise,
431.Xr newgrp 1
432will not be able to change users' groups.
433.It Va ENABLE_SUID_SSH
434.Pq Vt bool
435Set this to install
436.Xr ssh 1
437with the set-user-ID bit turned on.
438.It Va ENABLE_WPA_SUPPLICANT_EAPOL
439.Pq Vt str
440Build
441.Xr wpa_supplicant 8
442with support for the IEEE 802.1X protocol and with
443support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
444protocols (usable only via 802.1X).
445This option is ignored if
446.Va NO_CRYPT
447or
448.Va NO_OPENSSL
449are set.
450.It Va MAKE_IDEA
451.Pq Vt bool
452Set to build the IDEA encryption code.
453This code is patented in the USA and many European countries.
454It is
455.Em "YOUR RESPONSIBILITY"
456to determine if you can legally use IDEA.
457.It Va MODULES_WITH_WORLD
458.Pq Vt bool
459Set to build modules with the system instead of the kernel.
460.It Va NO_ACPI
461.Pq Vt bool
462Set to not build
463.Xr acpiconf 8 ,
464.Xr acpidump 8
465and related programs.
466.It Va NO_ATM
467.Pq Vt bool
468Set to not build
469programs and libraries related to ATM networking.
470.It Va NO_AUTHPF
471.Pq Vt bool
472Set to not build
473.Xr authpf 8 .
474.It Va NO_BIND
475.Pq Vt bool
476Setting this variable will prevent any part of BIND from being built,
477regardless of the presence of any of the other *_BIND_* variables below.
478.It Va NO_BIND_DNSSEC
479.Pq Vt bool
480Set to avoid building or installing the DNSSEC related binaries,
481.Xr dnssec-keygen 8
482and
483.Xr dnssec-signzone 8 .
484.It Va NO_BIND_ETC
485.Pq Vt bool
486Set to avoid installing the default files to
487.Pa /var/named/etc/namedb .
488.It Va NO_BIND_LIBS_LWRES
489.Pq Vt bool
490Set to avoid installing the lightweight resolver library in
491.Pa /usr/lib .
492The library that is private to the build system may still be built as needed.
493.It Va NO_BIND_MTREE
494.Pq Vt bool
495Set to avoid running
496.Xr mtree 8
497to create the chroot directory structure under
498.Pa /var/named ,
499and avoid creating an
500.Pa /etc/namedb
501symlink to the chroot directory.
502This option should typically be used together with
503.Vt NO_BIND_ETC .
504.It Va NO_BIND_NAMED
505.Pq Vt bool
506Set to avoid building or installing
507.Xr named 8 ,
508.Xr named.reload 8 ,
509.Xr named-checkconf 8 ,
510.Xr named-checkzone 8 ,
511.Xr rndc 8 ,
512and
513.Xr rndc-confgen 8 .
514.It Va NO_BIND_UTILS
515.Pq Vt bool
516Set to avoid building or installing the BIND userland utilities,
517.Xr dig 1 ,
518.Xr host 1 ,
519.Xr nslookup 1 ,
520and
521.Xr nsupdate 8 .
522.It Va NO_BLUETOOTH
523.Pq Vt bool
524Set to not build Bluetooth related kernel modules, programs and libraries.
525.It Va NO_BOOT
526.Pq Vt bool
527Set to not build the boot blocks and loader.
528.It Va NO_CLEAN
529.Pq Vt bool
530Set this to disable cleaning during
531.Dq Li "make buildworld" .
532This should not be set unless you know what you are doing.
533.It Va NO_CLEANDIR
534.Pq Vt bool
535Set this to run
536.Dq Li "${MAKE} clean"
537instead of
538.Dq Li "${MAKE} cleandir" .
539.It Va NO_CRYPT
540.Pq Vt bool
541Set to not build any crypto code.
542.It Va NO_CVS
543.Pq Vt bool
544Set to not build CVS.
545.It Va NO_CXX
546.Pq Vt bool
547Set to not build
548.Xr g++ 1
549and related libraries.
550.It Va NO_DICT
551.Pq Vt bool
552Set to not build the Webster dictionary files.
553.It Va NO_DYNAMICROOT
554.Pq Vt bool
555Set this if you do not want to link
556.Pa /bin
557and
558.Pa /sbin
559dynamically.
560.It Va NO_FORTRAN
561.Pq Vt bool
562Set to not build
563.Xr g77 1
564and related libraries.
565.It Va NO_GAMES
566.Pq Vt bool
567Set to not build games.
568.It Va NO_GDB
569.Pq Vt bool
570Set to not build
571.Xr gdb 1 .
572.It Va NO_GPIB
573.Pq Vt bool
574Set to not build GPIB bus support.
575.It Va NO_I4B
576.Pq Vt bool
577Set to not build isdn4bsd package.
578.It Va NO_INET6
579.Pq Vt bool
580Set to not build
581programs and libraries related to IPv6 networking.
582.It Va NO_INFO
583.Pq Vt bool
584Set to not make or install
585.Xr info 5
586files.
587.It Va NO_IPFILTER
588.Pq Vt bool
589Set to not build IP Filter package.
590.It Va NO_KERBEROS
591.Pq Vt bool
592Set this if you do not want to build Kerberos 5 (KTH Heimdal).
593.It Va NO_LIBC_R
594.Pq Vt bool
595Set to not build
596.Nm libc_r
597(reentrant version of
598.Nm libc ) .
599.It Va NO_LIBPTHREAD
600.Pq Vt bool
601Set to not build the
602.Nm libpthread
603(M:N threading)
604library.
605.It Va NO_LIBTHR
606.Pq Vt bool
607Set to not build the
608.Nm libthr
609(1:1 threading)
610library.
611.It Va NO_LPR
612.Pq Vt bool
613Set to not build
614.Xr lpr 1
615and related programs.
616.It Va NO_MAILWRAPPER
617.Pq Vt bool
618Set to not build the
619.Xr mailwrapper 8
620MTA selector.
621.It Va NO_MAN
622.Pq Vt bool
623Set to not build manual pages.
624.It Va NO_MANCOMPRESS
625.Pq Vt bool
626Set to install manual pages uncompressed.
627.It Va NO_NETCAT
628.Pq Vt bool
629Set to not build
630.Xr nc 1
631utility.
632.It Va NO_NIS
633.Pq Vt bool
634Set to not build
635.Xr NIS 8
636support and related programs.
637If set, you might need to adopt your
638.Xr nsswitch.conf 5
639and remove
640.Sq nis
641entries.
642.It Va NO_OBJC
643.Pq Vt bool
644Set to not build Objective C support.
645.It Va NO_OPENSSH
646.Pq Vt bool
647Set to not build OpenSSH.
648.It Va NO_OPENSSL
649.Pq Vt bool
650Set to not build OpenSSL (implies
651.Va NO_KERBEROS
652and
653.Va NO_OPENSSH ) .
654.It Va NO_PF
655.Pq Vt bool
656Set to not build PF firewall package.
657.It Va NO_PROFILE
658.Pq Vt bool
659Set to avoid compiling profiled libraries.
660.It Va NO_RCMDS
661.Pq Vt bool
662Disable building of the
663.Tn BSD
664r-commands.
665This includes
666.Xr rlogin 1 ,
667.Xr rsh 1 ,
668etc.
669.It Va NO_SENDMAIL
670.Pq Vt bool
671Set to not build
672.Xr sendmail 8
673and related programs.
674.It Va NO_SHARE
675.Pq Vt bool
676Set to not build in the
677.Pa share
678subdir.
679.It Va NO_SHARED
680.Pq Vt bool
681Set to not build
682.Pa /bin
683and
684.Pa /sbin
685statically linked, this can be bad.
686If set, every utility that uses
687.Pa bsd.prog.mk
688will be linked statically.
689.It Va NO_SHAREDOCS
690.Pq Vt bool
691Set to not build the
692.Bx 4.4
693legacy docs.
694.It Va NO_TCSH
695.Pq Vt bool
696Set to not build and install
697.Pa /bin/csh
698(which is
699.Xr tcsh 1 ) .
700.It Va NO_TOOLCHAIN
701.Pq Vt bool
702Set to not build
703programs used for program development,
704compilers, debuggers etc.
705.It Va NO_USB
706.Pq Vt bool
707Set to not build
708.Xr usbd 8
709and related programs.
710.It Va PPP_NO_NAT
711.Pq Vt bool
712Build
713.Xr ppp 8
714without support for network address translation (NAT).
715.It Va PPP_NO_NETGRAPH
716.Pq Vt bool
717Set to build
718.Xr ppp 8
719without support for Netgraph.
720.It Va PPP_NO_RADIUS
721.Pq Vt bool
722Set to build
723.Xr ppp 8
724without support for RADIUS.
725.It Va PPP_NO_SUID
726.Pq Vt bool
727Set to disable the installation of
728.Xr ppp 8
729as a set-user-ID root program.
730.It Va SENDMAIL_ADDITIONAL_MC
731.Pq Vt str
732Additional
733.Pa .mc
734files which should be built into
735.Pa .cf
736files at build time.
737The value should include the full path to the
738.Pa .mc
739file(s), e.g.,
740.Pa /etc/mail/foo.mc
741.Pa /etc/mail/bar.mc .
742.It Va SENDMAIL_CFLAGS
743.Pq Vt str
744Flags to pass to the compile command when building
745.Xr sendmail 8 .
746The
747.Va SENDMAIL_*
748flags can be used to provide SASL support with setting such as:
749.Bd -literal -offset indent
750SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
751SENDMAIL_LDFLAGS=-L/usr/local/lib
752SENDMAIL_LDADD=-lsasl
753.Ed
754.It Va SENDMAIL_CF_DIR
755.Pq Vt str
756Override the default location for the
757.Xr m4 1
758configuration files used to build a
759.Pa .cf
760file from a
761.Pa .mc
762file.
763.It Va SENDMAIL_DPADD
764.Pq Vt str
765Extra dependencies to add when building
766.Xr sendmail 8 .
767.It Va SENDMAIL_LDADD
768.Pq Vt str
769Flags to add to the end of the
770.Xr ld 1
771command when building
772.Xr sendmail 8 .
773.It Va SENDMAIL_LDFLAGS
774.Pq Vt str
775Flags to pass to the
776.Xr ld 1
777command when building
778.Xr sendmail 8 .
779.It Va SENDMAIL_M4_FLAGS
780.Pq Vt str
781Flags passed to
782.Xr m4 1
783when building a
784.Pa .cf
785file from a
786.Pa .mc
787file.
788.It Va SENDMAIL_MAP_PERMS
789.Pq Vt str
790Mode to use when generating alias and map database files using
791.Pa /etc/mail/Makefile .
792The default value is 0640.
793.It Va SENDMAIL_MC
794.Pq Vt str
795The default
796.Xr m4 1
797configuration file to use at install time.
798The value should include the full path to the
799.Pa .mc
800file, e.g.,
801.Pa /etc/mail/myconfig.mc .
802Use with caution as a make install will overwrite any existing
803.Pa /etc/mail/sendmail.cf .
804Note that
805.Va SENDMAIL_CF
806is now deprecated.
807.It Va SENDMAIL_SET_USER_ID
808.Pq Vt bool
809If set, install
810.Xr sendmail 8
811as a set-user-ID root binary instead of a set-group-ID binary
812and do not install
813.Pa /etc/mail/submit.{cf,mc} .
814Use of this flag is not recommended and the alternative advice in
815.Pa /etc/mail/README
816should be followed instead if at all possible.
817.It Va SENDMAIL_SUBMIT_MC
818.Pq Vt str
819The default
820.Xr m4 1
821configuration file for mail submission
822to use at install time.
823The value should include the full path to the
824.Pa .mc
825file, e.g.,
826.Pa /etc/mail/mysubmit.mc .
827Use with caution as a make install will overwrite any existing
828.Pa /etc/mail/submit.cf .
829.It Va TOP_TABLE_SIZE
830.Pq Vt int
831.Xr top 1
832uses a hash table for the user names.
833The size of this hash can be tuned to match the number of local users.
834The table size should be a prime number
835approximately twice as large as the number of lines in
836.Pa /etc/passwd .
837The default number is 20011.
838.It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE
839.Pq Vt int
840Causes the system compiler to be built such that it forces high optimization
841levels to a lower one.
842.Xr gcc 1
843.Fl O2
844and above is known to trigger known optimizer bugs at various
845times \(em this is worse on the Alpha platform.
846The value assigned is the highest optimization value used.
847.It Va WITH_BIND_LIBS
848.Pq Vt bool
849Set to install BIND libraries and include files.
850.El
851.Ss "BUILDING DOCUMENTATION"
852.Pp
853The following list provides a name and short description for variables
854that are used when building documentation.
855.Bl -tag -width ".Va PRINTERDEVICE"
856.It Va DISTDIR
857.Pq Vt str
858Where distfiles are kept.
859Normally, this is
860.Pa distfiles
861in
862.Va PORTSDIR .
863.It Va DOC_LANG
864.Pq Vt str
865The list of languages and encodings to build and install.
866.It Va PRINTERDEVICE
867.Pq Vt str
868The default format for system documentation, depends on your
869printer.
870This can be set to
871.Dq Li ascii
872for simple printers, or
873.Dq Li ps
874for postscript or graphics printers with a ghostscript
875filter, or both.
876.El
877.Sh FILES
878.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact
879.It Pa /etc/make.conf
880.It Pa /usr/doc/Makefile
881.It Pa /usr/share/examples/etc/make.conf
882.It Pa /usr/share/mk/sys.mk
883.It Pa /usr/src/Makefile
884.It Pa /usr/src/Makefile.inc1
885.El
886.Sh SEE ALSO
887.Xr gcc 1 ,
888.Xr install 1 ,
889.Xr make 1 ,
890.Xr environ 7 ,
891.Xr ports 7 ,
892.Xr lpd 8 ,
893.Xr sendmail 8 ,
894.Xr wpa_supplicant 8
895.Sh HISTORY
896The
897.Nm
898file appeared sometime before
899.Fx 4.0 .
900.Sh AUTHORS
901This
902manual page was written by
903.An Mike W. Meyer Aq mwm@mired.org .
904.Sh BUGS
905This manual page may occasionally be out of date with respect to
906the options currently available for use in
907.Nm .
908Please check the
909.Pa /usr/share/examples/etc/make.conf
910file for the latest options which are available.
911.Sh CAVEATS
912Note, that
913.Ev MAKEOBJDIRPREFIX
914and
915.Ev MAKEOBJDIR
916are environment variables and should not be set in
917.Nm
918but in make's environment.
919