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 $
32 .Nd system build information
36 contains settings that control the compilation of the
39 and ported applications.
42 is generally created by the system administrator when the values need
43 to be changed from their defaults.
47 is not to run commands or perform compilation actions
49 Instead, it is included by the
55 which conditionalize their
56 internal actions according to the settings found there.
60 file is included from the appropriate
62 which specifies the default settings for all the available options.
63 Options need only be specified in
65 when the system administrator wishes to override these defaults.
67 The build procedures occur in four broad areas: the world, the kernel,
68 documentations and ports.
71 may be applicable during builds in one, two, or all four of these
73 They may be specified for a particular build via the
78 The following lists provide a name and short description for each
79 variable you can use during the indicated builds.
83 are ignored; the variable being
89 be treated as if it were set.
91 The following list provides a name and short description for variables
92 that are used for all builds, or are used by the
94 for things other than builds.
98 Controls the compiler setting when compiling C code.
99 Optimization levels above
104 is provided as a set of
106 settings suggested by
107 .An "Bruce Evans" Aq bde@FreeBSD.org
108 for developing and testing changes.
109 They can be used, if set, by:
111 .Bd -literal -offset indent
116 Controls which processor should be targeted for generated
117 code. This controls processor-specific optimizations in
118 certain code (currently only OpenSSL) as well as modifying
123 to contain the appropriate optimization directive to
125 The automatic setting of
129 may be overridden using the
133 variables, respectively. Refer to
134 .Pa /usr/share/examples/etc/make.conf
135 for a list of recognized
140 Setting this variable will prevent CPU specific compiler flags
141 from being automatically added to
144 .It Va NO_CPU_COPTFLAGS
146 Setting this variable will prevent CPU specific compiler flags
147 from being automatically added to
154 to update your ports with
155 .Dq Li "make update" .
158 Controls the compiler settings when compiling C++ code.
160 is initially set to the value of
171 the default install command.
172 To have commands compared before doing
174 .Bd -literal -offset indent
179 List any directories that should be entered when doing
185 Controls the shell used internally by
187 to process the command scripts in makefiles.
192 all currently supported.
193 .Bd -literal -offset indent
196 .It Va MTREE_FOLLOWS_SYMLINKS
205 Set this to not update the doc tree during
206 .Dq Li "make update" .
207 .It Va NO_PORTSUPDATE
209 Set this to not update the ports tree during
210 .Dq Li "make update" .
215 to update your ports with
216 .Dq Li "make update" .
222 .Dq Li "make update" .
228 .Dq Li "make update" .
233 The hostname of the sup server to use when doing
234 .Dq Li "make update" .
240 .Dq Li "make update" .
242 .Pa /usr/share/examples/cvsup/standard\-supfile .
248 .Dq Li "make update" .
250 .Pa /usr/share/examples/cvsup/secure\-supfile .
256 .Dq Li "make update" .
258 .Pa /usr/share/examples/cvsup/secure\-supfile .
264 .Dq Li "make update" .
266 .Pa /usr/share/examples/cvsup/ports\-supfile .
272 .Dq Li "make update" .
274 .Pa /usr/share/examples/cvsup/doc\-supfile .
276 Causes -Werror to be added to
278 when WARNS is in effect.
281 The following list provides a name and short description for variables
282 that are only used doing a kernel build:
284 .It Va BOOT_COMCONSOLE_PORT
286 The port address to use for the console if the boot blocks have
287 been configured to use a serial console instead of the keyboard/video card.
288 .It Va BOOT_COMCONSOLE_SPEED
290 The baud rate to use for the console if the boot blocks have
291 been configured to use a serial console instead of the keyboard/video card.
294 Controls the amount of time the kernel waits for a console keypress
295 before booting the default kernel.
296 The value is approximately milliseconds.
297 Keypresses are accepted by the BIOS before booting from disk,
298 making it possible to give custom boot parameters even when this is
302 Controls the compiler settings when building the
304 Optimization levels above
305 .Oo Fl O ( O2 , No ...\& ) Oc
306 are not guaranteed to work.
309 Controls which kernel configurations will be
311 .Dq Li "${MAKE} buildkernel"
313 .Dq Li "${MAKE} installkernel" .
315 .Bd -literal -offset indent
316 KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
319 will build the kernels specified by the config files
320 .Pa MINE , DEBUG , GENERIC ,
323 and install the kernel specified by the config file
327 .It Va LOADER_TFTP_SUPPORT
329 While not a buildkernel-affected option, there is no better place for this.
332 loader retrieves the kernel via NFS.
333 Defining this and recompiling
334 .Pa /usr/src/sys/boot
335 will cause it to retrieve the kernel via TFTP.
336 This allows pxeboot to load a custom BOOTP diskless kernel yet
337 still mount the server's
339 rather than load the server's kernel.
340 .It Va MODULES_OVERRIDE
342 Set to a list of modules to build instead of all of them.
343 .It Va NO_KERNELCONFIG
345 Set this to skip running
348 .Dq Li "${MAKE} buildkernel" .
349 .It Va NO_KERNELDEPEND
351 Set this to skip running
352 .Dq Li "${MAKE} depend"
354 .Dq Li "${MAKE} buildkernel" .
357 Set to not build modules with the kernel.
360 The following list provides a name and short description for variables
361 that are used during the world build:
367 1 compatibility libraries.
372 compatibility libraries.
377 compatibility libraries.
382 compatibility libraries.
388 compatibility libraries.
394 compatibility libraries.
395 .It Va ENABLE_SUIDPERL
397 Set to enable the installation of an suid
402 Command to use to fetch files.
407 If you want to install the MIT Kerberos5 port somewhere other than
409 define this. This is also used to tell ssh1 that kerberos is needed.
412 Set to build the IDEA encryption code.
413 This code is patented in the USA and many European countries.
415 .Em "YOUR RESPONSIBILITY"
416 to determine if you can legally use IDEA.
417 .It Va MAKE_KERBEROS4
419 Set this to build KerberosIV (KTH eBones).
420 .It Va MAKE_KERBEROS5
422 Set this to build Kerberos5 (KTH Heimdal).
424 This is still experimental code.
425 If you need stable Kerberos5, use the
427 .It Va ENABLE_SUID_K5SU
429 Set this if you wish to use the k5su utility. Otherwise, it will be
430 installed without the set-user-ID bit set.
431 .It Va ENABLE_SUID_SSH
435 with the setuid bit turned on.
436 .It Va MODULES_WITH_WORLD
438 Set to build modules with the system instead of the kernel.
441 Set to not build CVS.
444 Set to not build BIND.
449 and related libraries.
456 Set to not build isdn4bsd package.
459 Set to not build IP Filter package.
464 and related programs.
465 .It Va NO_MAILWRAPPER
472 Set to not build manual pages
482 Set to not build Objective C support.
485 Set to not build OpenSSH.
488 Set to not build OpenSSL (implies
494 and related programs.
502 Set to not build and install
508 Set to not compile in X\-Windows support (e.g.\&
512 Set this to disable cleaning during
513 .Dq Li "make buildworld" .
514 This should not be set unless you know what you are doing.
518 .Dq Li "${MAKE} clean"
520 .Dq Li "${MAKE} cleandir" .
523 Set to not build any crypto code.
526 Set to not build games.
529 Set to not make or install
536 (reentrant version of
540 Set to install man pages uncompressed.
543 Set to avoid building
547 Set to avoid compiling profiled libraries.
550 set to not build crypto code in
555 Set to not build in the
565 Set to enable the building and installation of
571 Set to disable the installation of
573 as an suid root program.
576 The default m4 configuration file to use at install time.
577 The value should include the full path to the
580 .Pa /etc/mail/myconfig.mc .
581 Use with caution as a make install will overwrite any existing
582 .Pa /etc/mail/sendmail.cf .
586 Avoid using a value of
587 .Pa /etc/mail/sendmail.mc
588 as a buildworld will create
589 .Pa /etc/mail/sendmail.cf
590 before installworld installs an updated
593 .It Va SENDMAIL_SUBMIT_MC
595 The default m4 configuration file for mail submission
596 to use at install time.
597 The value should include the full path to the
600 .Pa /etc/mail/mysubmit.mc .
601 Use with caution as a make install will overwrite any existing
602 .Pa /etc/mail/submit.cf .
603 Avoid using a value of
604 .Pa /etc/mail/submit.mc
605 as a buildworld will create
606 .Pa /etc/mail/submit.cf
607 before installworld installs an updated
610 .It Va SENDMAIL_ADDITIONAL_MC
614 files which should be built into
617 The value should include the full path to the
621 .Pa /etc/mail/bar.mc .
622 Avoid using a value of
623 .Pa /etc/mail/sendmail.mc
624 as a buildworld will create
625 .Pa /etc/mail/sendmail.cf
626 before installworld installs an updated
629 .It Va SENDMAIL_M4_FLAGS
631 Flags passed to m4 when building a
636 .It Va SENDMAIL_CFLAGS
638 Flags to pass to the compile command when building
642 flags can be used to provide SASL support with setting such as:
643 .Bd -literal -offset indent
644 SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
645 SENDMAIL_LDFLAGS=-L/usr/local/lib
646 SENDMAIL_LDADD=-lsasl
648 .It Va SENDMAIL_LDFLAGS
652 command when building
654 .It Va SENDMAIL_LDADD
656 Flags to add to the end of the
658 command when building
660 .It Va SENDMAIL_DPADD
662 Extra dependencies to add when building
664 .It Va SENDMAIL_SET_USER_ID
668 as a set-user-ID root binary instead of a set-group-ID binary
670 .Pa /etc/mail/submit.{cf,mc} .
671 Use of this flag is not recommended and the alternative advice in
673 should be followed instead of at all possible.
674 .It Va SENDMAIL_MAP_PERMS
676 Mode to use when generating alias and map database files using
677 .Pa /etc/mail/Makefile .
678 The default value is 0640.
679 .It Va TOP_TABLE_SIZE
682 uses a hash table for the user names. The size of this hash can be tuned
683 to match the number of local users. The table size should be a prime number
684 approximately twice as large as the number of lines in
686 The default number is 20011.
689 The following list provides a name and short description for variables
690 that are used when building documentation.
694 Where distfiles are kept.
701 The list of languages and encodings to build and install.
704 The default format for system documentation, depends on your
708 for simple printers or
710 for postscript or graphics printers with a ghostscript
714 The following list provides a name and short description for variables
715 that are used when building ports:
717 .It Va FORCE_PKG_REGISTER
719 Set this to override any existing package registration.
722 Set this if you have Motif on your system.
725 Set this if you want to install the MIT Kerberos5 port somewhere
730 Set this to the base directory that non\-X ports should be
732 It provides the default for
736 .It Va MASTER_SITE_AFTERSTEP
738 Set this to change the master site for AfterStep ports.
740 part of the path must be
742 .It Va MASTER_SITE_BACKUP
744 Controls the site location that ports check for distfiles if the
745 locations listed in their
748 The last part of the path must be
749 .Dq Li /${DIST_SUBDIR}/ .
750 .It Va MASTER_SITE_COMP_SOURCES
752 Controls the master site location for
756 last part of the path must be
758 .It Va MASTER_SITE_GNOME
760 Controls the master site location for GNOME ports.
762 last part of the path must be
764 .It Va MASTER_SITE_GNU
766 Controls the master site location for GNU ports.
768 last part of the path must be
770 .It Va MASTER_SITE_KDE
772 Controls the master site location for KDE ports.
774 last part of the path must be
776 .It Va MASTER_SITE_FREEBSD
778 If set, go to the master
781 .It Va MASTER_SITE_MOZILLA
783 Controls the master site location for Mozilla ports.
785 last part of the path must be
787 .It Va MASTER_SITE_OVERRIDE
789 If set, this site is checked before the sites listed in the ports
791 You can have it check the backup site first by like so:
792 .Bd -literal -offset indent
793 MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
795 .It Va MASTER_SITE_PERL_CPAN
797 Controls the master site location for Perl ports.
799 last part of the path must be
800 .Bd -literal -offset indent
803 .It Va MASTER_SORT_REGEX
805 Set this to control the sort order for mirror sets.
807 prefer mirrors in the
810 .Bd -literal -offset indent
811 MASTER_SORT_REGEX?= ^file: ^ftp://ftp\.FreeBSD\.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*\.jp/ ://[^/]*\.jp\.
814 Users of other ccTLD domains should change the
818 .It Va MASTER_SITE_RINGSERVER
820 Controls the master site location for Ringserver ports.
822 part of the path must be
824 .It Va MASTER_SITE_RUBY
826 Controls the master site location for Ruby ports.
828 part of the path must be
830 .It Va MASTER_SITE_SUNSITE
832 Controls the master site location for Sunsite ports.
834 part of the path must be
836 .It Va MASTER_SITE_TCLTK
838 Controls the master site location for Tcl and Tk ports.
840 part of the path must be
842 .It Va MASTER_SITE_TEX_CTAN
844 Controls the master site location for TeX ports.
846 part of the path must be
848 .It Va MASTER_SITE_WINDOWMAKER
850 Controls the master site location for WindowMaker ports.
852 part of the path must be
854 .It Va MASTER_SITE_XCONTRIB
856 Controls the master site location for contributed X ports.
858 part of the path must be
860 .It Va MASTER_SITE_XEMACS
862 Controls the master site location for Xemacs ports.
864 part of the path must be
866 .It Va MASTER_SITE_XFREE
868 Controls the master site location for XFree ports.
870 part of the path must be
880 Set this if you want ports that use Motif to be built so they
881 can be run on systems without the Motif shared libraries.
882 .It Va NOCLEANDEPENDS
886 from cleaning the ports that the one being cleaned depends on.
889 Set this to disable installing additional documentation with ports.
892 Used only for the package target; the directory for the package tree.
895 Primary location(s) for the distribution of patch files.
898 The location of the ports tree.
901 Set this if you are a resident of the USA so that ports that
902 need to can attempt to comply with U.S. export regulations.
905 Set this so that ports that can be built with or without X11
906 support will build without X11 support by default.
909 Where to create temporary files used when building ports.
912 Should be set to where the X11 distribution has been
913 installed if it is installed anywhere other than
917 .Bl -tag -width /etc/defaults/make.conf -compact
918 .It Pa /etc/defaults/make.conf
919 .It Pa /etc/make.conf
920 .It Pa /usr/doc/Makefile
921 .It Pa /usr/src/Makefile
922 .It Pa /usr/src/Makefile.inc1
923 .It Pa /usr/ports/Mk/bsd.port.mk
924 .It Pa /usr/ports/Mk/bsd.sites.mk
936 file appeared sometime before
940 manual page was written by
941 .An Mike W. Meyer Aq mwm@mired.org .
943 This manual page may occasionally be out of date with respect to
944 the options currently available for use in
947 .Pa /etc/defaults/make.conf
948 file for the latest options which are available.