bsd.own.mk revision 243392
1135446Strhodes# $FreeBSD: head/share/mk/bsd.own.mk 243392 2012-11-22 04:50:42Z sjg $ 2218384Sdougb# 3135446Strhodes# The include file <bsd.own.mk> set common variables for owner, 4135446Strhodes# group, mode, and directories. Defaults are in brackets. 5193149Sdougb# 6135446Strhodes# 7135446Strhodes# +++ variables +++ 8135446Strhodes# 9135446Strhodes# DESTDIR Change the tree where the file gets installed. [not set] 10135446Strhodes# 11135446Strhodes# DISTDIR Change the tree where the file for a distribution 12135446Strhodes# gets installed (see /usr/src/release/Makefile). [not set] 13135446Strhodes# 14135446Strhodes# COMPRESS_CMD Program to compress documents. 15135446Strhodes# Output is to stdout. [gzip -cn] 16135446Strhodes# 17135446Strhodes# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 18234010Sdougb# 19135446Strhodes# BINOWN Binary owner. [root] 20170222Sdougb# 21170222Sdougb# BINGRP Binary group. [wheel] 22135446Strhodes# 23135446Strhodes# BINMODE Binary mode. [555] 24170222Sdougb# 25170222Sdougb# NOBINMODE Mode for non-executable files. [444] 26170222Sdougb# 27170222Sdougb# LIBDIR Base path for libraries. [/usr/lib] 28135446Strhodes# 29135446Strhodes# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 30135446Strhodes# 31135446Strhodes# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 32135446Strhodes# 33135446Strhodes# LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec] 34135446Strhodes# 35135446Strhodes# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 36135446Strhodes# 37135446Strhodes# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 38135446Strhodes# 39135446Strhodes# LIBOWN Library owner. [${BINOWN}] 40135446Strhodes# 41135446Strhodes# LIBGRP Library group. [${BINGRP}] 42135446Strhodes# 43135446Strhodes# LIBMODE Library mode. [${NOBINMODE}] 44135446Strhodes# 45135446Strhodes# 46135446Strhodes# KMODDIR Base path for loadable kernel modules 47135446Strhodes# (see kld(4)). [/boot/kernel] 48135446Strhodes# 49135446Strhodes# KMODOWN Kernel and KLD owner. [${BINOWN}] 50135446Strhodes# 51135446Strhodes# KMODGRP Kernel and KLD group. [${BINGRP}] 52135446Strhodes# 53135446Strhodes# KMODMODE KLD mode. [${BINMODE}] 54135446Strhodes# 55135446Strhodes# 56135446Strhodes# SHAREDIR Base path for architecture-independent ascii 57135446Strhodes# text files. [/usr/share] 58135446Strhodes# 59135446Strhodes# SHAREOWN ASCII text file owner. [root] 60135446Strhodes# 61170222Sdougb# SHAREGRP ASCII text file group. [wheel] 62170222Sdougb# 63135446Strhodes# SHAREMODE ASCII text file mode. [${NOBINMODE}] 64135446Strhodes# 65170222Sdougb# 66135446Strhodes# CONFDIR Base path for configuration files. [/etc] 67170222Sdougb# 68135446Strhodes# CONFOWN Configuration file owner. [root] 69135446Strhodes# 70170222Sdougb# CONFGRP Configuration file group. [wheel] 71135446Strhodes# 72135446Strhodes# CONFMODE Configuration file mode. [644] 73135446Strhodes# 74135446Strhodes# 75135446Strhodes# DOCDIR Base path for system documentation (e.g. PSD, USD, 76135446Strhodes# handbook, FAQ etc.). [${SHAREDIR}/doc] 77170222Sdougb# 78135446Strhodes# DOCOWN Documentation owner. [${SHAREOWN}] 79135446Strhodes# 80135446Strhodes# DOCGRP Documentation group. [${SHAREGRP}] 81135446Strhodes# 82170222Sdougb# DOCMODE Documentation mode. [${NOBINMODE}] 83135446Strhodes# 84135446Strhodes# 85135446Strhodes# INFODIR Base path for GNU's hypertext system 86135446Strhodes# called Info (see info(1)). [${SHAREDIR}/info] 87135446Strhodes# 88135446Strhodes# INFOOWN Info owner. [${SHAREOWN}] 89135446Strhodes# 90135446Strhodes# INFOGRP Info group. [${SHAREGRP}] 91170222Sdougb# 92135446Strhodes# INFOMODE Info mode. [${NOBINMODE}] 93170222Sdougb# 94170222Sdougb# 95170222Sdougb# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 96170222Sdougb# 97170222Sdougb# MANOWN Manual owner. [${SHAREOWN}] 98135446Strhodes# 99135446Strhodes# MANGRP Manual group. [${SHAREGRP}] 100135446Strhodes# 101135446Strhodes# MANMODE Manual mode. [${NOBINMODE}] 102135446Strhodes# 103135446Strhodes# 104135446Strhodes# NLSDIR Base path for National Language Support files 105135446Strhodes# installation. [${SHAREDIR}/nls] 106135446Strhodes# 107135446Strhodes# NLSOWN National Language Support files owner. [${SHAREOWN}] 108135446Strhodes# 109135446Strhodes# NLSGRP National Language Support files group. [${SHAREGRP}] 110135446Strhodes# 111135446Strhodes# NLSMODE National Language Support files mode. [${NOBINMODE}] 112135446Strhodes# 113170222Sdougb# INCLUDEDIR Base path for standard C include files [/usr/include] 114135446Strhodes 115170222Sdougb.if !target(__<bsd.own.mk>__) 116170222Sdougb__<bsd.own.mk>__: 117170222Sdougb 118170222Sdougb.if !defined(_WITHOUT_SRCCONF) 119170222SdougbSRCCONF?= /etc/src.conf 120170222Sdougb.if exists(${SRCCONF}) 121135446Strhodes.include "${SRCCONF}" 122135446Strhodes.endif 123135446Strhodes.endif 124135446Strhodes 125135446Strhodes# Binaries 126135446StrhodesBINOWN?= root 127135446StrhodesBINGRP?= wheel 128135446StrhodesBINMODE?= 555 129135446StrhodesNOBINMODE?= 444 130135446Strhodes 131135446Strhodes.if defined(MODULES_WITH_WORLD) 132135446StrhodesKMODDIR?= /boot/modules 133135446Strhodes.else 134135446StrhodesKMODDIR?= /boot/kernel 135135446Strhodes.endif 136135446StrhodesKMODOWN?= ${BINOWN} 137135446StrhodesKMODGRP?= ${BINGRP} 138135446StrhodesKMODMODE?= ${BINMODE} 139135446Strhodes 140135446StrhodesLIBDIR?= /usr/lib 141135446StrhodesLIBCOMPATDIR?= /usr/lib/compat 142135446StrhodesLIBDATADIR?= /usr/libdata 143135446StrhodesLIBEXECDIR?= /usr/libexec 144170222SdougbLINTLIBDIR?= /usr/libdata/lint 145135446StrhodesSHLIBDIR?= ${LIBDIR} 146135446StrhodesLIBOWN?= ${BINOWN} 147135446StrhodesLIBGRP?= ${BINGRP} 148135446StrhodesLIBMODE?= ${NOBINMODE} 149135446Strhodes 150135446Strhodes 151135446Strhodes# Share files 152135446StrhodesSHAREDIR?= /usr/share 153135446StrhodesSHAREOWN?= root 154135446StrhodesSHAREGRP?= wheel 155135446StrhodesSHAREMODE?= ${NOBINMODE} 156135446Strhodes 157135446StrhodesCONFDIR?= /etc 158170222SdougbCONFOWN?= root 159170222SdougbCONFGRP?= wheel 160170222SdougbCONFMODE?= 644 161170222Sdougb 162135446StrhodesMANDIR?= ${SHAREDIR}/man/man 163170222SdougbMANOWN?= ${SHAREOWN} 164170222SdougbMANGRP?= ${SHAREGRP} 165135446StrhodesMANMODE?= ${NOBINMODE} 166135446Strhodes 167135446StrhodesDOCDIR?= ${SHAREDIR}/doc 168135446StrhodesDOCOWN?= ${SHAREOWN} 169135446StrhodesDOCGRP?= ${SHAREGRP} 170135446StrhodesDOCMODE?= ${NOBINMODE} 171135446Strhodes 172170222SdougbINFODIR?= ${SHAREDIR}/info 173135446StrhodesINFOOWN?= ${SHAREOWN} 174170222SdougbINFOGRP?= ${SHAREGRP} 175170222SdougbINFOMODE?= ${NOBINMODE} 176135446Strhodes 177135446StrhodesNLSDIR?= ${SHAREDIR}/nls 178135446StrhodesNLSOWN?= ${SHAREOWN} 179135446StrhodesNLSGRP?= ${SHAREGRP} 180135446StrhodesNLSMODE?= ${NOBINMODE} 181135446Strhodes 182135446StrhodesINCLUDEDIR?= /usr/include 183135446Strhodes 184135446Strhodes# Common variables 185135446Strhodes.if !defined(DEBUG_FLAGS) 186135446StrhodesSTRIP?= -s 187135446Strhodes.endif 188135446Strhodes 189135446StrhodesCOMPRESS_CMD?= gzip -cn 190135446StrhodesCOMPRESS_EXT?= .gz 191170222Sdougb 192135446Strhodes.if !defined(_WITHOUT_SRCCONF) 193135446Strhodes# 194135446Strhodes# Define MK_* variables (which are either "yes" or "no") for users 195135446Strhodes# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 196135446Strhodes# make(1) environment. 197135446Strhodes# These should be tested with `== "no"' or `!= "no"' in makefiles. 198135446Strhodes# The NO_* variables should only be set by makefiles. 199135446Strhodes# 200135446Strhodes 201135446Strhodes# 202135446Strhodes# Supported NO_* options (if defined, MK_* will be forced to "no", 203135446Strhodes# regardless of user's setting). 204135446Strhodes# 205135446Strhodes.for var in \ 206135446Strhodes CTF \ 207135446Strhodes INSTALLLIB \ 208135446Strhodes MAN \ 209135446Strhodes PROFILE 210135446Strhodes.if defined(NO_${var}) 211135446Strhodes.if defined(WITH_${var}) 212135446Strhodes.undef WITH_${var} 213135446Strhodes.endif 214135446StrhodesWITHOUT_${var}= 215135446Strhodes.endif 216135446Strhodes.endfor 217135446Strhodes 218135446Strhodes# 219135446Strhodes# Compat NO_* options (same as above, except their use is deprecated). 220135446Strhodes# 221135446Strhodes.if !defined(BURN_BRIDGES) 222170222Sdougb.for var in \ 223135446Strhodes ACPI \ 224135446Strhodes ATM \ 225135446Strhodes AUDIT \ 226135446Strhodes AUTHPF \ 227135446Strhodes BIND \ 228135446Strhodes BIND_DNSSEC \ 229135446Strhodes BIND_ETC \ 230135446Strhodes BIND_LIBS_LWRES \ 231135446Strhodes BIND_MTREE \ 232135446Strhodes BIND_NAMED \ 233135446Strhodes BIND_UTILS \ 234135446Strhodes BLUETOOTH \ 235135446Strhodes BOOT \ 236170222Sdougb CALENDAR \ 237135446Strhodes CPP \ 238135446Strhodes CRYPT \ 239135446Strhodes CVS \ 240135446Strhodes CXX \ 241135446Strhodes DICT \ 242135446Strhodes DYNAMICROOT \ 243135446Strhodes EXAMPLES \ 244135446Strhodes FORTH \ 245170222Sdougb FP_LIBC \ 246135446Strhodes GAMES \ 247135446Strhodes GCOV \ 248135446Strhodes GDB \ 249135446Strhodes GNU \ 250135446Strhodes GPIB \ 251135446Strhodes GROFF \ 252135446Strhodes HTML \ 253135446Strhodes INET6 \ 254135446Strhodes INFO \ 255135446Strhodes IPFILTER \ 256135446Strhodes IPX \ 257135446Strhodes KDUMP \ 258135446Strhodes KERBEROS \ 259170222Sdougb LIB32 \ 260135446Strhodes LIBPTHREAD \ 261135446Strhodes LIBTHR \ 262135446Strhodes LOCALES \ 263135446Strhodes LPR \ 264135446Strhodes MAILWRAPPER \ 265135446Strhodes NETCAT \ 266135446Strhodes NIS \ 267135446Strhodes NLS \ 268170222Sdougb NLS_CATALOGS \ 269135446Strhodes NS_CACHING \ 270135446Strhodes OPENSSH \ 271135446Strhodes OPENSSL \ 272135446Strhodes PAM \ 273135446Strhodes PF \ 274135446Strhodes RCMDS \ 275135446Strhodes RCS \ 276135446Strhodes RESCUE \ 277135446Strhodes SENDMAIL \ 278135446Strhodes SETUID_LOGIN \ 279135446Strhodes SHAREDOCS \ 280135446Strhodes SYSCONS \ 281135446Strhodes TCSH \ 282135446Strhodes TOOLCHAIN \ 283135446Strhodes USB \ 284135446Strhodes WPA_SUPPLICANT_EAPOL 285135446Strhodes.if defined(NO_${var}) 286218384Sdougb#.warning NO_${var} is deprecated in favour of WITHOUT_${var}= 287218384SdougbWITHOUT_${var}= 288218384Sdougb.endif 289218384Sdougb.endfor 290218384Sdougb.endif # !defined(BURN_BRIDGES) 291135446Strhodes 292135446Strhodes# 293135446Strhodes# Older-style variables that enabled behaviour when set. 294135446Strhodes# 295135446Strhodes.if defined(YES_HESIOD) 296193149SdougbWITH_HESIOD= 297135446Strhodes.endif 298135446Strhodes.if defined(MAKE_IDEA) 299135446StrhodesWITH_IDEA= 300135446Strhodes.endif 301135446Strhodes 302135446Strhodes__DEFAULT_YES_OPTIONS = \ 303135446Strhodes ACCT \ 304135446Strhodes ACPI \ 305135446Strhodes AMD \ 306170222Sdougb APM \ 307135446Strhodes ASSERT_DEBUG \ 308135446Strhodes AT \ 309135446Strhodes ATF \ 310135446Strhodes ATM \ 311135446Strhodes AUDIT \ 312135446Strhodes AUTHPF \ 313135446Strhodes BIND \ 314135446Strhodes BIND_DNSSEC \ 315135446Strhodes BIND_ETC \ 316135446Strhodes BIND_LIBS_LWRES \ 317135446Strhodes BIND_MTREE \ 318135446Strhodes BIND_NAMED \ 319135446Strhodes BIND_UTILS \ 320135446Strhodes BINUTILS \ 321135446Strhodes BLUETOOTH \ 322135446Strhodes BOOT \ 323135446Strhodes BSD_CPIO \ 324135446Strhodes BSNMP \ 325135446Strhodes SOURCELESS \ 326135446Strhodes SOURCELESS_HOST \ 327135446Strhodes SOURCELESS_UCODE \ 328135446Strhodes BZIP2 \ 329135446Strhodes CALENDAR \ 330135446Strhodes CAPSICUM \ 331135446Strhodes CDDL \ 332135446Strhodes CPP \ 333135446Strhodes CRYPT \ 334135446Strhodes CTM \ 335135446Strhodes CVS \ 336135446Strhodes CXX \ 337135446Strhodes DICT \ 338135446Strhodes DYNAMICROOT \ 339135446Strhodes ED_CRYPTO \ 340135446Strhodes EXAMPLES \ 341135446Strhodes FLOPPY \ 342135446Strhodes FORTH \ 343135446Strhodes FP_LIBC \ 344135446Strhodes FREEBSD_UPDATE \ 345135446Strhodes GAMES \ 346135446Strhodes GCC \ 347135446Strhodes GCOV \ 348135446Strhodes GDB \ 349135446Strhodes GNU \ 350135446Strhodes GPIB \ 351135446Strhodes GPIO \ 352135446Strhodes GROFF \ 353135446Strhodes HTML \ 354135446Strhodes INET \ 355135446Strhodes INET6 \ 356135446Strhodes INFO \ 357135446Strhodes INSTALLLIB \ 358135446Strhodes IPFILTER \ 359135446Strhodes IPFW \ 360135446Strhodes IPX \ 361135446Strhodes JAIL \ 362135446Strhodes KDUMP \ 363135446Strhodes KERBEROS \ 364135446Strhodes KERNEL_SYMBOLS \ 365135446Strhodes KVM \ 366135446Strhodes LEGACY_CONSOLE \ 367135446Strhodes LIB32 \ 368135446Strhodes LIBPTHREAD \ 369135446Strhodes LIBTHR \ 370135446Strhodes LOCALES \ 371135446Strhodes LOCATE \ 372135446Strhodes LPR \ 373135446Strhodes LS_COLORS \ 374135446Strhodes MAIL \ 375135446Strhodes MAILWRAPPER \ 376170222Sdougb MAKE \ 377135446Strhodes MAN \ 378135446Strhodes NDIS \ 379135446Strhodes NETCAT \ 380135446Strhodes NETGRAPH \ 381135446Strhodes NIS \ 382135446Strhodes NLS \ 383135446Strhodes NLS_CATALOGS \ 384135446Strhodes NS_CACHING \ 385135446Strhodes NTP \ 386135446Strhodes OPENSSH \ 387135446Strhodes OPENSSL \ 388135446Strhodes PAM \ 389135446Strhodes PF \ 390135446Strhodes PKGBOOTSTRAP \ 391135446Strhodes PKGTOOLS \ 392135446Strhodes PMC \ 393135446Strhodes PORTSNAP \ 394135446Strhodes PPP \ 395135446Strhodes PROFILE \ 396170222Sdougb QUOTAS \ 397135446Strhodes RCMDS \ 398135446Strhodes RCS \ 399135446Strhodes RESCUE \ 400135446Strhodes ROUTED \ 401135446Strhodes SENDMAIL \ 402135446Strhodes SETUID_LOGIN \ 403135446Strhodes SHAREDOCS \ 404135446Strhodes SSP \ 405135446Strhodes SYSINSTALL \ 406135446Strhodes SYMVER \ 407135446Strhodes SYSCONS \ 408135446Strhodes TCSH \ 409135446Strhodes TELNET \ 410135446Strhodes TEXTPROC \ 411135446Strhodes TOOLCHAIN \ 412135446Strhodes USB \ 413135446Strhodes UTMPX \ 414135446Strhodes WIRELESS \ 415135446Strhodes WPA_SUPPLICANT_EAPOL \ 416135446Strhodes ZFS \ 417135446Strhodes ZONEINFO 418135446Strhodes 419135446Strhodes__DEFAULT_NO_OPTIONS = \ 420135446Strhodes BMAKE \ 421135446Strhodes BSD_GREP \ 422135446Strhodes BIND_IDN \ 423135446Strhodes BIND_LARGE_FILE \ 424135446Strhodes BIND_LIBS \ 425135446Strhodes BIND_SIGCHASE \ 426135446Strhodes BIND_XML \ 427135446Strhodes BSDCONFIG \ 428135446Strhodes CLANG_EXTRAS \ 429135446Strhodes CTF \ 430135446Strhodes HESIOD \ 431135446Strhodes ICONV \ 432135446Strhodes IDEA \ 433135446Strhodes INSTALL_AS_USER \ 434135446Strhodes NAND \ 435135446Strhodes OFED \ 436135446Strhodes SHARED_TOOLCHAIN 437135446Strhodes 438135446Strhodes# 439135446Strhodes# Default behaviour of some options depends on the architecture. Unfortunately 440135446Strhodes# this means that we have to test TARGET_ARCH (the buildworld case) as well 441135446Strhodes# as MACHINE_ARCH (the non-buildworld case). Normally TARGET_ARCH is not 442135446Strhodes# used at all in bsd.*.mk, but we have to make an exception here if we want 443135446Strhodes# to allow defaults for some things like clang and fdt to vary by target 444135446Strhodes# architecture. 445135446Strhodes# 446135446Strhodes.if defined(TARGET_ARCH) 447135446Strhodes__T=${TARGET_ARCH} 448135446Strhodes.else 449135446Strhodes__T=${MACHINE_ARCH} 450135446Strhodes.endif 451135446Strhodes# Clang is only for x86 and powerpc right now, by default. 452135446Strhodes.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*} 453135446Strhodes__DEFAULT_YES_OPTIONS+=CLANG 454135446Strhodes.else 455135446Strhodes__DEFAULT_NO_OPTIONS+=CLANG 456135446Strhodes.endif 457135446Strhodes# Clang the default system compiler only on x86. 458135446Strhodes.if ${__T} == "amd64" || ${__T} == "i386" 459135446Strhodes__DEFAULT_YES_OPTIONS+=CLANG_IS_CC 460135446Strhodes.else 461135446Strhodes__DEFAULT_NO_OPTIONS+=CLANG_IS_CC 462135446Strhodes.endif 463135446Strhodes# FDT is needed only for arm, mips and powerpc 464135446Strhodes.if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*} 465135446Strhodes__DEFAULT_YES_OPTIONS+=FDT 466135446Strhodes.else 467135446Strhodes__DEFAULT_NO_OPTIONS+=FDT 468135446Strhodes.endif 469135446Strhodes.undef __T 470135446Strhodes 471135446Strhodes# 472135446Strhodes# MK_* options which default to "yes". 473135446Strhodes# 474135446Strhodes.for var in ${__DEFAULT_YES_OPTIONS} 475135446Strhodes.if defined(WITH_${var}) && defined(WITHOUT_${var}) 476135446Strhodes.error WITH_${var} and WITHOUT_${var} can't both be set. 477135446Strhodes.endif 478135446Strhodes.if defined(MK_${var}) 479135446Strhodes.error MK_${var} can't be set by a user. 480135446Strhodes.endif 481135446Strhodes.if defined(WITHOUT_${var}) 482135446StrhodesMK_${var}:= no 483135446Strhodes.else 484135446StrhodesMK_${var}:= yes 485135446Strhodes.endif 486135446Strhodes.endfor 487135446Strhodes.undef __DEFAULT_YES_OPTIONS 488135446Strhodes 489135446Strhodes# 490135446Strhodes# MK_* options which default to "no". 491135446Strhodes# 492135446Strhodes.for var in ${__DEFAULT_NO_OPTIONS} 493135446Strhodes.if defined(WITH_${var}) && defined(WITHOUT_${var}) 494135446Strhodes.error WITH_${var} and WITHOUT_${var} can't both be set. 495135446Strhodes.endif 496135446Strhodes.if defined(MK_${var}) 497135446Strhodes.error MK_${var} can't be set by a user. 498135446Strhodes.endif 499135446Strhodes.if defined(WITH_${var}) 500135446StrhodesMK_${var}:= yes 501135446Strhodes.else 502135446StrhodesMK_${var}:= no 503135446Strhodes.endif 504135446Strhodes.endfor 505135446Strhodes.undef __DEFAULT_NO_OPTIONS 506135446Strhodes 507135446Strhodes# 508135446Strhodes# Force some options off if their dependencies are off. 509135446Strhodes# Order is somewhat important. 510135446Strhodes# 511135446Strhodes.if ${MK_LIBPTHREAD} == "no" 512135446StrhodesMK_LIBTHR:= no 513135446Strhodes.endif 514135446Strhodes 515135446Strhodes.if ${MK_LIBTHR} == "no" 516135446StrhodesMK_BIND:= no 517135446Strhodes.endif 518135446Strhodes 519135446Strhodes.if ${MK_BIND} == "no" 520135446StrhodesMK_BIND_DNSSEC:= no 521135446StrhodesMK_BIND_ETC:= no 522135446StrhodesMK_BIND_LIBS:= no 523135446StrhodesMK_BIND_LIBS_LWRES:= no 524135446StrhodesMK_BIND_MTREE:= no 525135446StrhodesMK_BIND_NAMED:= no 526135446StrhodesMK_BIND_UTILS:= no 527135446Strhodes.endif 528135446Strhodes 529135446Strhodes.if ${MK_BIND_MTREE} == "no" 530135446StrhodesMK_BIND_ETC:= no 531135446Strhodes.endif 532135446Strhodes 533135446Strhodes.if ${MK_SOURCELESS} == "no" 534135446StrhodesMK_SOURCELESS_HOST:= no 535135446StrhodesMK_SOURCELESS_UCODE:= no 536135446Strhodes.endif 537135446Strhodes 538135446Strhodes.if ${MK_CDDL} == "no" 539135446StrhodesMK_ZFS:= no 540135446StrhodesMK_CTF:= no 541135446Strhodes.endif 542135446Strhodes 543135446Strhodes.if ${MK_CLANG} == "no" 544135446StrhodesMK_CLANG_EXTRAS:= no 545135446Strhodes.endif 546135446Strhodes 547135446Strhodes.if ${MK_CRYPT} == "no" 548135446StrhodesMK_OPENSSL:= no 549135446StrhodesMK_OPENSSH:= no 550135446StrhodesMK_KERBEROS:= no 551135446Strhodes.endif 552135446Strhodes 553135446Strhodes.if ${MK_CXX} == "no" 554135446StrhodesMK_CLANG:= no 555135446StrhodesMK_GROFF:= no 556135446Strhodes.endif 557135446Strhodes 558135446Strhodes.if ${MK_MAIL} == "no" 559135446StrhodesMK_MAILWRAPPER:= no 560135446StrhodesMK_SENDMAIL:= no 561135446Strhodes.endif 562135446Strhodes 563135446Strhodes.if ${MK_NETGRAPH} == "no" 564135446StrhodesMK_ATM:= no 565135446StrhodesMK_BLUETOOTH:= no 566135446Strhodes.endif 567135446Strhodes 568135446Strhodes.if ${MK_OPENSSL} == "no" 569135446StrhodesMK_OPENSSH:= no 570135446StrhodesMK_KERBEROS:= no 571135446Strhodes.endif 572135446Strhodes 573135446Strhodes.if ${MK_PF} == "no" 574135446StrhodesMK_AUTHPF:= no 575135446Strhodes.endif 576135446Strhodes 577135446Strhodes.if ${MK_TEXTPROC} == "no" 578135446StrhodesMK_GROFF:= no 579135446Strhodes.endif 580135446Strhodes 581135446Strhodes.if ${MK_TOOLCHAIN} == "no" 582135446StrhodesMK_BINUTILS:= no 583135446StrhodesMK_CLANG:= no 584135446StrhodesMK_GCC:= no 585135446StrhodesMK_GDB:= no 586135446Strhodes.endif 587135446Strhodes 588135446Strhodes.if ${MK_CLANG} == "no" 589135446StrhodesMK_CLANG_IS_CC:= no 590135446Strhodes.endif 591135446Strhodes 592135446Strhodes# 593135446Strhodes# Set defaults for the MK_*_SUPPORT variables. 594135446Strhodes# 595135446Strhodes 596135446Strhodes# 597135446Strhodes# MK_*_SUPPORT options which default to "yes" unless their corresponding 598135446Strhodes# MK_* variable is set to "no". 599135446Strhodes# 600135446Strhodes.for var in \ 601135446Strhodes BZIP2 \ 602135446Strhodes GNU \ 603135446Strhodes INET \ 604135446Strhodes INET6 \ 605135446Strhodes IPX \ 606135446Strhodes KERBEROS \ 607135446Strhodes KVM \ 608135446Strhodes NETGRAPH \ 609135446Strhodes PAM \ 610135446Strhodes WIRELESS 611135446Strhodes.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 612135446Strhodes.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 613135446Strhodes.endif 614135446Strhodes.if defined(MK_${var}_SUPPORT) 615135446Strhodes.error MK_${var}_SUPPORT can't be set by a user. 616135446Strhodes.endif 617135446Strhodes.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 618135446StrhodesMK_${var}_SUPPORT:= no 619135446Strhodes.else 620135446StrhodesMK_${var}_SUPPORT:= yes 621135446Strhodes.endif 622135446Strhodes.endfor 623135446Strhodes 624135446Strhodes# 625135446Strhodes# MK_* options whose default value depends on another option. 626135446Strhodes# 627135446Strhodes.for vv in \ 628135446Strhodes GSSAPI/KERBEROS \ 629135446Strhodes MAN_UTILS/MAN 630135446Strhodes.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H}) 631135446Strhodes.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set. 632135446Strhodes.endif 633135446Strhodes.if defined(MK_${vv:H}) 634135446Strhodes.error MK_${vv:H} can't be set by a user. 635135446Strhodes.endif 636135446Strhodes.if defined(WITH_${vv:H}) 637135446StrhodesMK_${vv:H}:= yes 638135446Strhodes.elif defined(WITHOUT_${vv:H}) 639135446StrhodesMK_${vv:H}:= no 640135446Strhodes.else 641135446StrhodesMK_${vv:H}:= ${MK_${vv:T}} 642135446Strhodes.endif 643135446Strhodes.endfor 644135446Strhodes 645135446Strhodes# 646135446Strhodes# MK_* options that default to "yes" if the compiler is a C++11 compiler. 647135446Strhodes# 648135446Strhodes.include <bsd.compiler.mk> 649135446Strhodes.for var in \ 650135446Strhodes LIBCPLUSPLUS 651135446Strhodes.if defined(WITH_${var}) && defined(WITHOUT_${var}) 652135446Strhodes.error WITH_${var} and WITHOUT_${var} can't both be set. 653135446Strhodes.endif 654135446Strhodes.if defined(MK_${var}) 655135446Strhodes.error MK_${var} can't be set by a user. 656135446Strhodes.endif 657135446Strhodes.if ${COMPILER_FEATURES:Mc++11} 658135446Strhodes.if defined(WITHOUT_${var}) 659135446StrhodesMK_${var}:= no 660135446Strhodes.else 661135446StrhodesMK_${var}:= yes 662135446Strhodes.endif 663135446Strhodes.else 664135446Strhodes.if defined(WITH_${var}) 665135446StrhodesMK_${var}:= yes 666135446Strhodes.else 667135446StrhodesMK_${var}:= no 668135446Strhodes.endif 669135446Strhodes.endif 670135446Strhodes.endfor 671135446Strhodes 672135446Strhodes.if ${MK_CTF} != "no" 673135446StrhodesCTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} 674135446Strhodes.elif defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300 675170222SdougbCTFCONVERT_CMD= 676135446Strhodes.else 677135446StrhodesCTFCONVERT_CMD= @: 678135446Strhodes.endif 679135446Strhodes 680135446Strhodes.if ${MK_INSTALL_AS_USER} != "no" 681135446Strhodes_uid!= id -u 682135446Strhodes.if ${_uid} != 0 683135446Strhodes.if !defined(USER) 684135446StrhodesUSER!= id -un 685135446Strhodes.endif 686135446Strhodes_gid!= id -gn 687135446Strhodes.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE 688170222Sdougb$xOWN= ${USER} 689170222Sdougb$xGRP= ${_gid} 690135446Strhodes.endfor 691135446Strhodes.endif 692135446Strhodes.endif 693135446Strhodes 694135446Strhodes.endif # !_WITHOUT_SRCCONF 695135446Strhodes 696135446Strhodes.endif # !target(__<bsd.own.mk>__) 697135446Strhodes