1786aa69aSBen Smithurst.\" Copyright (c) 2000 2786aa69aSBen Smithurst.\" Mike W. Meyer 3786aa69aSBen Smithurst.\" 4786aa69aSBen Smithurst.\" Redistribution and use in source and binary forms, with or without 5786aa69aSBen Smithurst.\" modification, are permitted provided that the following conditions 6786aa69aSBen Smithurst.\" are met: 7786aa69aSBen Smithurst.\" 1. Redistributions of source code must retain the above copyright 8786aa69aSBen Smithurst.\" notice, this list of conditions and the following disclaimer. 9786aa69aSBen Smithurst.\" 2. Redistributions in binary form must reproduce the above copyright 10786aa69aSBen Smithurst.\" notice, this list of conditions and the following disclaimer in the 11786aa69aSBen Smithurst.\" documentation and/or other materials provided with the distribution. 12786aa69aSBen Smithurst.\" 13786aa69aSBen Smithurst.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND 14786aa69aSBen Smithurst.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15786aa69aSBen Smithurst.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16786aa69aSBen Smithurst.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE 17786aa69aSBen Smithurst.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18786aa69aSBen Smithurst.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19786aa69aSBen Smithurst.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20786aa69aSBen Smithurst.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21786aa69aSBen Smithurst.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22786aa69aSBen Smithurst.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23786aa69aSBen Smithurst.\" SUCH DAMAGE. 24786aa69aSBen Smithurst.\" 25786aa69aSBen Smithurst.\" $FreeBSD$ 26786aa69aSBen Smithurst.\" 27862aa05fSRuslan Ermilov.Dd March 21, 2006 28786aa69aSBen Smithurst.Dt MAKE.CONF 5 29786aa69aSBen Smithurst.Os 30786aa69aSBen Smithurst.Sh NAME 31786aa69aSBen Smithurst.Nm make.conf 329c488872SRuslan Ermilov.Nd system build information 33786aa69aSBen Smithurst.Sh DESCRIPTION 34786aa69aSBen SmithurstThe file 35786aa69aSBen Smithurst.Nm 36253c3c73SYaroslav Tykhiycontains system-wide settings that will apply to every build using 37253c3c73SYaroslav Tykhiy.Xr make 1 38253c3c73SYaroslav Tykhiyand the standard 39253c3c73SYaroslav Tykhiy.Pa sys.mk 40253c3c73SYaroslav Tykhiyfile. 41253c3c73SYaroslav TykhiyThis is achieved as follows: 42253c3c73SYaroslav Tykhiy.Xr make 1 43253c3c73SYaroslav Tykhiyprocesses the system makefile 44253c3c73SYaroslav Tykhiy.Pa sys.mk 45253c3c73SYaroslav Tykhiybefore any other file by default, and 46253c3c73SYaroslav Tykhiy.Pa sys.mk 47253c3c73SYaroslav Tykhiyincludes 48253c3c73SYaroslav Tykhiy.Nm . 49253c3c73SYaroslav Tykhiy.Pp 509c488872SRuslan ErmilovThe file 51786aa69aSBen Smithurst.Nm 52253c3c73SYaroslav Tykhiyuses the standard makefile syntax. 53253c3c73SYaroslav TykhiyHowever, 54786aa69aSBen Smithurst.Nm 55253c3c73SYaroslav Tykhiyshould not specify any dependencies to 56253c3c73SYaroslav Tykhiy.Xr make 1 . 57253c3c73SYaroslav TykhiyInstead, 58253c3c73SYaroslav Tykhiy.Nm 59253c3c73SYaroslav Tykhiyis to set 60253c3c73SYaroslav Tykhiy.Xr make 1 61253c3c73SYaroslav Tykhiyvariables that control the actions of other makefiles. 62253c3c73SYaroslav Tykhiy.Pp 63253c3c73SYaroslav TykhiyThe default location of 64253c3c73SYaroslav Tykhiy.Nm 65253c3c73SYaroslav Tykhiyis 66253c3c73SYaroslav Tykhiy.Pa /etc/make.conf , 67253c3c73SYaroslav Tykhiythough an alternative location can be specified in the 68253c3c73SYaroslav Tykhiy.Xr make 1 69253c3c73SYaroslav Tykhiyvariable 70253c3c73SYaroslav Tykhiy.Va __MAKE_CONF . 71253c3c73SYaroslav TykhiyYou may need to override the location of 72253c3c73SYaroslav Tykhiy.Nm 73253c3c73SYaroslav Tykhiyif the system-wide settings are not suitable for a particular build. 74253c3c73SYaroslav TykhiyFor instance, setting 75253c3c73SYaroslav Tykhiy.Va __MAKE_CONF 76253c3c73SYaroslav Tykhiyto 77253c3c73SYaroslav Tykhiy.Pa /dev/null 78253c3c73SYaroslav Tykhiyeffectively resets all build controls to their defaults. 79253c3c73SYaroslav Tykhiy.Pp 80253c3c73SYaroslav TykhiyThe primary purpose of 81253c3c73SYaroslav Tykhiy.Nm 82253c3c73SYaroslav Tykhiyis to control the compilation of the 83253c3c73SYaroslav Tykhiy.Fx 84253c3c73SYaroslav Tykhiysources, documentation, and ported applications, 85253c3c73SYaroslav Tykhiywhich are usually found in 86786aa69aSBen Smithurst.Pa /usr/src , 87253c3c73SYaroslav Tykhiy.Pa /usr/doc , 88786aa69aSBen Smithurstand 89253c3c73SYaroslav Tykhiy.Pa /usr/ports . 90253c3c73SYaroslav TykhiyAs a rule, the system administrator creates 91253c3c73SYaroslav Tykhiy.Nm 92253c3c73SYaroslav Tykhiywhen the values of certain control variables need to be changed 93253c3c73SYaroslav Tykhiyfrom their defaults. 94786aa69aSBen Smithurst.Pp 95253c3c73SYaroslav TykhiyThe system build procedures occur in four broad areas: 96253c3c73SYaroslav Tykhiythe world, the kernel, documentation and ports. 979c488872SRuslan ErmilovVariables set in 98786aa69aSBen Smithurst.Nm 99253c3c73SYaroslav Tykhiymay be applicable in one, two, or all four of these areas. 100253c3c73SYaroslav TykhiyIn addition, control variables can be specified 101253c3c73SYaroslav Tykhiyfor a particular build via the 1029c488872SRuslan Ermilov.Fl D 103786aa69aSBen Smithurstoption of 104253c3c73SYaroslav Tykhiy.Xr make 1 105253c3c73SYaroslav Tykhiyor in 106253c3c73SYaroslav Tykhiy.Xr environ 7 . 107786aa69aSBen Smithurst.Pp 1089c488872SRuslan ErmilovThe following lists provide a name and short description for each 1099c488872SRuslan Ermilovvariable you can use during the indicated builds. 1109c488872SRuslan ErmilovThe values of 111786aa69aSBen Smithurstvariables flagged as 1129c488872SRuslan Ermilov.Vt bool 113786aa69aSBen Smithurstare ignored; the variable being 114786aa69aSBen Smithurstset at all (even to 1159c488872SRuslan Ermilov.Dq Li FALSE 116786aa69aSBen Smithurstor 1179c488872SRuslan Ermilov.Dq Li NO ) 1187f86e53dSGiorgos Keramidascauses it to 119786aa69aSBen Smithurstbe treated as if it were set. 120786aa69aSBen Smithurst.Pp 121786aa69aSBen SmithurstThe following list provides a name and short description for variables 122786aa69aSBen Smithurstthat are used for all builds, or are used by the 1239c488872SRuslan Ermilov.Pa makefiles 1249c488872SRuslan Ermilovfor things other than builds. 125786aa69aSBen Smithurst.Bl -tag -width Ar 126d911f786SMarcel Moolenaar.It Va ALWAYS_CHECK_MAKE 127d911f786SMarcel Moolenaar.Pq Vt bool 128d911f786SMarcel MoolenaarInstructs the top-level makefile in the source tree (normally 129d911f786SMarcel Moolenaar.Pa /usr/src ) 130d911f786SMarcel Moolenaarto always check if 131d911f786SMarcel Moolenaar.Xr make 1 132d911f786SMarcel Moolenaaris up-to-date. 133d911f786SMarcel MoolenaarNormally this is only done for the world and buildworld targets to handle 134d911f786SMarcel Moolenaarupgrades from older versions of 135d911f786SMarcel Moolenaar.Fx . 1369c488872SRuslan Ermilov.It Va CFLAGS 13734455342SDima Dorfman.Pq Vt str 1389c488872SRuslan ErmilovControls the compiler setting when compiling C code. 1392410103cSRuslan ErmilovOptimization levels other than 140d489ec12SDima Dorfman.Fl O 141dca80b3cSDag-Erling Smørgravand 142dca80b3cSDag-Erling Smørgrav.Fl O2 1439c488872SRuslan Ermilovare not supported. 1449c488872SRuslan Ermilov.Va BDECFLAGS 1459c488872SRuslan Ermilovis provided as a set of 1469c488872SRuslan Ermilov.Xr gcc 1 1479c488872SRuslan Ermilovsettings suggested by 1489c488872SRuslan Ermilov.An "Bruce Evans" Aq bde@FreeBSD.org 1499c488872SRuslan Ermilovfor developing and testing changes. 150d33a962dSAlexander LangerThey can be used, if set, by: 1519c488872SRuslan Ermilov.Pp 152786aa69aSBen Smithurst.Bd -literal -offset indent 153146b8183SDima DorfmanCFLAGS+=${BDECFLAGS} 154786aa69aSBen Smithurst.Ed 155a19f1419STom Rhodes.It Va CPUTYPE 156a19f1419STom Rhodes.Pq Vt str 157a19f1419STom RhodesControls which processor should be targeted for generated 158d962d52aSRuslan Ermilovcode. 159d962d52aSRuslan ErmilovThis controls processor-specific optimizations in 160a19f1419STom Rhodescertain code (currently only OpenSSL) as well as modifying 161a19f1419STom Rhodesthe value of 162a19f1419STom Rhodes.Va CFLAGS 163a19f1419STom Rhodesand 164a19f1419STom Rhodes.Va COPTFLAGS 165a19f1419STom Rhodesto contain the appropriate optimization directive to 166a19f1419STom Rhodes.Xr gcc 1 . 167a19f1419STom RhodesThe automatic setting of 168a19f1419STom Rhodes.Va CFLAGS 169a19f1419STom Rhodesand 170a19f1419STom Rhodes.Va COPTFLAGS 171a19f1419STom Rhodesmay be overridden using the 172a19f1419STom Rhodes.Va NO_CPU_CFLAGS 173a19f1419STom Rhodesand 174a19f1419STom Rhodes.Va NO_CPU_COPTFLAGS 175d962d52aSRuslan Ermilovvariables, respectively. 176d962d52aSRuslan ErmilovRefer to 177a19f1419STom Rhodes.Pa /usr/share/examples/etc/make.conf 178a19f1419STom Rhodesfor a list of recognized 179a19f1419STom Rhodes.Va CPUTYPE 180a19f1419STom Rhodesoptions. 1819c488872SRuslan Ermilov.It Va CVS_UPDATE 18234455342SDima Dorfman.Pq Vt bool 1839c488872SRuslan ErmilovSet this to use 1849c488872SRuslan Ermilov.Xr cvs 1 1859c488872SRuslan Ermilovto update your ports with 1869c488872SRuslan Ermilov.Dq Li "make update" . 1879c488872SRuslan Ermilov.It Va CXXFLAGS 18834455342SDima Dorfman.Pq Vt str 1899c488872SRuslan ErmilovControls the compiler settings when compiling C++ code. 1909c488872SRuslan Ermilov.Va CXXFLAGS 1919c488872SRuslan Ermilovis initially set to the value of 1929c488872SRuslan Ermilov.Va CFLAGS . 1939c488872SRuslan ErmilovIf you want to 1949c488872SRuslan Ermilovadd to the 1959c488872SRuslan Ermilov.Va CXXFLAGS 1969c488872SRuslan Ermilovvalue, use 197786aa69aSBen Smithurst.Dq Li += 198786aa69aSBen Smithurstinstead of 199786aa69aSBen Smithurst.Dq Li = . 2006614d157SJoseph Koshy.It Va DOCSUPFILE 2016614d157SJoseph Koshy.Pq Vt str 2026614d157SJoseph KoshyThe documentation 2036614d157SJoseph Koshy.Ar supfile 2046614d157SJoseph Koshyto use when doing a 2056614d157SJoseph Koshy.Dq Li "make update" . 2066614d157SJoseph KoshyThis defaults to 2076614d157SJoseph Koshy.Pa /usr/share/examples/cvsup/doc\-supfile . 2089c488872SRuslan Ermilov.It Va INSTALL 20934455342SDima Dorfman.Pq Vt str 2109c488872SRuslan Ermilovthe default install command. 211192858e8SSheldon HearnTo install only files for which the target differs or does not exist, use 212786aa69aSBen Smithurst.Bd -literal -offset indent 21333c1de7dSRuslan ErmilovINSTALL="install -C" 214786aa69aSBen Smithurst.Ed 215192858e8SSheldon HearnNote that some makefiles (including those in 216192858e8SSheldon Hearn.Pa /usr/share/mk ) 217192858e8SSheldon Hearnmay hardcode options for the supplied install command. 2189c488872SRuslan Ermilov.It Va LOCAL_DIRS 21934455342SDima Dorfman.Pq Vt str 2209c488872SRuslan ErmilovList any directories that should be entered when doing 221786aa69aSBen Smithurstmake's in 222786aa69aSBen Smithurst.Pa /usr/src 223786aa69aSBen Smithurstin this variable. 224a19f1419STom Rhodes.It Va MAKE_SHELL 225a19f1419STom Rhodes.Pq Vt str 226a19f1419STom RhodesControls the shell used internally by 227a19f1419STom Rhodes.Xr make 1 228a19f1419STom Rhodesto process the command scripts in makefiles. 229a19f1419STom Rhodes.Xr sh 1 , 230a19f1419STom Rhodes.Xr ksh 1 , 231a19f1419STom Rhodesand 232a19f1419STom Rhodes.Xr csh 1 233a19f1419STom Rhodesall currently supported. 234d962d52aSRuslan Ermilov.Pp 235d962d52aSRuslan Ermilov.Dl "MAKE_SHELL?=sh" 2369c488872SRuslan Ermilov.It Va MTREE_FOLLOWS_SYMLINKS 23734455342SDima Dorfman.Pq Vt str 2389c488872SRuslan ErmilovSet this to 2399c488872SRuslan Ermilov.Dq Fl L 2409c488872SRuslan Ermilovto cause 2419c488872SRuslan Ermilov.Xr mtree 8 2429c488872SRuslan Ermilovto follow symlinks. 2436614d157SJoseph Koshy.It Va NO_CPU_CFLAGS 2446614d157SJoseph Koshy.Pq Vt str 2456614d157SJoseph KoshySetting this variable will prevent CPU specific compiler flags 2466614d157SJoseph Koshyfrom being automatically added to 2476614d157SJoseph Koshy.Va CFLAGS 2486614d157SJoseph Koshyduring compile time. 2496614d157SJoseph Koshy.It Va NO_CPU_COPTFLAGS 2506614d157SJoseph Koshy.Pq Vt str 2516614d157SJoseph KoshySetting this variable will prevent CPU specific compiler flags 2526614d157SJoseph Koshyfrom being automatically added to 2536614d157SJoseph Koshy.Va COPTFLAGS 2546614d157SJoseph Koshyduring compile time. 2559c488872SRuslan Ermilov.It Va NO_DOCUPDATE 25634455342SDima Dorfman.Pq Vt bool 2579c488872SRuslan ErmilovSet this to not update the doc tree during 2589c488872SRuslan Ermilov.Dq Li "make update" . 2599c488872SRuslan Ermilov.It Va NO_PORTSUPDATE 26034455342SDima Dorfman.Pq Vt bool 2619c488872SRuslan ErmilovSet this to not update the ports tree during 2629c488872SRuslan Ermilov.Dq Li "make update" . 2636614d157SJoseph Koshy.It Va PORTSSUPFILE 2646614d157SJoseph Koshy.Pq Vt str 2656614d157SJoseph KoshyThe ports 2666614d157SJoseph Koshy.Ar supfile 2676614d157SJoseph Koshyto use when doing a 2689c488872SRuslan Ermilov.Dq Li "make update" . 2696614d157SJoseph KoshyThis defaults to 2706614d157SJoseph Koshy.Pa /usr/share/examples/cvsup/ports\-supfile . 2719c488872SRuslan Ermilov.It Va SUP 27234455342SDima Dorfman.Pq Vt str 2739c488872SRuslan ErmilovThe location of the 2749c488872SRuslan Ermilov.Xr cvsup 1 2759c488872SRuslan Ermilovcommand for 2769c488872SRuslan Ermilov.Dq Li "make update" . 2779c488872SRuslan Ermilov.It Va SUPFILE 27834455342SDima Dorfman.Pq Vt str 2799c488872SRuslan ErmilovThe first 2809c488872SRuslan Ermilov.Ar supfile 2819c488872SRuslan Ermilovto use when doing a 2829c488872SRuslan Ermilov.Dq Li "make update" . 283786aa69aSBen SmithurstThis defaults to 2849c488872SRuslan Ermilov.Pa /usr/share/examples/cvsup/standard\-supfile . 2859c488872SRuslan Ermilov.It Va SUPFILE1 28634455342SDima Dorfman.Pq Vt str 2879c488872SRuslan ErmilovThe second 2889c488872SRuslan Ermilov.Ar supfile 2899c488872SRuslan Ermilovto use when doing a 2909c488872SRuslan Ermilov.Dq Li "make update" . 291786aa69aSBen SmithurstThis defaults to 2929c488872SRuslan Ermilov.Pa /usr/share/examples/cvsup/secure\-supfile . 2939c488872SRuslan Ermilov.It Va SUPFILE2 29434455342SDima Dorfman.Pq Vt str 2959c488872SRuslan ErmilovThe third 2969c488872SRuslan Ermilov.Ar supfile 2979c488872SRuslan Ermilovto use when doing a 2989c488872SRuslan Ermilov.Dq Li "make update" . 299786aa69aSBen SmithurstThis defaults to 3009c488872SRuslan Ermilov.Pa /usr/share/examples/cvsup/secure\-supfile . 3016614d157SJoseph Koshy.It Va SUPFLAGS 30234455342SDima Dorfman.Pq Vt str 3036614d157SJoseph KoshyThe flag for the 3046614d157SJoseph Koshy.Xr sup 1 3056614d157SJoseph Koshycommand when doing 3069c488872SRuslan Ermilov.Dq Li "make update" . 307786aa69aSBen SmithurstThis defaults to 3086614d157SJoseph Koshy.Op Fl g L Ar 2 . 3096614d157SJoseph Koshy.It Va SUPHOST 31034455342SDima Dorfman.Pq Vt str 3116614d157SJoseph KoshyThe hostname of the sup server to use when doing 3129c488872SRuslan Ermilov.Dq Li "make update" . 3136614d157SJoseph Koshy.It Va SUP_UPDATE 3146614d157SJoseph Koshy.Pq Vt bool 3156614d157SJoseph KoshySet this to use 3166614d157SJoseph Koshy.Xr cvsup 1 3176614d157SJoseph Koshyto update your ports with 3186614d157SJoseph Koshy.Dq Li "make update" . 319786aa69aSBen Smithurst.El 320addbe0bcSJoseph Koshy.Ss "BUILDING THE KERNEL" 321786aa69aSBen Smithurst.Pp 322786aa69aSBen SmithurstThe following list provides a name and short description for variables 323786aa69aSBen Smithurstthat are only used doing a kernel build: 324786aa69aSBen Smithurst.Bl -tag -width Ar 3259c488872SRuslan Ermilov.It Va BOOTWAIT 32634455342SDima Dorfman.Pq Vt int 3279c488872SRuslan ErmilovControls the amount of time the kernel waits for a console keypress 3289c488872SRuslan Ermilovbefore booting the default kernel. 3299c488872SRuslan ErmilovThe value is approximately milliseconds. 3309c488872SRuslan ErmilovKeypresses are accepted by the BIOS before booting from disk, 331786aa69aSBen Smithurstmaking it possible to give custom boot parameters even when this is 332786aa69aSBen Smithurstset to 0. 3336614d157SJoseph Koshy.It Va BOOT_COMCONSOLE_PORT 3346614d157SJoseph Koshy.Pq Vt str 3356614d157SJoseph KoshyThe port address to use for the console if the boot blocks have 3366614d157SJoseph Koshybeen configured to use a serial console instead of the keyboard/video card. 3376614d157SJoseph Koshy.It Va BOOT_COMCONSOLE_SPEED 3386614d157SJoseph Koshy.Pq Vt int 3396614d157SJoseph KoshyThe baud rate to use for the console if the boot blocks have 3406614d157SJoseph Koshybeen configured to use a serial console instead of the keyboard/video card. 3419c488872SRuslan Ermilov.It Va COPTFLAGS 34234455342SDima Dorfman.Pq Vt str 3439c488872SRuslan ErmilovControls the compiler settings when building the 3449c488872SRuslan Ermilovkernel. 3459c488872SRuslan ErmilovOptimization levels above 3469c488872SRuslan Ermilov.Oo Fl O ( O2 , No ...\& ) Oc 347d5499896SDavid E. O'Brienare not guaranteed to work. 348061cae1bSJordan K. Hubbard.It Va KERNCONF 34934455342SDima Dorfman.Pq Vt str 3509c488872SRuslan ErmilovControls which kernel configurations will be 3516164dd81SBen Smithurstbuilt by 3529c488872SRuslan Ermilov.Dq Li "${MAKE} buildkernel" 3536164dd81SBen Smithurstand installed by 3549c488872SRuslan Ermilov.Dq Li "${MAKE} installkernel" . 3556164dd81SBen SmithurstFor example, 3566164dd81SBen Smithurst.Bd -literal -offset indent 357e52710beSDima DorfmanKERNCONF=MINE DEBUG GENERIC OTHERMACHINE 3586164dd81SBen Smithurst.Ed 3599c488872SRuslan Ermilov.Pp 360a910f192SDima Dorfmanwill build the kernels specified by the config files 3616164dd81SBen Smithurst.Pa MINE , DEBUG , GENERIC , 3626164dd81SBen Smithurstand 3636164dd81SBen Smithurst.Pa OTHERMACHINE , 3646164dd81SBen Smithurstand install the kernel specified by the config file 3656164dd81SBen Smithurst.Pa MINE . 3666164dd81SBen SmithurstIt defaults to 3676164dd81SBen Smithurst.Pa GENERIC . 368a19f1419STom Rhodes.It Va LOADER_TFTP_SUPPORT 369a19f1419STom Rhodes.Pq Vt bool 370a19f1419STom RhodesWhile not a buildkernel-affected option, there is no better place for this. 371a19f1419STom RhodesBy default the 372a19f1419STom Rhodes.Xr pxeboot 8 373a19f1419STom Rhodesloader retrieves the kernel via NFS. 374a19f1419STom RhodesDefining this and recompiling 375a19f1419STom Rhodes.Pa /usr/src/sys/boot 376a19f1419STom Rhodeswill cause it to retrieve the kernel via TFTP. 377d962d52aSRuslan ErmilovThis allows 378d962d52aSRuslan Ermilov.Xr pxeboot 8 379d962d52aSRuslan Ermilovto load a custom BOOTP diskless kernel yet 380a19f1419STom Rhodesstill mount the server's 381a19f1419STom Rhodes.Pa / 382a19f1419STom Rhodesrather than load the server's kernel. 383a19f1419STom Rhodes.It Va MODULES_OVERRIDE 384a19f1419STom Rhodes.Pq Vt str 385a19f1419STom RhodesSet to a list of modules to build instead of all of them. 3869c488872SRuslan Ermilov.It Va NO_KERNELCONFIG 38734455342SDima Dorfman.Pq Vt bool 3889c488872SRuslan ErmilovSet this to skip running 389786aa69aSBen Smithurst.Xr config 8 390786aa69aSBen Smithurstduring 3919c488872SRuslan Ermilov.Dq Li "${MAKE} buildkernel" . 3929c488872SRuslan Ermilov.It Va NO_KERNELDEPEND 39334455342SDima Dorfman.Pq Vt bool 3949c488872SRuslan ErmilovSet this to skip running 3959c488872SRuslan Ermilov.Dq Li "${MAKE} depend" 396786aa69aSBen Smithurstduring 3979c488872SRuslan Ermilov.Dq Li "${MAKE} buildkernel" . 3989c488872SRuslan Ermilov.It Va NO_MODULES 39934455342SDima Dorfman.Pq Vt bool 4009c488872SRuslan ErmilovSet to not build modules with the kernel. 4016614d157SJoseph Koshy.It Va PORTS_MODULES 4026614d157SJoseph KoshySet this to the list of ports you wish to rebuild every time the kernel 4036614d157SJoseph Koshyis built. 4046614d157SJoseph Koshy.It Va WITHOUT_MODULES 4056614d157SJoseph Koshy.Pq Vt str 4066614d157SJoseph KoshySet to a list of modules to exclude from the build. 4076614d157SJoseph KoshyThis provides a 4086614d157SJoseph Koshysomewhat easier way to exclude modules you are certain you will never 4096614d157SJoseph Koshyneed than specifying 4106614d157SJoseph Koshy.Va MODULES_OVERRIDE . 4116614d157SJoseph KoshyThis is applied 4126614d157SJoseph Koshy.Em after 4136614d157SJoseph Koshy.Va MODULES_OVERRIDE . 414786aa69aSBen Smithurst.El 415addbe0bcSJoseph Koshy.Ss "BUILDING THE WORLD" 416786aa69aSBen Smithurst.Pp 417786aa69aSBen SmithurstThe following list provides a name and short description for variables 418786aa69aSBen Smithurstthat are used during the world build: 419786aa69aSBen Smithurst.Bl -tag -width Ar 42095ba4330SJacques Vidrine.It Va ENABLE_SUID_K5SU 42195ba4330SJacques Vidrine.Pq Vt bool 422aab6741fSMark MurraySet this if you wish to use the ksu utility. 423dca8ad69SRuslan ErmilovOtherwise, it will be 42495ba4330SJacques Vidrineinstalled without the set-user-ID bit set. 4257cc8320aSTim J. Robbins.It Va ENABLE_SUID_NEWGRP 4267cc8320aSTim J. Robbins.Pq Vt bool 4277cc8320aSTim J. RobbinsSet this to install 4287cc8320aSTim J. Robbins.Xr newgrp 1 4297cc8320aSTim J. Robbinswith the set-user-ID bit set. 4307cc8320aSTim J. RobbinsOtherwise, 4317cc8320aSTim J. Robbins.Xr newgrp 1 4327cc8320aSTim J. Robbinswill not be able to change users' groups. 433a19f1419STom Rhodes.It Va ENABLE_SUID_SSH 434a19f1419STom Rhodes.Pq Vt bool 435a19f1419STom RhodesSet this to install 436a19f1419STom Rhodes.Xr ssh 1 437d962d52aSRuslan Ermilovwith the set-user-ID bit turned on. 4389c488872SRuslan Ermilov.It Va MODULES_WITH_WORLD 43934455342SDima Dorfman.Pq Vt bool 4409c488872SRuslan ErmilovSet to build modules with the system instead of the kernel. 4416614d157SJoseph Koshy.It Va NO_CLEAN 4426614d157SJoseph Koshy.Pq Vt bool 4436614d157SJoseph KoshySet this to disable cleaning during 4446614d157SJoseph Koshy.Dq Li "make buildworld" . 4456614d157SJoseph KoshyThis should not be set unless you know what you are doing. 4466614d157SJoseph Koshy.It Va NO_CLEANDIR 4476614d157SJoseph Koshy.Pq Vt bool 4486614d157SJoseph KoshySet this to run 4496614d157SJoseph Koshy.Dq Li "${MAKE} clean" 4506614d157SJoseph Koshyinstead of 4516614d157SJoseph Koshy.Dq Li "${MAKE} cleandir" . 4526614d157SJoseph Koshy.It Va NO_MANCOMPRESS 4536614d157SJoseph Koshy.Pq Vt bool 4546614d157SJoseph KoshySet to install manual pages uncompressed. 4556614d157SJoseph Koshy.It Va NO_SHARE 4566614d157SJoseph Koshy.Pq Vt bool 4576614d157SJoseph KoshySet to not build in the 4586614d157SJoseph Koshy.Pa share 4596614d157SJoseph Koshysubdir. 4606614d157SJoseph Koshy.It Va NO_SHARED 4616614d157SJoseph Koshy.Pq Vt bool 462d54a903aSChristian BruefferSet to build 4636614d157SJoseph Koshy.Pa /bin 4646614d157SJoseph Koshyand 4656614d157SJoseph Koshy.Pa /sbin 4666614d157SJoseph Koshystatically linked, this can be bad. 4676614d157SJoseph KoshyIf set, every utility that uses 4686614d157SJoseph Koshy.Pa bsd.prog.mk 4696614d157SJoseph Koshywill be linked statically. 470dd991de0SRuslan Ermilov.It Va PPP_NO_NAT 471dd991de0SRuslan Ermilov.Pq Vt bool 472dd991de0SRuslan ErmilovBuild 473dd991de0SRuslan Ermilov.Xr ppp 8 474dd991de0SRuslan Ermilovwithout support for network address translation (NAT). 475dd991de0SRuslan Ermilov.It Va PPP_NO_NETGRAPH 476368e43f7STom Rhodes.Pq Vt bool 477368e43f7STom RhodesSet to build 478368e43f7STom Rhodes.Xr ppp 8 479dd991de0SRuslan Ermilovwithout support for Netgraph. 480dd991de0SRuslan Ermilov.It Va PPP_NO_RADIUS 481dd991de0SRuslan Ermilov.Pq Vt bool 482368e43f7STom RhodesSet to build 483368e43f7STom Rhodes.Xr ppp 8 484dd991de0SRuslan Ermilovwithout support for RADIUS. 485dd991de0SRuslan Ermilov.It Va PPP_NO_SUID 48634455342SDima Dorfman.Pq Vt bool 4879c488872SRuslan ErmilovSet to disable the installation of 4889c488872SRuslan Ermilov.Xr ppp 8 489dd991de0SRuslan Ermilovas a set-user-ID root program. 4906614d157SJoseph Koshy.It Va SENDMAIL_ADDITIONAL_MC 4916614d157SJoseph Koshy.Pq Vt str 4926614d157SJoseph KoshyAdditional 4936614d157SJoseph Koshy.Pa .mc 4946614d157SJoseph Koshyfiles which should be built into 4956614d157SJoseph Koshy.Pa .cf 4966614d157SJoseph Koshyfiles at build time. 4976614d157SJoseph KoshyThe value should include the full path to the 4986614d157SJoseph Koshy.Pa .mc 4996614d157SJoseph Koshyfile(s), e.g., 5006614d157SJoseph Koshy.Pa /etc/mail/foo.mc 5016614d157SJoseph Koshy.Pa /etc/mail/bar.mc . 5026614d157SJoseph Koshy.It Va SENDMAIL_CFLAGS 5036614d157SJoseph Koshy.Pq Vt str 5046614d157SJoseph KoshyFlags to pass to the compile command when building 5056614d157SJoseph Koshy.Xr sendmail 8 . 5066614d157SJoseph KoshyThe 5076614d157SJoseph Koshy.Va SENDMAIL_* 5086614d157SJoseph Koshyflags can be used to provide SASL support with setting such as: 5096614d157SJoseph Koshy.Bd -literal -offset indent 5106614d157SJoseph KoshySENDMAIL_CFLAGS=-I/usr/local/include -DSASL 5116614d157SJoseph KoshySENDMAIL_LDFLAGS=-L/usr/local/lib 5126614d157SJoseph KoshySENDMAIL_LDADD=-lsasl 5136614d157SJoseph Koshy.Ed 5146614d157SJoseph Koshy.It Va SENDMAIL_CF_DIR 5156614d157SJoseph Koshy.Pq Vt str 5166614d157SJoseph KoshyOverride the default location for the 5176614d157SJoseph Koshy.Xr m4 1 5186614d157SJoseph Koshyconfiguration files used to build a 5196614d157SJoseph Koshy.Pa .cf 5206614d157SJoseph Koshyfile from a 5216614d157SJoseph Koshy.Pa .mc 5226614d157SJoseph Koshyfile. 5236614d157SJoseph Koshy.It Va SENDMAIL_DPADD 5246614d157SJoseph Koshy.Pq Vt str 5256614d157SJoseph KoshyExtra dependencies to add when building 5266614d157SJoseph Koshy.Xr sendmail 8 . 5276614d157SJoseph Koshy.It Va SENDMAIL_LDADD 5286614d157SJoseph Koshy.Pq Vt str 5296614d157SJoseph KoshyFlags to add to the end of the 5306614d157SJoseph Koshy.Xr ld 1 5316614d157SJoseph Koshycommand when building 5326614d157SJoseph Koshy.Xr sendmail 8 . 5336614d157SJoseph Koshy.It Va SENDMAIL_LDFLAGS 5346614d157SJoseph Koshy.Pq Vt str 5356614d157SJoseph KoshyFlags to pass to the 5366614d157SJoseph Koshy.Xr ld 1 5376614d157SJoseph Koshycommand when building 5386614d157SJoseph Koshy.Xr sendmail 8 . 5396614d157SJoseph Koshy.It Va SENDMAIL_M4_FLAGS 5406614d157SJoseph Koshy.Pq Vt str 5416614d157SJoseph KoshyFlags passed to 5426614d157SJoseph Koshy.Xr m4 1 5436614d157SJoseph Koshywhen building a 5446614d157SJoseph Koshy.Pa .cf 5456614d157SJoseph Koshyfile from a 5466614d157SJoseph Koshy.Pa .mc 5476614d157SJoseph Koshyfile. 5486614d157SJoseph Koshy.It Va SENDMAIL_MAP_PERMS 5496614d157SJoseph Koshy.Pq Vt str 5506614d157SJoseph KoshyMode to use when generating alias and map database files using 5516614d157SJoseph Koshy.Pa /etc/mail/Makefile . 5526614d157SJoseph KoshyThe default value is 0640. 55325219d25SGregory Neil Shapiro.It Va SENDMAIL_MC 55434455342SDima Dorfman.Pq Vt str 555bf7f20c2SRuslan ErmilovThe default 556bf7f20c2SRuslan Ermilov.Xr m4 1 557bf7f20c2SRuslan Ermilovconfiguration file to use at install time. 55801f72632SRuslan ErmilovThe value should include the full path to the 55901f72632SRuslan Ermilov.Pa .mc 56001f72632SRuslan Ermilovfile, e.g., 561d1885c41SGregory Neil Shapiro.Pa /etc/mail/myconfig.mc . 56225219d25SGregory Neil ShapiroUse with caution as a make install will overwrite any existing 56325219d25SGregory Neil Shapiro.Pa /etc/mail/sendmail.cf . 56425219d25SGregory Neil ShapiroNote that 56525219d25SGregory Neil Shapiro.Va SENDMAIL_CF 56625219d25SGregory Neil Shapirois now deprecated. 5676614d157SJoseph Koshy.It Va SENDMAIL_SET_USER_ID 5686614d157SJoseph Koshy.Pq Vt bool 5696614d157SJoseph KoshyIf set, install 5706614d157SJoseph Koshy.Xr sendmail 8 5716614d157SJoseph Koshyas a set-user-ID root binary instead of a set-group-ID binary 5726614d157SJoseph Koshyand do not install 5736614d157SJoseph Koshy.Pa /etc/mail/submit.{cf,mc} . 5746614d157SJoseph KoshyUse of this flag is not recommended and the alternative advice in 5756614d157SJoseph Koshy.Pa /etc/mail/README 5766614d157SJoseph Koshyshould be followed instead if at all possible. 57714d6d765SGregory Neil Shapiro.It Va SENDMAIL_SUBMIT_MC 57814d6d765SGregory Neil Shapiro.Pq Vt str 579bf7f20c2SRuslan ErmilovThe default 580bf7f20c2SRuslan Ermilov.Xr m4 1 581bf7f20c2SRuslan Ermilovconfiguration file for mail submission 58214d6d765SGregory Neil Shapiroto use at install time. 58314d6d765SGregory Neil ShapiroThe value should include the full path to the 58414d6d765SGregory Neil Shapiro.Pa .mc 58514d6d765SGregory Neil Shapirofile, e.g., 58614d6d765SGregory Neil Shapiro.Pa /etc/mail/mysubmit.mc . 58714d6d765SGregory Neil ShapiroUse with caution as a make install will overwrite any existing 58814d6d765SGregory Neil Shapiro.Pa /etc/mail/submit.cf . 589a19f1419STom Rhodes.It Va TOP_TABLE_SIZE 590a19f1419STom Rhodes.Pq Vt int 591a19f1419STom Rhodes.Xr top 1 592d962d52aSRuslan Ermilovuses a hash table for the user names. 593d962d52aSRuslan ErmilovThe size of this hash can be tuned to match the number of local users. 594d962d52aSRuslan ErmilovThe table size should be a prime number 595a19f1419STom Rhodesapproximately twice as large as the number of lines in 596a19f1419STom Rhodes.Pa /etc/passwd . 597a19f1419STom RhodesThe default number is 20011. 598d5499896SDavid E. O'Brien.It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE 599d5499896SDavid E. O'Brien.Pq Vt int 600d5499896SDavid E. O'BrienCauses the system compiler to be built such that it forces high optimization 601d5499896SDavid E. O'Brienlevels to a lower one. 60230b39270SRuslan Ermilov.Xr gcc 1 60330b39270SRuslan Ermilov.Fl O2 60430b39270SRuslan Ermilovand above is known to trigger known optimizer bugs at various 60530b39270SRuslan Ermilovtimes \(em this is worse on the Alpha platform. 606d5499896SDavid E. O'BrienThe value assigned is the highest optimization value used. 607786aa69aSBen Smithurst.El 608addbe0bcSJoseph Koshy.Ss "BUILDING DOCUMENTATION" 609786aa69aSBen Smithurst.Pp 610786aa69aSBen SmithurstThe following list provides a name and short description for variables 611786aa69aSBen Smithurstthat are used when building documentation. 612addbe0bcSJoseph Koshy.Bl -tag -width ".Va PRINTERDEVICE" 6139c488872SRuslan Ermilov.It Va DISTDIR 61434455342SDima Dorfman.Pq Vt str 6159c488872SRuslan ErmilovWhere distfiles are kept. 6169c488872SRuslan ErmilovNormally, this is 617786aa69aSBen Smithurst.Pa distfiles 618786aa69aSBen Smithurstin 6199c488872SRuslan Ermilov.Va PORTSDIR . 6209c488872SRuslan Ermilov.It Va DOC_LANG 62134455342SDima Dorfman.Pq Vt str 6229c488872SRuslan ErmilovThe list of languages and encodings to build and install. 6239c488872SRuslan Ermilov.It Va PRINTERDEVICE 62434455342SDima Dorfman.Pq Vt str 6259c488872SRuslan ErmilovThe default format for system documentation, depends on your 6269c488872SRuslan Ermilovprinter. 6279c488872SRuslan ErmilovThis can be set to 628786aa69aSBen Smithurst.Dq Li ascii 629e5f3fe8cSRuslan Ermilovfor simple printers, or 630786aa69aSBen Smithurst.Dq Li ps 631786aa69aSBen Smithurstfor postscript or graphics printers with a ghostscript 632e5f3fe8cSRuslan Ermilovfilter, or both. 633786aa69aSBen Smithurst.El 634786aa69aSBen Smithurst.Sh FILES 6351ca805f2SRuslan Ermilov.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact 636786aa69aSBen Smithurst.It Pa /etc/make.conf 637786aa69aSBen Smithurst.It Pa /usr/doc/Makefile 6381ca805f2SRuslan Ermilov.It Pa /usr/share/examples/etc/make.conf 639253c3c73SYaroslav Tykhiy.It Pa /usr/share/mk/sys.mk 640786aa69aSBen Smithurst.It Pa /usr/src/Makefile 641786aa69aSBen Smithurst.It Pa /usr/src/Makefile.inc1 6423136363fSRuslan Ermilov.El 643786aa69aSBen Smithurst.Sh SEE ALSO 644786aa69aSBen Smithurst.Xr gcc 1 , 645786aa69aSBen Smithurst.Xr install 1 , 646786aa69aSBen Smithurst.Xr make 1 , 647862aa05fSRuslan Ermilov.Xr src.conf 5 , 648253c3c73SYaroslav Tykhiy.Xr environ 7 , 649786aa69aSBen Smithurst.Xr ports 7 , 650862aa05fSRuslan Ermilov.Xr sendmail 8 651786aa69aSBen Smithurst.Sh HISTORY 652786aa69aSBen SmithurstThe 653786aa69aSBen Smithurst.Nm 654786aa69aSBen Smithurstfile appeared sometime before 655786aa69aSBen Smithurst.Fx 4.0 . 656786aa69aSBen Smithurst.Sh AUTHORS 6579c488872SRuslan ErmilovThis 6589c488872SRuslan Ermilovmanual page was written by 659786aa69aSBen Smithurst.An Mike W. Meyer Aq mwm@mired.org . 660265733aaSBen Smithurst.Sh BUGS 661265733aaSBen SmithurstThis manual page may occasionally be out of date with respect to 662265733aaSBen Smithurstthe options currently available for use in 6633136363fSRuslan Ermilov.Nm . 664265733aaSBen SmithurstPlease check the 665d33a962dSAlexander Langer.Pa /usr/share/examples/etc/make.conf 666265733aaSBen Smithurstfile for the latest options which are available. 6672f29b444SHartmut Brandt.Sh CAVEATS 6682f29b444SHartmut BrandtNote, that 6692f29b444SHartmut Brandt.Ev MAKEOBJDIRPREFIX 6702f29b444SHartmut Brandtand 6712f29b444SHartmut Brandt.Ev MAKEOBJDIR 6722f29b444SHartmut Brandtare environment variables and should not be set in 6732f29b444SHartmut Brandt.Nm 6742f29b444SHartmut Brandtbut in make's environment. 675