bsd.own.mk revision 246259
1237263Snp# $FreeBSD: head/share/mk/bsd.own.mk 246259 2013-02-02 22:28:29Z dim $ 2237263Snp# 3237263Snp# The include file <bsd.own.mk> set common variables for owner, 4237263Snp# group, mode, and directories. Defaults are in brackets. 5237263Snp# 6237263Snp# 7237263Snp# +++ variables +++ 8237263Snp# 9237263Snp# DESTDIR Change the tree where the file gets installed. [not set] 10237263Snp# 11237263Snp# DISTDIR Change the tree where the file for a distribution 12237263Snp# gets installed (see /usr/src/release/Makefile). [not set] 13237263Snp# 14237263Snp# COMPRESS_CMD Program to compress documents. 15237263Snp# Output is to stdout. [gzip -cn] 16237263Snp# 17237263Snp# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 18237263Snp# 19237263Snp# BINOWN Binary owner. [root] 20237263Snp# 21237263Snp# BINGRP Binary group. [wheel] 22237263Snp# 23237263Snp# BINMODE Binary mode. [555] 24237263Snp# 25237263Snp# NOBINMODE Mode for non-executable files. [444] 26237263Snp# 27237263Snp# LIBDIR Base path for libraries. [/usr/lib] 28237263Snp# 29237263Snp# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 30237263Snp# 31237263Snp# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 32237263Snp# 33237263Snp# LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec] 34237263Snp# 35237263Snp# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 36237263Snp# 37237263Snp# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 38237263Snp# 39237263Snp# LIBOWN Library owner. [${BINOWN}] 40237263Snp# 41237263Snp# LIBGRP Library group. [${BINGRP}] 42237263Snp# 43237263Snp# LIBMODE Library mode. [${NOBINMODE}] 44237263Snp# 45237263Snp# 46237263Snp# KMODDIR Base path for loadable kernel modules 47237263Snp# (see kld(4)). [/boot/kernel] 48237263Snp# 49237263Snp# KMODOWN Kernel and KLD owner. [${BINOWN}] 50237263Snp# 51237263Snp# KMODGRP Kernel and KLD group. [${BINGRP}] 52237263Snp# 53237263Snp# KMODMODE KLD mode. [${BINMODE}] 54237263Snp# 55245932Snp# 56245916Snp# SHAREDIR Base path for architecture-independent ascii 57237263Snp# text files. [/usr/share] 58237263Snp# 59237263Snp# SHAREOWN ASCII text file owner. [root] 60237263Snp# 61237263Snp# SHAREGRP ASCII text file group. [wheel] 62237263Snp# 63237263Snp# SHAREMODE ASCII text file mode. [${NOBINMODE}] 64237263Snp# 65237263Snp# 66237263Snp# CONFDIR Base path for configuration files. [/etc] 67237263Snp# 68237263Snp# CONFOWN Configuration file owner. [root] 69237263Snp# 70237263Snp# CONFGRP Configuration file group. [wheel] 71237263Snp# 72237263Snp# CONFMODE Configuration file mode. [644] 73237263Snp# 74237263Snp# 75237263Snp# DOCDIR Base path for system documentation (e.g. PSD, USD, 76237263Snp# handbook, FAQ etc.). [${SHAREDIR}/doc] 77237263Snp# 78237263Snp# DOCOWN Documentation owner. [${SHAREOWN}] 79237263Snp# 80237263Snp# DOCGRP Documentation group. [${SHAREGRP}] 81237263Snp# 82237263Snp# DOCMODE Documentation mode. [${NOBINMODE}] 83237263Snp# 84237263Snp# 85237263Snp# INFODIR Base path for GNU's hypertext system 86237263Snp# called Info (see info(1)). [${SHAREDIR}/info] 87237263Snp# 88237263Snp# INFOOWN Info owner. [${SHAREOWN}] 89237263Snp# 90237263Snp# INFOGRP Info group. [${SHAREGRP}] 91237263Snp# 92237263Snp# INFOMODE Info mode. [${NOBINMODE}] 93237263Snp# 94237263Snp# 95237263Snp# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 96237263Snp# 97237263Snp# MANOWN Manual owner. [${SHAREOWN}] 98237263Snp# 99237263Snp# MANGRP Manual group. [${SHAREGRP}] 100237263Snp# 101237263Snp# MANMODE Manual mode. [${NOBINMODE}] 102237263Snp# 103237263Snp# 104237263Snp# NLSDIR Base path for National Language Support files 105237263Snp# installation. [${SHAREDIR}/nls] 106237263Snp# 107237263Snp# NLSOWN National Language Support files owner. [${SHAREOWN}] 108237263Snp# 109237263Snp# NLSGRP National Language Support files group. [${SHAREGRP}] 110237263Snp# 111237263Snp# NLSMODE National Language Support files mode. [${NOBINMODE}] 112237263Snp# 113237263Snp# INCLUDEDIR Base path for standard C include files [/usr/include] 114237263Snp 115237263Snp.if !target(__<bsd.own.mk>__) 116237263Snp__<bsd.own.mk>__: 117237263Snp 118237263Snp.if !defined(_WITHOUT_SRCCONF) 119237263SnpSRCCONF?= /etc/src.conf 120237263Snp.if exists(${SRCCONF}) 121237263Snp.include "${SRCCONF}" 122237263Snp.endif 123237263Snp.endif 124237263Snp 125237263Snp# Binaries 126237263SnpBINOWN?= root 127237263SnpBINGRP?= wheel 128237263SnpBINMODE?= 555 129237263SnpNOBINMODE?= 444 130237263Snp 131237263Snp.if defined(MODULES_WITH_WORLD) 132237263SnpKMODDIR?= /boot/modules 133237263Snp.else 134237263SnpKMODDIR?= /boot/kernel 135237263Snp.endif 136237263SnpKMODOWN?= ${BINOWN} 137237263SnpKMODGRP?= ${BINGRP} 138237263SnpKMODMODE?= ${BINMODE} 139237263Snp 140237263SnpLIBDIR?= /usr/lib 141237263SnpLIBCOMPATDIR?= /usr/lib/compat 142237263SnpLIBDATADIR?= /usr/libdata 143237263SnpLIBEXECDIR?= /usr/libexec 144237263SnpLINTLIBDIR?= /usr/libdata/lint 145237263SnpSHLIBDIR?= ${LIBDIR} 146237263SnpLIBOWN?= ${BINOWN} 147237263SnpLIBGRP?= ${BINGRP} 148237263SnpLIBMODE?= ${NOBINMODE} 149237263Snp 150237263Snp 151237263Snp# Share files 152237263SnpSHAREDIR?= /usr/share 153237263SnpSHAREOWN?= root 154237263SnpSHAREGRP?= wheel 155237263SnpSHAREMODE?= ${NOBINMODE} 156237263Snp 157237263SnpCONFDIR?= /etc 158237263SnpCONFOWN?= root 159237263SnpCONFGRP?= wheel 160237263SnpCONFMODE?= 644 161237263Snp 162237263SnpMANDIR?= ${SHAREDIR}/man/man 163237263SnpMANOWN?= ${SHAREOWN} 164237263SnpMANGRP?= ${SHAREGRP} 165237263SnpMANMODE?= ${NOBINMODE} 166237263Snp 167237263SnpDOCDIR?= ${SHAREDIR}/doc 168237263SnpDOCOWN?= ${SHAREOWN} 169237263SnpDOCGRP?= ${SHAREGRP} 170237263SnpDOCMODE?= ${NOBINMODE} 171237263Snp 172237263SnpINFODIR?= ${SHAREDIR}/info 173237263SnpINFOOWN?= ${SHAREOWN} 174237263SnpINFOGRP?= ${SHAREGRP} 175237263SnpINFOMODE?= ${NOBINMODE} 176237263Snp 177237263SnpNLSDIR?= ${SHAREDIR}/nls 178237263SnpNLSOWN?= ${SHAREOWN} 179237263SnpNLSGRP?= ${SHAREGRP} 180237263SnpNLSMODE?= ${NOBINMODE} 181237263Snp 182237263SnpINCLUDEDIR?= /usr/include 183237263Snp 184237263Snp# 185237263Snp# install(1) parameters. 186237263Snp# 187237263SnpHRDLINK?= -l h 188237263SnpSYMLINK?= -l s 189237263Snp 190237263SnpINSTALL_LINK?= ${INSTALL} ${HRDLINK} 191237263SnpINSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} 192237263Snp 193237263Snp# Common variables 194237263Snp.if !defined(DEBUG_FLAGS) 195237263SnpSTRIP?= -s 196237263Snp.endif 197237263Snp 198237263SnpCOMPRESS_CMD?= gzip -cn 199237263SnpCOMPRESS_EXT?= .gz 200237263Snp 201237263Snp.if !defined(_WITHOUT_SRCCONF) 202237263Snp# 203237263Snp# Define MK_* variables (which are either "yes" or "no") for users 204237263Snp# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 205237263Snp# make(1) environment. 206237263Snp# These should be tested with `== "no"' or `!= "no"' in makefiles. 207237263Snp# The NO_* variables should only be set by makefiles. 208237263Snp# 209237263Snp 210237263Snp# 211237263Snp# Supported NO_* options (if defined, MK_* will be forced to "no", 212237263Snp# regardless of user's setting). 213237263Snp# 214237263Snp.for var in \ 215237263Snp CTF \ 216237263Snp INSTALLLIB \ 217237263Snp MAN \ 218237263Snp PROFILE 219237263Snp.if defined(NO_${var}) 220237263Snp.if defined(WITH_${var}) 221237263Snp.undef WITH_${var} 222237263Snp.endif 223237263SnpWITHOUT_${var}= 224237263Snp.endif 225237263Snp.endfor 226237263Snp 227237263Snp# 228237263Snp# Older-style variables that enabled behaviour when set. 229237263Snp# 230237263Snp.if defined(YES_HESIOD) 231237263SnpWITH_HESIOD= 232237263Snp.endif 233237263Snp.if defined(MAKE_IDEA) 234237263SnpWITH_IDEA= 235237263Snp.endif 236237263Snp 237237263Snp__DEFAULT_YES_OPTIONS = \ 238237263Snp ACCT \ 239237263Snp ACPI \ 240237263Snp AMD \ 241237263Snp APM \ 242237263Snp ASSERT_DEBUG \ 243237263Snp AT \ 244237263Snp ATF \ 245237263Snp ATM \ 246237263Snp AUDIT \ 247237263Snp AUTHPF \ 248237263Snp BIND \ 249237263Snp BIND_DNSSEC \ 250237263Snp BIND_ETC \ 251237263Snp BIND_LIBS_LWRES \ 252237263Snp BIND_MTREE \ 253237263Snp BIND_NAMED \ 254237263Snp BIND_UTILS \ 255237263Snp BINUTILS \ 256237263Snp BLUETOOTH \ 257237263Snp BOOT \ 258237263Snp BSD_CPIO \ 259237263Snp BSNMP \ 260237263Snp BZIP2 \ 261237263Snp CALENDAR \ 262237263Snp CAPSICUM \ 263237263Snp CDDL \ 264237263Snp CPP \ 265237263Snp CRYPT \ 266237263Snp CTM \ 267237263Snp CVS \ 268237263Snp CXX \ 269237263Snp DICT \ 270237263Snp DYNAMICROOT \ 271237263Snp ED_CRYPTO \ 272237263Snp EXAMPLES \ 273237263Snp FLOPPY \ 274237263Snp FORTH \ 275237263Snp FP_LIBC \ 276237263Snp FREEBSD_UPDATE \ 277237263Snp GAMES \ 278237263Snp GCC \ 279237263Snp GCOV \ 280237263Snp GDB \ 281237263Snp GNU \ 282237263Snp GPIB \ 283237263Snp GPIO \ 284237263Snp GROFF \ 285237263Snp HTML \ 286237263Snp INET \ 287237263Snp INET6 \ 288237263Snp INFO \ 289237263Snp INSTALLLIB \ 290237263Snp IPFILTER \ 291237263Snp IPFW \ 292237263Snp IPX \ 293237263Snp JAIL \ 294237263Snp KDUMP \ 295237263Snp KERBEROS \ 296237263Snp KERNEL_SYMBOLS \ 297237263Snp KVM \ 298237263Snp LEGACY_CONSOLE \ 299237263Snp LIB32 \ 300237263Snp LIBPTHREAD \ 301237263Snp LIBTHR \ 302237263Snp LOCALES \ 303237263Snp LOCATE \ 304237263Snp LPR \ 305237263Snp LS_COLORS \ 306237263Snp MAIL \ 307237263Snp MAILWRAPPER \ 308237263Snp MAKE \ 309237263Snp MAN \ 310237263Snp NDIS \ 311237263Snp NETCAT \ 312237263Snp NETGRAPH \ 313237263Snp NIS \ 314237263Snp NLS \ 315237263Snp NLS_CATALOGS \ 316237263Snp NS_CACHING \ 317237263Snp NTP \ 318237263Snp OPENSSH \ 319237263Snp OPENSSL \ 320237263Snp PAM \ 321237263Snp PC_SYSINSTALL \ 322237263Snp PF \ 323237263Snp PKGBOOTSTRAP \ 324237263Snp PKGTOOLS \ 325237263Snp PMC \ 326237263Snp PORTSNAP \ 327237263Snp PPP \ 328237263Snp PROFILE \ 329237263Snp QUOTAS \ 330237263Snp RCMDS \ 331237263Snp RCS \ 332237263Snp RESCUE \ 333237263Snp ROUTED \ 334237263Snp SENDMAIL \ 335237263Snp SETUID_LOGIN \ 336237263Snp SHAREDOCS \ 337237263Snp SOURCELESS \ 338237263Snp SOURCELESS_HOST \ 339237263Snp SOURCELESS_UCODE \ 340237263Snp SSP \ 341237263Snp SYMVER \ 342237263Snp SYSCONS \ 343237263Snp SYSINSTALL \ 344237263Snp TCSH \ 345237263Snp TELNET \ 346237263Snp TEXTPROC \ 347237263Snp TOOLCHAIN \ 348237263Snp USB \ 349237263Snp UTMPX \ 350237263Snp WIRELESS \ 351237263Snp WPA_SUPPLICANT_EAPOL \ 352237263Snp ZFS \ 353237263Snp ZONEINFO 354237263Snp 355237263Snp__DEFAULT_NO_OPTIONS = \ 356237263Snp ARM_EABI \ 357237263Snp BSD_PATCH \ 358237263Snp BIND_IDN \ 359237263Snp BIND_LARGE_FILE \ 360245916Snp BIND_LIBS \ 361245916Snp BIND_SIGCHASE \ 362245916Snp BIND_XML \ 363245916Snp BMAKE \ 364245916Snp BSDCONFIG \ 365245916Snp BSD_GREP \ 366245916Snp CLANG_EXTRAS \ 367245916Snp CTF \ 368237263Snp GPL_DTC \ 369237263Snp HESIOD \ 370237263Snp ICONV \ 371237263Snp IDEA \ 372237263Snp INSTALL_AS_USER \ 373237263Snp NMTREE \ 374237263Snp NAND \ 375237263Snp OFED \ 376237263Snp OPENSSH_NONE_CIPHER \ 377237263Snp SHARED_TOOLCHAIN 378237263Snp 379237263Snp# 380237263Snp# Default behaviour of some options depends on the architecture. Unfortunately 381237263Snp# this means that we have to test TARGET_ARCH (the buildworld case) as well 382237263Snp# as MACHINE_ARCH (the non-buildworld case). Normally TARGET_ARCH is not 383237263Snp# used at all in bsd.*.mk, but we have to make an exception here if we want 384237263Snp# to allow defaults for some things like clang and fdt to vary by target 385237263Snp# architecture. 386237263Snp# 387237263Snp.if defined(TARGET_ARCH) 388237263Snp__T=${TARGET_ARCH} 389237263Snp.else 390237263Snp__T=${MACHINE_ARCH} 391237263Snp.endif 392237263Snp# Clang is only for x86 and powerpc right now, by default. 393237263Snp.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*} 394237263Snp__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL 395237263Snp.else 396237263Snp__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL 397237263Snp.endif 398237263Snp# Clang the default system compiler only on x86. 399237263Snp.if ${__T} == "amd64" || ${__T} == "i386" 400237263Snp__DEFAULT_YES_OPTIONS+=CLANG_IS_CC 401237263Snp.else 402237263Snp__DEFAULT_NO_OPTIONS+=CLANG_IS_CC 403237263Snp.endif 404237263Snp# FDT is needed only for arm, mips and powerpc 405237263Snp.if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*} 406237263Snp__DEFAULT_YES_OPTIONS+=FDT 407237263Snp.else 408237263Snp__DEFAULT_NO_OPTIONS+=FDT 409237263Snp.endif 410237263Snp.undef __T 411237263Snp 412237263Snp# 413237263Snp# MK_* options which default to "yes". 414237263Snp# 415237263Snp.for var in ${__DEFAULT_YES_OPTIONS} 416237263Snp.if defined(WITH_${var}) && defined(WITHOUT_${var}) 417237263Snp.error WITH_${var} and WITHOUT_${var} can't both be set. 418237263Snp.endif 419237263Snp.if defined(MK_${var}) 420237263Snp.error MK_${var} can't be set by a user. 421237263Snp.endif 422237263Snp.if defined(WITHOUT_${var}) 423237263SnpMK_${var}:= no 424237263Snp.else 425237263SnpMK_${var}:= yes 426237263Snp.endif 427237263Snp.endfor 428237263Snp.undef __DEFAULT_YES_OPTIONS 429237263Snp 430237263Snp# 431237263Snp# MK_* options which default to "no". 432237263Snp# 433237263Snp.for var in ${__DEFAULT_NO_OPTIONS} 434237263Snp.if defined(WITH_${var}) && defined(WITHOUT_${var}) 435237263Snp.error WITH_${var} and WITHOUT_${var} can't both be set. 436237263Snp.endif 437237263Snp.if defined(MK_${var}) 438237263Snp.error MK_${var} can't be set by a user. 439237263Snp.endif 440237263Snp.if defined(WITH_${var}) 441237263SnpMK_${var}:= yes 442237263Snp.else 443237263SnpMK_${var}:= no 444237263Snp.endif 445237263Snp.endfor 446237263Snp.undef __DEFAULT_NO_OPTIONS 447237263Snp 448245932Snp# 449237263Snp# Force some options off if their dependencies are off. 450245932Snp# Order is somewhat important. 451245932Snp# 452245932Snp.if ${MK_LIBPTHREAD} == "no" 453245932SnpMK_LIBTHR:= no 454245932Snp.endif 455245932Snp 456245932Snp.if ${MK_LIBTHR} == "no" 457245932SnpMK_BIND:= no 458245932Snp.endif 459245932Snp 460245932Snp.if ${MK_BIND} == "no" 461245932SnpMK_BIND_DNSSEC:= no 462245932SnpMK_BIND_ETC:= no 463245932SnpMK_BIND_LIBS:= no 464245932SnpMK_BIND_LIBS_LWRES:= no 465245932SnpMK_BIND_MTREE:= no 466245932SnpMK_BIND_NAMED:= no 467245932SnpMK_BIND_UTILS:= no 468245932Snp.endif 469245932Snp 470245932Snp.if ${MK_BIND_MTREE} == "no" 471245932SnpMK_BIND_ETC:= no 472245932Snp.endif 473245932Snp 474245932Snp.if ${MK_SOURCELESS} == "no" 475245932SnpMK_SOURCELESS_HOST:= no 476245932SnpMK_SOURCELESS_UCODE:= no 477245932Snp.endif 478245932Snp 479245932Snp.if ${MK_CDDL} == "no" 480245932SnpMK_ZFS:= no 481245932SnpMK_CTF:= no 482245932Snp.endif 483245932Snp 484245932Snp.if ${MK_CRYPT} == "no" 485245932SnpMK_OPENSSL:= no 486245932SnpMK_OPENSSH:= no 487245932SnpMK_KERBEROS:= no 488245932Snp.endif 489245932Snp 490245932Snp.if ${MK_CXX} == "no" 491245932SnpMK_CLANG:= no 492245932SnpMK_GROFF:= no 493245932Snp.endif 494245932Snp 495245932Snp.if ${MK_MAIL} == "no" 496245932SnpMK_MAILWRAPPER:= no 497245932SnpMK_SENDMAIL:= no 498245932Snp.endif 499245932Snp 500245932Snp.if ${MK_NETGRAPH} == "no" 501245932SnpMK_ATM:= no 502245932SnpMK_BLUETOOTH:= no 503245932Snp.endif 504245932Snp 505245932Snp.if ${MK_OPENSSL} == "no" 506245932SnpMK_OPENSSH:= no 507245932SnpMK_KERBEROS:= no 508245932Snp.endif 509245932Snp 510245932Snp.if ${MK_PF} == "no" 511237263SnpMK_AUTHPF:= no 512237263Snp.endif 513237263Snp 514237263Snp.if ${MK_TEXTPROC} == "no" 515237263SnpMK_GROFF:= no 516237263Snp.endif 517237263Snp 518237263Snp.if ${MK_TOOLCHAIN} == "no" 519245932SnpMK_BINUTILS:= no 520237263SnpMK_CLANG:= no 521245932SnpMK_GCC:= no 522237263SnpMK_GDB:= no 523237263Snp.endif 524237263Snp 525237263Snp.if ${MK_CLANG} == "no" 526237263SnpMK_CLANG_EXTRAS:= no 527237263SnpMK_CLANG_FULL:= no 528237263SnpMK_CLANG_IS_CC:= no 529237263Snp.endif 530237263Snp 531237263Snp# 532245932Snp# Set defaults for the MK_*_SUPPORT variables. 533237263Snp# 534237263Snp 535237263Snp# 536237263Snp# MK_*_SUPPORT options which default to "yes" unless their corresponding 537237263Snp# MK_* variable is set to "no". 538237263Snp# 539237263Snp.for var in \ 540237263Snp BZIP2 \ 541237263Snp GNU \ 542237263Snp INET \ 543237263Snp INET6 \ 544237263Snp IPX \ 545237263Snp KERBEROS \ 546237263Snp KVM \ 547237263Snp NETGRAPH \ 548237263Snp PAM \ 549237263Snp WIRELESS 550239511Snp.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 551237263Snp.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 552237263Snp.endif 553237263Snp.if defined(MK_${var}_SUPPORT) 554237263Snp.error MK_${var}_SUPPORT can't be set by a user. 555237263Snp.endif 556239511Snp.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 557239511SnpMK_${var}_SUPPORT:= no 558239511Snp.else 559239511SnpMK_${var}_SUPPORT:= yes 560239511Snp.endif 561237263Snp.endfor 562237263Snp 563237263Snp# 564237263Snp# MK_* options whose default value depends on another option. 565237263Snp# 566237263Snp.for vv in \ 567237263Snp GSSAPI/KERBEROS \ 568237263Snp MAN_UTILS/MAN 569237263Snp.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H}) 570237263Snp.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set. 571237263Snp.endif 572237263Snp.if defined(MK_${vv:H}) 573237263Snp.error MK_${vv:H} can't be set by a user. 574237263Snp.endif 575237263Snp.if defined(WITH_${vv:H}) 576237263SnpMK_${vv:H}:= yes 577237263Snp.elif defined(WITHOUT_${vv:H}) 578237263SnpMK_${vv:H}:= no 579237263Snp.else 580237263SnpMK_${vv:H}:= ${MK_${vv:T}} 581237263Snp.endif 582237263Snp.endfor 583237263Snp 584237263Snp# 585237263Snp# MK_* options that default to "yes" if the compiler is a C++11 compiler. 586237263Snp# 587237263Snp.include <bsd.compiler.mk> 588237263Snp.for var in \ 589237263Snp LIBCPLUSPLUS 590237263Snp.if defined(WITH_${var}) && defined(WITHOUT_${var}) 591237263Snp.error WITH_${var} and WITHOUT_${var} can't both be set. 592237263Snp.endif 593237263Snp.if defined(MK_${var}) 594237263Snp.error MK_${var} can't be set by a user. 595237263Snp.endif 596237263Snp.if ${COMPILER_FEATURES:Mc++11} 597237263Snp.if defined(WITHOUT_${var}) 598237263SnpMK_${var}:= no 599237263Snp.else 600237263SnpMK_${var}:= yes 601237263Snp.endif 602237263Snp.else 603237263Snp.if defined(WITH_${var}) 604237263SnpMK_${var}:= yes 605237263Snp.else 606237263SnpMK_${var}:= no 607237263Snp.endif 608237263Snp.endif 609237263Snp.endfor 610237263Snp 611237263Snp.if ${MK_CTF} != "no" 612237263SnpCTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} 613237263Snp.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) 614237263SnpCTFCONVERT_CMD= 615237263Snp.else 616237263SnpCTFCONVERT_CMD= @: 617237263Snp.endif 618237263Snp 619237263Snp.if ${MK_INSTALL_AS_USER} != "no" 620237263Snp_uid!= id -u 621237263Snp.if ${_uid} != 0 622237263Snp.if !defined(USER) 623237263SnpUSER!= id -un 624237263Snp.endif 625237263Snp_gid!= id -gn 626237263Snp.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE 627237263Snp$xOWN= ${USER} 628237263Snp$xGRP= ${_gid} 629237263Snp.endfor 630237263Snp.endif 631237263Snp.endif 632237263Snp 633237263Snp.endif # !_WITHOUT_SRCCONF 634237263Snp 635237263Snp.endif # !target(__<bsd.own.mk>__) 636237263Snp