bsd.own.mk revision 256915
1283425Sdchagin# $FreeBSD: head/share/mk/bsd.own.mk 256915 2013-10-22 15:53:29Z brooks $ 2283425Sdchagin# 3283425Sdchagin# The include file <bsd.own.mk> set common variables for owner, 4283425Sdchagin# group, mode, and directories. Defaults are in brackets. 5283425Sdchagin# 6314107Sdchagin# 7283425Sdchagin# +++ variables +++ 8283425Sdchagin# 9283425Sdchagin# DESTDIR Change the tree where the file gets installed. [not set] 10283425Sdchagin# 11283425Sdchagin# DISTDIR Change the tree where the file for a distribution 12283425Sdchagin# gets installed (see /usr/src/release/Makefile). [not set] 13283425Sdchagin# 14283425Sdchagin# COMPRESS_CMD Program to compress documents. 15283425Sdchagin# Output is to stdout. [gzip -cn] 16283425Sdchagin# 17283425Sdchagin# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 18283425Sdchagin# 19283425Sdchagin# BINOWN Binary owner. [root] 20283425Sdchagin# 21283425Sdchagin# BINGRP Binary group. [wheel] 22283425Sdchagin# 23283425Sdchagin# BINMODE Binary mode. [555] 24283425Sdchagin# 25283425Sdchagin# NOBINMODE Mode for non-executable files. [444] 26283425Sdchagin# 27283425Sdchagin# LIBDIR Base path for libraries. [/usr/lib] 28283425Sdchagin# 29283425Sdchagin# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 30283425Sdchagin# 31283425Sdchagin# LIBPRIVATEDIR Base path for private libraries. [/usr/lib/private] 32283425Sdchagin# 33283425Sdchagin# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 34283425Sdchagin# 35283425Sdchagin# LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec] 36283425Sdchagin# 37283425Sdchagin# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 38283425Sdchagin# 39283425Sdchagin# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 40283425Sdchagin# 41283425Sdchagin# LIBOWN Library owner. [${BINOWN}] 42283425Sdchagin# 43283425Sdchagin# LIBGRP Library group. [${BINGRP}] 44283425Sdchagin# 45283425Sdchagin# LIBMODE Library mode. [${NOBINMODE}] 46283425Sdchagin# 47283425Sdchagin# 48283425Sdchagin# DEBUGDIR Base path for standalone debug files. [/usr/lib/debug] 49283425Sdchagin# 50283425Sdchagin# DEBUGMODE Mode for debug files. [${NOBINMODE}] 51283425Sdchagin# 52283425Sdchagin# 53283425Sdchagin# KMODDIR Base path for loadable kernel modules 54283425Sdchagin# (see kld(4)). [/boot/kernel] 55283425Sdchagin# 56283425Sdchagin# KMODOWN Kernel and KLD owner. [${BINOWN}] 57283425Sdchagin# 58283425Sdchagin# KMODGRP Kernel and KLD group. [${BINGRP}] 59283425Sdchagin# 60283425Sdchagin# KMODMODE KLD mode. [${BINMODE}] 61283425Sdchagin# 62283425Sdchagin# 63283425Sdchagin# SHAREDIR Base path for architecture-independent ascii 64283425Sdchagin# text files. [/usr/share] 65283425Sdchagin# 66283425Sdchagin# SHAREOWN ASCII text file owner. [root] 67283425Sdchagin# 68283425Sdchagin# SHAREGRP ASCII text file group. [wheel] 69283425Sdchagin# 70283425Sdchagin# SHAREMODE ASCII text file mode. [${NOBINMODE}] 71283425Sdchagin# 72283425Sdchagin# 73283425Sdchagin# CONFDIR Base path for configuration files. [/etc] 74283425Sdchagin# 75283425Sdchagin# CONFOWN Configuration file owner. [root] 76283425Sdchagin# 77283425Sdchagin# CONFGRP Configuration file group. [wheel] 78283425Sdchagin# 79283425Sdchagin# CONFMODE Configuration file mode. [644] 80283425Sdchagin# 81283425Sdchagin# 82283425Sdchagin# DOCDIR Base path for system documentation (e.g. PSD, USD, 83283425Sdchagin# handbook, FAQ etc.). [${SHAREDIR}/doc] 84283425Sdchagin# 85283425Sdchagin# DOCOWN Documentation owner. [${SHAREOWN}] 86283425Sdchagin# 87283425Sdchagin# DOCGRP Documentation group. [${SHAREGRP}] 88283425Sdchagin# 89283425Sdchagin# DOCMODE Documentation mode. [${NOBINMODE}] 90283425Sdchagin# 91283425Sdchagin# 92283425Sdchagin# INFODIR Base path for GNU's hypertext system 93283425Sdchagin# called Info (see info(1)). [${SHAREDIR}/info] 94283425Sdchagin# 95283425Sdchagin# INFOOWN Info owner. [${SHAREOWN}] 96283425Sdchagin# 97283425Sdchagin# INFOGRP Info group. [${SHAREGRP}] 98283425Sdchagin# 99283425Sdchagin# INFOMODE Info mode. [${NOBINMODE}] 100283425Sdchagin# 101283425Sdchagin# 102283425Sdchagin# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 103283425Sdchagin# 104283425Sdchagin# MANOWN Manual owner. [${SHAREOWN}] 105283425Sdchagin# 106283425Sdchagin# MANGRP Manual group. [${SHAREGRP}] 107283425Sdchagin# 108283425Sdchagin# MANMODE Manual mode. [${NOBINMODE}] 109283425Sdchagin# 110283425Sdchagin# 111283425Sdchagin# NLSDIR Base path for National Language Support files 112283425Sdchagin# installation. [${SHAREDIR}/nls] 113283425Sdchagin# 114283425Sdchagin# NLSOWN National Language Support files owner. [${SHAREOWN}] 115283425Sdchagin# 116283425Sdchagin# NLSGRP National Language Support files group. [${SHAREGRP}] 117283425Sdchagin# 118283425Sdchagin# NLSMODE National Language Support files mode. [${NOBINMODE}] 119283425Sdchagin# 120283425Sdchagin# INCLUDEDIR Base path for standard C include files [/usr/include] 121283425Sdchagin 122283425Sdchagin.if !target(__<bsd.own.mk>__) 123283425Sdchagin__<bsd.own.mk>__: 124283425Sdchagin 125283425Sdchagin.if !defined(_WITHOUT_SRCCONF) 126283425SdchaginSRCCONF?= /etc/src.conf 127283425Sdchagin.if exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf" 128283425Sdchagin.include "${SRCCONF}" 129283425Sdchagin.endif 130283425Sdchagin.endif 131283425Sdchagin 132283425Sdchagin# Binaries 133283425SdchaginBINOWN?= root 134283425SdchaginBINGRP?= wheel 135283425SdchaginBINMODE?= 555 136283425SdchaginNOBINMODE?= 444 137283425Sdchagin 138283425Sdchagin.if defined(MODULES_WITH_WORLD) 139283425SdchaginKMODDIR?= /boot/modules 140283425Sdchagin.else 141283425SdchaginKMODDIR?= /boot/kernel 142283425Sdchagin.endif 143283425SdchaginKMODOWN?= ${BINOWN} 144283425SdchaginKMODGRP?= ${BINGRP} 145283425SdchaginKMODMODE?= ${BINMODE} 146283425Sdchagin 147283425SdchaginLIBDIR?= /usr/lib 148283425SdchaginLIBCOMPATDIR?= /usr/lib/compat 149283425SdchaginLIBPRIVATEDIR?= /usr/lib/private 150283425SdchaginLIBDATADIR?= /usr/libdata 151283425SdchaginLIBEXECDIR?= /usr/libexec 152283425SdchaginLINTLIBDIR?= /usr/libdata/lint 153283425SdchaginSHLIBDIR?= ${LIBDIR} 154283425SdchaginLIBOWN?= ${BINOWN} 155283425SdchaginLIBGRP?= ${BINGRP} 156283425SdchaginLIBMODE?= ${NOBINMODE} 157283425Sdchagin 158283425SdchaginDEBUGDIR?= /usr/lib/debug 159283425SdchaginDEBUGMODE?= ${NOBINMODE} 160283425Sdchagin 161283425Sdchagin 162283425Sdchagin# Share files 163283425SdchaginSHAREDIR?= /usr/share 164283425SdchaginSHAREOWN?= root 165283425SdchaginSHAREGRP?= wheel 166283425SdchaginSHAREMODE?= ${NOBINMODE} 167283425Sdchagin 168283425SdchaginCONFDIR?= /etc 169283425SdchaginCONFOWN?= root 170283425SdchaginCONFGRP?= wheel 171283425SdchaginCONFMODE?= 644 172283425Sdchagin 173283425SdchaginMANDIR?= ${SHAREDIR}/man/man 174283425SdchaginMANOWN?= ${SHAREOWN} 175283425SdchaginMANGRP?= ${SHAREGRP} 176283425SdchaginMANMODE?= ${NOBINMODE} 177283425Sdchagin 178283425SdchaginDOCDIR?= ${SHAREDIR}/doc 179283425SdchaginDOCOWN?= ${SHAREOWN} 180283425SdchaginDOCGRP?= ${SHAREGRP} 181283425SdchaginDOCMODE?= ${NOBINMODE} 182283425Sdchagin 183283425SdchaginINFODIR?= ${SHAREDIR}/info 184283425SdchaginINFOOWN?= ${SHAREOWN} 185283425SdchaginINFOGRP?= ${SHAREGRP} 186283425SdchaginINFOMODE?= ${NOBINMODE} 187283425Sdchagin 188283425SdchaginNLSDIR?= ${SHAREDIR}/nls 189283425SdchaginNLSOWN?= ${SHAREOWN} 190283425SdchaginNLSGRP?= ${SHAREGRP} 191283425SdchaginNLSMODE?= ${NOBINMODE} 192283425Sdchagin 193283425SdchaginINCLUDEDIR?= /usr/include 194283425Sdchagin 195283425Sdchagin# 196283425Sdchagin# install(1) parameters. 197283425Sdchagin# 198283425SdchaginHRDLINK?= -l h 199283425SdchaginSYMLINK?= -l s 200283425Sdchagin 201283425SdchaginINSTALL_LINK?= ${INSTALL} ${HRDLINK} 202283425SdchaginINSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} 203283425Sdchagin 204283425Sdchagin# Common variables 205283425Sdchagin.if !defined(DEBUG_FLAGS) 206283425SdchaginSTRIP?= -s 207283425Sdchagin.endif 208283425Sdchagin 209283425SdchaginCOMPRESS_CMD?= gzip -cn 210283425SdchaginCOMPRESS_EXT?= .gz 211283425Sdchagin 212283425Sdchagin.if !defined(_WITHOUT_SRCCONF) 213283425Sdchagin# 214283425Sdchagin# Define MK_* variables (which are either "yes" or "no") for users 215283425Sdchagin# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 216283425Sdchagin# make(1) environment. 217283425Sdchagin# These should be tested with `== "no"' or `!= "no"' in makefiles. 218283425Sdchagin# The NO_* variables should only be set by makefiles. 219283425Sdchagin# 220283425Sdchagin 221283425Sdchagin# 222283425Sdchagin# Supported NO_* options (if defined, MK_* will be forced to "no", 223283425Sdchagin# regardless of user's setting). 224283425Sdchagin# 225283425Sdchagin.for var in \ 226283425Sdchagin CTF \ 227283425Sdchagin DEBUG_FILES \ 228283425Sdchagin INSTALLLIB \ 229283425Sdchagin MAN \ 230314107Sdchagin PROFILE 231283425Sdchagin.if defined(NO_${var}) 232283425Sdchagin.if defined(WITH_${var}) 233283425Sdchagin.undef WITH_${var} 234283442Sdchagin.endif 235283425SdchaginWITHOUT_${var}= 236283425Sdchagin.endif 237283425Sdchagin.endfor 238283425Sdchagin 239283425Sdchagin# 240283425Sdchagin# Older-style variables that enabled behaviour when set. 241283425Sdchagin# 242283425Sdchagin.if defined(YES_HESIOD) 243283425SdchaginWITH_HESIOD= 244283425Sdchagin.endif 245283425Sdchagin 246283425Sdchagin__DEFAULT_YES_OPTIONS = \ 247283425Sdchagin ACCT \ 248283425Sdchagin ACPI \ 249283425Sdchagin AMD \ 250283425Sdchagin APM \ 251283425Sdchagin ARM_EABI \ 252283425Sdchagin ASSERT_DEBUG \ 253283442Sdchagin AT \ 254283442Sdchagin ATF \ 255283425Sdchagin ATM \ 256283425Sdchagin AUDIT \ 257283425Sdchagin AUTHPF \ 258283425Sdchagin BINUTILS \ 259283425Sdchagin BLUETOOTH \ 260283425Sdchagin BMAKE \ 261283425Sdchagin BOOT \ 262283425Sdchagin BSD_CPIO \ 263283425Sdchagin BSNMP \ 264283425Sdchagin BZIP2 \ 265283425Sdchagin CALENDAR \ 266283425Sdchagin CAPSICUM \ 267283425Sdchagin CDDL \ 268283425Sdchagin CPP \ 269283425Sdchagin CROSS_COMPILER \ 270283425Sdchagin CRYPT \ 271283425Sdchagin CTM \ 272283425Sdchagin CXX \ 273283425Sdchagin DICT \ 274283425Sdchagin DYNAMICROOT \ 275283425Sdchagin ED_CRYPTO \ 276283425Sdchagin EXAMPLES \ 277283425Sdchagin FLOPPY \ 278283425Sdchagin FORMAT_EXTENSIONS \ 279283425Sdchagin FORTH \ 280283425Sdchagin FP_LIBC \ 281283425Sdchagin FREEBSD_UPDATE \ 282283425Sdchagin GAMES \ 283283425Sdchagin GCOV \ 284283425Sdchagin GDB \ 285283425Sdchagin GNU \ 286283425Sdchagin GPIB \ 287283425Sdchagin GPIO \ 288283425Sdchagin GROFF \ 289283425Sdchagin HTML \ 290283425Sdchagin ICONV \ 291283425Sdchagin INET \ 292283452Sdchagin INET6 \ 293283425Sdchagin INFO \ 294283425Sdchagin INSTALLLIB \ 295283425Sdchagin IPFILTER \ 296283425Sdchagin IPFW \ 297283425Sdchagin IPX \ 298283425Sdchagin JAIL \ 299283425Sdchagin KDUMP \ 300283425Sdchagin KERBEROS \ 301283482Sdchagin KERNEL_SYMBOLS \ 302283442Sdchagin KVM \ 303283425Sdchagin LDNS \ 304314107Sdchagin LDNS_UTILS \ 305283445Sdchagin LEGACY_CONSOLE \ 306283466Sdchagin LIB32 \ 307283425Sdchagin LIBPTHREAD \ 308283425Sdchagin LIBTHR \ 309283425Sdchagin LOCALES \ 310283425Sdchagin LOCATE \ 311283445Sdchagin LPR \ 312283442Sdchagin LS_COLORS \ 313283425Sdchagin MAIL \ 314283425Sdchagin MAILWRAPPER \ 315314107Sdchagin MAKE \ 316314107Sdchagin MAN \ 317314107Sdchagin NDIS \ 318314107Sdchagin NETCAT \ 319283425Sdchagin NETGRAPH \ 320283489Sdchagin NIS \ 321283425Sdchagin NLS \ 322283425Sdchagin NLS_CATALOGS \ 323283425Sdchagin NS_CACHING \ 324283425Sdchagin NTP \ 325283425Sdchagin OPENSSH \ 326283425Sdchagin OPENSSL \ 327283493Sdchagin PAM \ 328283489Sdchagin PC_SYSINSTALL \ 329314107Sdchagin PF \ 330314107Sdchagin PKGBOOTSTRAP \ 331314107Sdchagin PMC \ 332314107Sdchagin PORTSNAP \ 333314107Sdchagin PPP \ 334314107Sdchagin PROFILE \ 335314107Sdchagin QUOTAS \ 336314107Sdchagin RCMDS \ 337314107Sdchagin RCS \ 338314107Sdchagin RESCUE \ 339314107Sdchagin ROUTED \ 340314107Sdchagin SENDMAIL \ 341314107Sdchagin SETUID_LOGIN \ 342314107Sdchagin SHAREDOCS \ 343314107Sdchagin SOURCELESS \ 344314107Sdchagin SOURCELESS_HOST \ 345314107Sdchagin SOURCELESS_UCODE \ 346314107Sdchagin SSP \ 347314107Sdchagin SVNLITE \ 348314107Sdchagin SYMVER \ 349314107Sdchagin SYSCONS \ 350314107Sdchagin SYSINSTALL \ 351314107Sdchagin TCSH \ 352314107Sdchagin TELNET \ 353314107Sdchagin TEXTPROC \ 354283425Sdchagin TOOLCHAIN \ 355 UNBOUND \ 356 USB \ 357 UTMPX \ 358 WIRELESS \ 359 WPA_SUPPLICANT_EAPOL \ 360 ZFS \ 361 ZONEINFO 362 363__DEFAULT_NO_OPTIONS = \ 364 BSD_GREP \ 365 CLANG_EXTRAS \ 366 CTF \ 367 DEBUG_FILES \ 368 GPL_DTC \ 369 HESIOD \ 370 LIBICONV_COMPAT \ 371 INSTALL_AS_USER \ 372 LLDB \ 373 NMTREE \ 374 NAND \ 375 OFED \ 376 OPENSSH_NONE_CIPHER \ 377 PKGTOOLS \ 378 SHARED_TOOLCHAIN \ 379 SVN \ 380 USB_GADGET_EXAMPLES 381 382# 383# Default behaviour of some options depends on the architecture. Unfortunately 384# this means that we have to test TARGET_ARCH (the buildworld case) as well 385# as MACHINE_ARCH (the non-buildworld case). Normally TARGET_ARCH is not 386# used at all in bsd.*.mk, but we have to make an exception here if we want 387# to allow defaults for some things like clang and fdt to vary by target 388# architecture. 389# 390.if defined(TARGET_ARCH) 391__T=${TARGET_ARCH} 392.else 393__T=${MACHINE_ARCH} 394.endif 395.if defined(TARGET) 396__TT=${TARGET} 397.else 398__TT=${MACHINE} 399.endif 400# Clang is only for x86, powerpc and little-endian arm right now, by default. 401.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*} 402__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL 403.elif ${__T} == "arm" || ${__T} == "armv6" 404__DEFAULT_YES_OPTIONS+=CLANG 405# GCC is unable to build the full clang on arm, disable it by default. 406__DEFAULT_NO_OPTIONS+=CLANG_FULL 407.else 408__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL 409.endif 410# Clang the default system compiler only on little-endian arm and x86. 411.if ${__T} == "amd64" || ${__T} == "arm" || ${__T} == "armv6" || \ 412 ${__T} == "i386" 413__DEFAULT_YES_OPTIONS+=CLANG_IS_CC 414# The pc98 bootloader requires gcc to build and so we must leave gcc enabled 415# for pc98 for now. 416.if ${__TT} == "pc98" 417__DEFAULT_NO_OPTIONS+=GNUCXX 418__DEFAULT_YES_OPTIONS+=GCC 419.else 420__DEFAULT_NO_OPTIONS+=GCC GNUCXX 421.endif 422# The libc++ headers use c++11 extensions. These are normally silenced because 423# they are treated as system headers, but we explicitly disable that warning 424# suppression when building the base system to catch bugs in our headers. 425# Eventually we'll want to start building the base system C++ code as C++11, 426# but not yet. 427_COMPVERSION!= ${CC} --version 428.if ${_COMPVERSION:Mclang} 429CXXFLAGS+= -Wno-c++11-extensions 430.endif 431.else 432# If clang is not cc, then build gcc by default 433__DEFAULT_NO_OPTIONS+=CLANG_IS_CC 434__DEFAULT_YES_OPTIONS+=GCC 435# And if g++ is c++, build the rest of the GNU C++ stack 436.if defined(WITHOUT_CXX) 437__DEFAULT_NO_OPTIONS+=GNUCXX 438.else 439__DEFAULT_YES_OPTIONS+=GNUCXX 440.endif 441.endif 442# FDT is needed only for arm, mips and powerpc 443.if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*} 444__DEFAULT_YES_OPTIONS+=FDT 445.else 446__DEFAULT_NO_OPTIONS+=FDT 447.endif 448.undef __T 449 450# 451# MK_* options which default to "yes". 452# 453.for var in ${__DEFAULT_YES_OPTIONS} 454.if defined(WITH_${var}) && defined(WITHOUT_${var}) 455.error WITH_${var} and WITHOUT_${var} can't both be set. 456.endif 457.if defined(MK_${var}) 458.error MK_${var} can't be set by a user. 459.endif 460.if defined(WITHOUT_${var}) 461MK_${var}:= no 462.else 463MK_${var}:= yes 464.endif 465.endfor 466.undef __DEFAULT_YES_OPTIONS 467 468# 469# MK_* options which default to "no". 470# 471.for var in ${__DEFAULT_NO_OPTIONS} 472.if defined(WITH_${var}) && defined(WITHOUT_${var}) 473.error WITH_${var} and WITHOUT_${var} can't both be set. 474.endif 475.if defined(MK_${var}) 476.error MK_${var} can't be set by a user. 477.endif 478.if defined(WITH_${var}) 479MK_${var}:= yes 480.else 481MK_${var}:= no 482.endif 483.endfor 484.undef __DEFAULT_NO_OPTIONS 485 486# 487# Force some options off if their dependencies are off. 488# Order is somewhat important. 489# 490.if ${MK_LIBPTHREAD} == "no" 491MK_LIBTHR:= no 492.endif 493 494.if ${MK_ICONV} == "no" 495MK_LIBICONV_COMPAT:= no 496.endif 497 498.if ${MK_LDNS} == "no" 499MK_LDNS_UTILS:= no 500MK_UNBOUND:= no 501.endif 502 503.if ${MK_SOURCELESS} == "no" 504MK_SOURCELESS_HOST:= no 505MK_SOURCELESS_UCODE:= no 506.endif 507 508.if ${MK_CDDL} == "no" 509MK_ZFS:= no 510MK_CTF:= no 511.endif 512 513.if ${MK_CRYPT} == "no" 514MK_OPENSSL:= no 515MK_OPENSSH:= no 516MK_KERBEROS:= no 517.endif 518 519.if ${MK_CXX} == "no" 520MK_CLANG:= no 521MK_GROFF:= no 522.endif 523 524.if ${MK_MAIL} == "no" 525MK_MAILWRAPPER:= no 526MK_SENDMAIL:= no 527.endif 528 529.if ${MK_NETGRAPH} == "no" 530MK_ATM:= no 531MK_BLUETOOTH:= no 532.endif 533 534.if ${MK_OPENSSL} == "no" 535MK_OPENSSH:= no 536MK_KERBEROS:= no 537.endif 538 539.if ${MK_PF} == "no" 540MK_AUTHPF:= no 541.endif 542 543.if ${MK_TEXTPROC} == "no" 544MK_GROFF:= no 545.endif 546 547.if ${MK_TOOLCHAIN} == "no" 548MK_BINUTILS:= no 549MK_CLANG:= no 550MK_GCC:= no 551MK_GDB:= no 552.endif 553 554.if ${MK_CLANG} == "no" 555MK_CLANG_EXTRAS:= no 556MK_CLANG_FULL:= no 557.endif 558 559.if ${MK_CLANG_IS_CC} == "no" 560MK_LLDB:= no 561.endif 562 563# 564# Set defaults for the MK_*_SUPPORT variables. 565# 566 567# 568# MK_*_SUPPORT options which default to "yes" unless their corresponding 569# MK_* variable is set to "no". 570# 571.for var in \ 572 BZIP2 \ 573 GNU \ 574 INET \ 575 INET6 \ 576 IPX \ 577 KERBEROS \ 578 KVM \ 579 NETGRAPH \ 580 PAM \ 581 WIRELESS 582.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 583.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 584.endif 585.if defined(MK_${var}_SUPPORT) 586.error MK_${var}_SUPPORT can't be set by a user. 587.endif 588.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 589MK_${var}_SUPPORT:= no 590.else 591MK_${var}_SUPPORT:= yes 592.endif 593.endfor 594 595# 596# MK_* options whose default value depends on another option. 597# 598.for vv in \ 599 GSSAPI/KERBEROS \ 600 MAN_UTILS/MAN 601.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H}) 602.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set. 603.endif 604.if defined(MK_${vv:H}) 605.error MK_${vv:H} can't be set by a user. 606.endif 607.if defined(WITH_${vv:H}) 608MK_${vv:H}:= yes 609.elif defined(WITHOUT_${vv:H}) 610MK_${vv:H}:= no 611.else 612MK_${vv:H}:= ${MK_${vv:T}} 613.endif 614.endfor 615 616# 617# MK_* options that default to "yes" if the compiler is a C++11 compiler. 618# 619.include <bsd.compiler.mk> 620.for var in \ 621 LIBCPLUSPLUS 622.if defined(WITH_${var}) && defined(WITHOUT_${var}) 623.error WITH_${var} and WITHOUT_${var} can't both be set. 624.endif 625.if defined(MK_${var}) 626.error MK_${var} can't be set by a user. 627.endif 628.if ${COMPILER_FEATURES:Mc++11} 629.if defined(WITHOUT_${var}) 630MK_${var}:= no 631.else 632MK_${var}:= yes 633.endif 634.else 635.if defined(WITH_${var}) 636MK_${var}:= yes 637.else 638MK_${var}:= no 639.endif 640.endif 641.endfor 642 643.if ${MK_CTF} != "no" 644CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} 645.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) 646CTFCONVERT_CMD= 647.else 648CTFCONVERT_CMD= @: 649.endif 650 651.if ${MK_INSTALL_AS_USER} != "no" 652_uid!= id -u 653.if ${_uid} != 0 654.if !defined(USER) 655USER!= id -un 656.endif 657_gid!= id -gn 658.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE 659$xOWN= ${USER} 660$xGRP= ${_gid} 661.endfor 662.endif 663.endif 664 665.endif # !_WITHOUT_SRCCONF 666 667.endif # !target(__<bsd.own.mk>__) 668