4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
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.
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
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.2 2003/06/17 04:37:00 dillon Exp $
33 .Nd system build information
37 contains settings that control the compilation of the
40 and ported applications.
43 is generally created by the system administrator when the values need
44 to be changed from their defaults.
48 is not to run commands or perform compilation actions
50 Instead, it is included by the
56 which conditionalize their
57 internal actions according to the settings found there.
61 file is included from the appropriate
63 which specifies the default settings for all the available options.
64 Options need only be specified in
66 when the system administrator wishes to override these defaults.
68 The build procedures occur in four broad areas: the world, the kernel,
69 documentations and ports.
72 may be applicable during builds in one, two, or all four of these
74 They may be specified for a particular build via the
79 The following lists provide a name and short description for each
80 variable you can use during the indicated builds.
84 are ignored; the variable being
90 be treated as if it were set.
92 The following list provides a name and short description for variables
93 that are used for all builds, or are used by the
95 for things other than builds.
99 Controls the compiler setting when compiling C code.
100 Optimization levels above
105 is provided as a set of
107 settings suggested by
108 .An "Bruce Evans" Aq bde@FreeBSD.org
109 for developing and testing changes.
110 They can be used, if set, by:
112 .Bd -literal -offset indent
117 Controls which processor should be targeted for generated
118 code. This controls processor-specific optimizations in
119 certain code (currently only OpenSSL) as well as modifying
124 to contain the appropriate optimization directive to
126 The automatic setting of
130 may be overridden using the
134 variables, respectively. Refer to
135 .Pa /usr/share/examples/etc/make.conf
136 for a list of recognized
141 Setting this variable will prevent CPU specific compiler flags
142 from being automatically added to
145 .It Va NO_CPU_COPTFLAGS
147 Setting this variable will prevent CPU specific compiler flags
148 from being automatically added to
155 to update your ports with
156 .Dq Li "make update" .
159 Controls the compiler settings when compiling C++ code.
161 is initially set to the value of
172 the default install command.
173 To have commands compared before doing
175 .Bd -literal -offset indent
180 List any directories that should be entered when doing
186 Controls the shell used internally by
188 to process the command scripts in makefiles.
193 all currently supported.
194 .Bd -literal -offset indent
197 .It Va MTREE_FOLLOWS_SYMLINKS
206 Set this to not update the doc tree during
207 .Dq Li "make update" .
208 .It Va NO_PORTSUPDATE
210 Set this to not update the ports tree during
211 .Dq Li "make update" .
216 to update your ports with
217 .Dq Li "make update" .
223 .Dq Li "make update" .
229 .Dq Li "make update" .
234 The hostname of the sup server to use when doing
235 .Dq Li "make update" .
241 .Dq Li "make update" .
243 .Pa /usr/share/examples/cvsup/standard\-supfile .
249 .Dq Li "make update" .
251 .Pa /usr/share/examples/cvsup/secure\-supfile .
257 .Dq Li "make update" .
259 .Pa /usr/share/examples/cvsup/secure\-supfile .
265 .Dq Li "make update" .
267 .Pa /usr/share/examples/cvsup/ports\-supfile .
273 .Dq Li "make update" .
275 .Pa /usr/share/examples/cvsup/doc\-supfile .
277 Causes -Werror to be added to
279 when WARNS is in effect.
282 The following list provides a name and short description for variables
283 that are only used doing a kernel build:
285 .It Va BOOT_COMCONSOLE_PORT
287 The port address to use for the console if the boot blocks have
288 been configured to use a serial console instead of the keyboard/video card.
289 .It Va BOOT_COMCONSOLE_SPEED
291 The baud rate to use for the console if the boot blocks have
292 been configured to use a serial console instead of the keyboard/video card.
295 Controls the amount of time the kernel waits for a console keypress
296 before booting the default kernel.
297 The value is approximately milliseconds.
298 Keypresses are accepted by the BIOS before booting from disk,
299 making it possible to give custom boot parameters even when this is
303 Controls the compiler settings when building the
305 Optimization levels above
306 .Oo Fl O ( O2 , No ...\& ) Oc
307 are not guaranteed to work.
310 Controls which kernel configurations will be
312 .Dq Li "${MAKE} buildkernel"
314 .Dq Li "${MAKE} installkernel" .
316 .Bd -literal -offset indent
317 KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
320 will build the kernels specified by the config files
321 .Pa MINE , DEBUG , GENERIC ,
324 and install the kernel specified by the config file
328 .It Va LOADER_TFTP_SUPPORT
330 While not a buildkernel-affected option, there is no better place for this.
333 loader retrieves the kernel via NFS.
334 Defining this and recompiling
335 .Pa /usr/src/sys/boot
336 will cause it to retrieve the kernel via TFTP.
337 This allows pxeboot to load a custom BOOTP diskless kernel yet
338 still mount the server's
340 rather than load the server's kernel.
341 .It Va MODULES_OVERRIDE
343 Set to a list of modules to build instead of all of them.
344 .It Va NO_KERNELCONFIG
346 Set this to skip running
349 .Dq Li "${MAKE} buildkernel" .
350 .It Va NO_KERNELDEPEND
352 Set this to skip running
353 .Dq Li "${MAKE} depend"
355 .Dq Li "${MAKE} buildkernel" .
358 Set to not build modules with the kernel.
361 The following list provides a name and short description for variables
362 that are used during the world build:
368 1 compatibility libraries.
373 compatibility libraries.
378 compatibility libraries.
383 compatibility libraries.
389 compatibility libraries.
395 compatibility libraries.
396 .It Va ENABLE_SUIDPERL
398 Set to enable the installation of an suid
403 Command to use to fetch files.
408 If you want to install the MIT Kerberos5 port somewhere other than
410 define this. This is also used to tell ssh1 that kerberos is needed.
413 Set to build the IDEA encryption code.
414 This code is patented in the USA and many European countries.
416 .Em "YOUR RESPONSIBILITY"
417 to determine if you can legally use IDEA.
418 .It Va MAKE_KERBEROS4
420 Set this to build KerberosIV (KTH eBones).
421 .It Va MAKE_KERBEROS5
423 Set this to build Kerberos5 (KTH Heimdal).
425 This is still experimental code.
426 If you need stable Kerberos5, use the
428 .It Va ENABLE_SUID_K5SU
430 Set this if you wish to use the k5su utility. Otherwise, it will be
431 installed without the set-user-ID bit set.
432 .It Va ENABLE_SUID_SSH
436 with the setuid bit turned on.
437 .It Va MODULES_WITH_WORLD
439 Set to build modules with the system instead of the kernel.
442 Set to not build CVS.
445 Set to not build BIND.
450 and related libraries.
457 Set to not build isdn4bsd package.
460 Set to not build IP Filter package.
465 and related programs.
466 .It Va NO_MAILWRAPPER
473 Set to not build manual pages
483 Set to not build Objective C support.
486 Set to not build OpenSSH.
489 Set to not build OpenSSL (implies
495 and related programs.
503 Set to not build and install
509 Set to not compile in X\-Windows support (e.g.\&
513 Set this to disable cleaning during
514 .Dq Li "make buildworld" .
515 This should not be set unless you know what you are doing.
519 .Dq Li "${MAKE} clean"
521 .Dq Li "${MAKE} cleandir" .
524 Set to not build any crypto code.
527 Set to not build games.
530 Set to not make or install
537 (reentrant version of
541 Set to install man pages uncompressed.
544 Set to avoid building
548 Set to avoid compiling profiled libraries.
551 set to not build crypto code in
556 Set to not build in the
566 Set to enable the building and installation of
572 Set to disable the installation of
574 as an suid root program.
577 The default m4 configuration file to use at install time.
578 The value should include the full path to the
581 .Pa /etc/mail/myconfig.mc .
582 Use with caution as a make install will overwrite any existing
583 .Pa /etc/mail/sendmail.cf .
587 Avoid using a value of
588 .Pa /etc/mail/sendmail.mc
589 as a buildworld will create
590 .Pa /etc/mail/sendmail.cf
591 before installworld installs an updated
594 .It Va SENDMAIL_SUBMIT_MC
596 The default m4 configuration file for mail submission
597 to use at install time.
598 The value should include the full path to the
601 .Pa /etc/mail/mysubmit.mc .
602 Use with caution as a make install will overwrite any existing
603 .Pa /etc/mail/submit.cf .
604 Avoid using a value of
605 .Pa /etc/mail/submit.mc
606 as a buildworld will create
607 .Pa /etc/mail/submit.cf
608 before installworld installs an updated
611 .It Va SENDMAIL_ADDITIONAL_MC
615 files which should be built into
618 The value should include the full path to the
622 .Pa /etc/mail/bar.mc .
623 Avoid using a value of
624 .Pa /etc/mail/sendmail.mc
625 as a buildworld will create
626 .Pa /etc/mail/sendmail.cf
627 before installworld installs an updated
630 .It Va SENDMAIL_M4_FLAGS
632 Flags passed to m4 when building a
637 .It Va SENDMAIL_CFLAGS
639 Flags to pass to the compile command when building
643 flags can be used to provide SASL support with setting such as:
644 .Bd -literal -offset indent
645 SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
646 SENDMAIL_LDFLAGS=-L/usr/local/lib
647 SENDMAIL_LDADD=-lsasl
649 .It Va SENDMAIL_LDFLAGS
653 command when building
655 .It Va SENDMAIL_LDADD
657 Flags to add to the end of the
659 command when building
661 .It Va SENDMAIL_DPADD
663 Extra dependencies to add when building
665 .It Va SENDMAIL_SET_USER_ID
669 as a set-user-ID root binary instead of a set-group-ID binary
671 .Pa /etc/mail/submit.{cf,mc} .
672 Use of this flag is not recommended and the alternative advice in
674 should be followed instead of at all possible.
675 .It Va SENDMAIL_MAP_PERMS
677 Mode to use when generating alias and map database files using
678 .Pa /etc/mail/Makefile .
679 The default value is 0640.
680 .It Va TOP_TABLE_SIZE
683 uses a hash table for the user names. The size of this hash can be tuned
684 to match the number of local users. The table size should be a prime number
685 approximately twice as large as the number of lines in
687 The default number is 20011.
690 The following list provides a name and short description for variables
691 that are used when building documentation.
695 Where distfiles are kept.
702 The list of languages and encodings to build and install.
705 The default format for system documentation, depends on your
709 for simple printers or
711 for postscript or graphics printers with a ghostscript
715 The following list provides a name and short description for variables
716 that are used when building ports:
718 .It Va FORCE_PKG_REGISTER
720 Set this to override any existing package registration.
723 Set this if you have Motif on your system.
726 Set this if you want to install the MIT Kerberos5 port somewhere
731 Set this to the base directory that non\-X ports should be
733 It provides the default for
737 .It Va MASTER_SITE_AFTERSTEP
739 Set this to change the master site for AfterStep ports.
741 part of the path must be
743 .It Va MASTER_SITE_BACKUP
745 Controls the site location that ports check for distfiles if the
746 locations listed in their
749 The last part of the path must be
750 .Dq Li /${DIST_SUBDIR}/ .
751 .It Va MASTER_SITE_COMP_SOURCES
753 Controls the master site location for
757 last part of the path must be
759 .It Va MASTER_SITE_GNOME
761 Controls the master site location for GNOME ports.
763 last part of the path must be
765 .It Va MASTER_SITE_GNU
767 Controls the master site location for GNU ports.
769 last part of the path must be
771 .It Va MASTER_SITE_KDE
773 Controls the master site location for KDE ports.
775 last part of the path must be
777 .It Va MASTER_SITE_FREEBSD
779 If set, go to the master
782 .It Va MASTER_SITE_MOZILLA
784 Controls the master site location for Mozilla ports.
786 last part of the path must be
788 .It Va MASTER_SITE_OVERRIDE
790 If set, this site is checked before the sites listed in the ports
792 You can have it check the backup site first by like so:
793 .Bd -literal -offset indent
794 MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
796 .It Va MASTER_SITE_PERL_CPAN
798 Controls the master site location for Perl ports.
800 last part of the path must be
801 .Bd -literal -offset indent
804 .It Va MASTER_SORT_REGEX
806 Set this to control the sort order for mirror sets.
808 prefer mirrors in the
811 .Bd -literal -offset indent
812 MASTER_SORT_REGEX?= ^file: ^ftp://ftp\.FreeBSD\.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*\.jp/ ://[^/]*\.jp\.
815 Users of other ccTLD domains should change the
819 .It Va MASTER_SITE_RINGSERVER
821 Controls the master site location for Ringserver ports.
823 part of the path must be
825 .It Va MASTER_SITE_RUBY
827 Controls the master site location for Ruby ports.
829 part of the path must be
831 .It Va MASTER_SITE_SUNSITE
833 Controls the master site location for Sunsite ports.
835 part of the path must be
837 .It Va MASTER_SITE_TCLTK
839 Controls the master site location for Tcl and Tk ports.
841 part of the path must be
843 .It Va MASTER_SITE_TEX_CTAN
845 Controls the master site location for TeX ports.
847 part of the path must be
849 .It Va MASTER_SITE_WINDOWMAKER
851 Controls the master site location for WindowMaker ports.
853 part of the path must be
855 .It Va MASTER_SITE_XCONTRIB
857 Controls the master site location for contributed X ports.
859 part of the path must be
861 .It Va MASTER_SITE_XEMACS
863 Controls the master site location for Xemacs ports.
865 part of the path must be
867 .It Va MASTER_SITE_XFREE
869 Controls the master site location for XFree ports.
871 part of the path must be
881 Set this if you want ports that use Motif to be built so they
882 can be run on systems without the Motif shared libraries.
883 .It Va NOCLEANDEPENDS
887 from cleaning the ports that the one being cleaned depends on.
890 Set this to disable installing additional documentation with ports.
893 Used only for the package target; the directory for the package tree.
896 Primary location(s) for the distribution of patch files.
899 The location of the ports tree.
902 Set this if you are a resident of the USA so that ports that
903 need to can attempt to comply with U.S. export regulations.
906 Set this so that ports that can be built with or without X11
907 support will build without X11 support by default.
910 Where to create temporary files used when building ports.
913 Should be set to where the X11 distribution has been
914 installed if it is installed anywhere other than
918 .Bl -tag -width /etc/defaults/make.conf -compact
919 .It Pa /etc/defaults/make.conf
920 .It Pa /etc/make.conf
921 .It Pa /usr/doc/Makefile
922 .It Pa /usr/src/Makefile
923 .It Pa /usr/src/Makefile.inc1
924 .It Pa /usr/ports/Mk/bsd.port.mk
925 .It Pa /usr/ports/Mk/bsd.sites.mk
937 file appeared sometime before
941 manual page was written by
942 .An Mike W. Meyer Aq mwm@mired.org .
944 This manual page may occasionally be out of date with respect to
945 the options currently available for use in
948 .Pa /etc/defaults/make.conf
949 file for the latest options which are available.