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