bsd.own.mk revision 278556
1285612Sdelphij# $FreeBSD: stable/10/share/mk/bsd.own.mk 278556 2015-02-11 07:12:00Z ngie $ 2181834Sroberto# 3285612Sdelphij# The include file <bsd.own.mk> set common variables for owner, 4285612Sdelphij# group, mode, and directories. Defaults are in brackets. 5181834Sroberto# 6285612Sdelphij# 7285612Sdelphij# +++ variables +++ 8285612Sdelphij# 9285612Sdelphij# DESTDIR Change the tree where the file gets installed. [not set] 10285612Sdelphij# 11285612Sdelphij# DISTDIR Change the tree where the file for a distribution 12285612Sdelphij# gets installed (see /usr/src/release/Makefile). [not set] 13285612Sdelphij# 14285612Sdelphij# COMPRESS_CMD Program to compress documents. 15285612Sdelphij# Output is to stdout. [gzip -cn] 16285612Sdelphij# 17285612Sdelphij# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 18285612Sdelphij# 19285612Sdelphij# BINOWN Binary owner. [root] 20285612Sdelphij# 21285612Sdelphij# BINGRP Binary group. [wheel] 22285612Sdelphij# 23181834Sroberto# BINMODE Binary mode. [555] 24285612Sdelphij# 25285612Sdelphij# NOBINMODE Mode for non-executable files. [444] 26285612Sdelphij# 27285612Sdelphij# LIBDIR Base path for libraries. [/usr/lib] 28285612Sdelphij# 29181834Sroberto# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 30181834Sroberto# 31181834Sroberto# LIBPRIVATEDIR Base path for private libraries. [/usr/lib/private] 32181834Sroberto# 33181834Sroberto# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 34181834Sroberto# 35181834Sroberto# LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec] 36181834Sroberto# 37181834Sroberto# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 38181834Sroberto# 39181834Sroberto# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 40181834Sroberto# 41181834Sroberto# LIBOWN Library owner. [${BINOWN}] 42181834Sroberto# 43181834Sroberto# LIBGRP Library group. [${BINGRP}] 44181834Sroberto# 45285612Sdelphij# LIBMODE Library mode. [${NOBINMODE}] 46285612Sdelphij# 47285612Sdelphij# 48181834Sroberto# DEBUGDIR Base path for standalone debug files. [/usr/lib/debug] 49181834Sroberto# 50181834Sroberto# DEBUGMODE Mode for debug files. [${NOBINMODE}] 51181834Sroberto# 52181834Sroberto# 53181834Sroberto# KMODDIR Base path for loadable kernel modules 54181834Sroberto# (see kld(4)). [/boot/kernel] 55181834Sroberto# 56181834Sroberto# KMODOWN Kernel and KLD owner. [${BINOWN}] 57181834Sroberto# 58181834Sroberto# KMODGRP Kernel and KLD group. [${BINGRP}] 59181834Sroberto# 60181834Sroberto# KMODMODE KLD mode. [${BINMODE}] 61181834Sroberto# 62181834Sroberto# 63181834Sroberto# SHAREDIR Base path for architecture-independent ascii 64181834Sroberto# text files. [/usr/share] 65181834Sroberto# 66181834Sroberto# SHAREOWN ASCII text file owner. [root] 67285612Sdelphij# 68285612Sdelphij# SHAREGRP ASCII text file group. [wheel] 69285612Sdelphij# 70181834Sroberto# SHAREMODE ASCII text file mode. [${NOBINMODE}] 71181834Sroberto# 72181834Sroberto# 73181834Sroberto# CONFDIR Base path for configuration files. [/etc] 74181834Sroberto# 75181834Sroberto# CONFOWN Configuration file owner. [root] 76181834Sroberto# 77181834Sroberto# CONFGRP Configuration file group. [wheel] 78181834Sroberto# 79181834Sroberto# CONFMODE Configuration file mode. [644] 80181834Sroberto# 81181834Sroberto# 82181834Sroberto# DOCDIR Base path for system documentation (e.g. PSD, USD, 83181834Sroberto# handbook, FAQ etc.). [${SHAREDIR}/doc] 84181834Sroberto# 85181834Sroberto# DOCOWN Documentation owner. [${SHAREOWN}] 86181834Sroberto# 87181834Sroberto# DOCGRP Documentation group. [${SHAREGRP}] 88181834Sroberto# 89181834Sroberto# DOCMODE Documentation mode. [${NOBINMODE}] 90181834Sroberto# 91181834Sroberto# 92181834Sroberto# INFODIR Base path for GNU's hypertext system 93181834Sroberto# called Info (see info(1)). [${SHAREDIR}/info] 94181834Sroberto# 95181834Sroberto# INFOOWN Info owner. [${SHAREOWN}] 96181834Sroberto# 97181834Sroberto# INFOGRP Info group. [${SHAREGRP}] 98181834Sroberto# 99181834Sroberto# INFOMODE Info mode. [${NOBINMODE}] 100181834Sroberto# 101181834Sroberto# 102181834Sroberto# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 103181834Sroberto# 104181834Sroberto# MANOWN Manual owner. [${SHAREOWN}] 105181834Sroberto# 106181834Sroberto# MANGRP Manual group. [${SHAREGRP}] 107181834Sroberto# 108181834Sroberto# MANMODE Manual mode. [${NOBINMODE}] 109181834Sroberto# 110181834Sroberto# 111181834Sroberto# NLSDIR Base path for National Language Support files 112181834Sroberto# installation. [${SHAREDIR}/nls] 113181834Sroberto# 114181834Sroberto# NLSOWN National Language Support files owner. [${SHAREOWN}] 115181834Sroberto# 116181834Sroberto# NLSGRP National Language Support files group. [${SHAREGRP}] 117181834Sroberto# 118181834Sroberto# NLSMODE National Language Support files mode. [${NOBINMODE}] 119181834Sroberto# 120181834Sroberto# INCLUDEDIR Base path for standard C include files [/usr/include] 121181834Sroberto 122181834Sroberto.if !target(__<bsd.own.mk>__) 123181834Sroberto__<bsd.own.mk>__: 124181834Sroberto 125181834Sroberto.if !defined(_WITHOUT_SRCCONF) 126181834SrobertoSRCCONF?= /etc/src.conf 127181834Sroberto.if exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf" 128181834Sroberto.include "${SRCCONF}" 129181834Sroberto.endif 130181834Sroberto.endif 131181834Sroberto 132181834Sroberto# Binaries 133181834SrobertoBINOWN?= root 134181834SrobertoBINGRP?= wheel 135181834SrobertoBINMODE?= 555 136181834SrobertoNOBINMODE?= 444 137181834Sroberto 138181834Sroberto.if defined(MODULES_WITH_WORLD) 139181834SrobertoKMODDIR?= /boot/modules 140181834Sroberto.else 141181834SrobertoKMODDIR?= /boot/kernel 142181834Sroberto.endif 143181834SrobertoKMODOWN?= ${BINOWN} 144181834SrobertoKMODGRP?= ${BINGRP} 145181834SrobertoKMODMODE?= ${BINMODE} 146181834Sroberto 147181834SrobertoLIBDIR?= /usr/lib 148181834SrobertoLIBCOMPATDIR?= /usr/lib/compat 149181834SrobertoLIBPRIVATEDIR?= /usr/lib/private 150181834SrobertoLIBDATADIR?= /usr/libdata 151181834SrobertoLIBEXECDIR?= /usr/libexec 152181834SrobertoLINTLIBDIR?= /usr/libdata/lint 153181834SrobertoSHLIBDIR?= ${LIBDIR} 154181834SrobertoLIBOWN?= ${BINOWN} 155181834SrobertoLIBGRP?= ${BINGRP} 156181834SrobertoLIBMODE?= ${NOBINMODE} 157181834Sroberto 158181834SrobertoDEBUGDIR?= /usr/lib/debug 159181834SrobertoDEBUGMODE?= ${NOBINMODE} 160181834Sroberto 161181834Sroberto 162181834Sroberto# Share files 163181834SrobertoSHAREDIR?= /usr/share 164181834SrobertoSHAREOWN?= root 165181834SrobertoSHAREGRP?= wheel 166285612SdelphijSHAREMODE?= ${NOBINMODE} 167181834Sroberto 168285612SdelphijCONFDIR?= /etc 169285612SdelphijCONFOWN?= root 170181834SrobertoCONFGRP?= wheel 171181834SrobertoCONFMODE?= 644 172181834Sroberto 173181834SrobertoMANDIR?= ${SHAREDIR}/man/man 174181834SrobertoMANOWN?= ${SHAREOWN} 175181834SrobertoMANGRP?= ${SHAREGRP} 176181834SrobertoMANMODE?= ${NOBINMODE} 177181834Sroberto 178181834SrobertoDOCDIR?= ${SHAREDIR}/doc 179181834SrobertoDOCOWN?= ${SHAREOWN} 180181834SrobertoDOCGRP?= ${SHAREGRP} 181181834SrobertoDOCMODE?= ${NOBINMODE} 182181834Sroberto 183181834SrobertoINFODIR?= ${SHAREDIR}/info 184181834SrobertoINFOOWN?= ${SHAREOWN} 185285612SdelphijINFOGRP?= ${SHAREGRP} 186285612SdelphijINFOMODE?= ${NOBINMODE} 187285612Sdelphij 188285612SdelphijNLSDIR?= ${SHAREDIR}/nls 189285612SdelphijNLSOWN?= ${SHAREOWN} 190285612SdelphijNLSGRP?= ${SHAREGRP} 191285612SdelphijNLSMODE?= ${NOBINMODE} 192285612Sdelphij 193285612SdelphijINCLUDEDIR?= /usr/include 194285612Sdelphij 195285612Sdelphij# 196181834Sroberto# install(1) parameters. 197181834Sroberto# 198181834SrobertoHRDLINK?= -l h 199181834SrobertoSYMLINK?= -l s 200181834Sroberto 201181834SrobertoINSTALL_LINK?= ${INSTALL} ${HRDLINK} 202181834SrobertoINSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} 203181834Sroberto 204181834Sroberto# Common variables 205181834Sroberto.if !defined(DEBUG_FLAGS) 206181834SrobertoSTRIP?= -s 207181834Sroberto.endif 208181834Sroberto 209181834SrobertoCOMPRESS_CMD?= gzip -cn 210181834SrobertoCOMPRESS_EXT?= .gz 211181834Sroberto 212181834Sroberto.if !defined(_WITHOUT_SRCCONF) 213181834Sroberto# 214181834Sroberto# Define MK_* variables (which are either "yes" or "no") for users 215181834Sroberto# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 216181834Sroberto# make(1) environment. 217181834Sroberto# These should be tested with `== "no"' or `!= "no"' in makefiles. 218181834Sroberto# The NO_* variables should only be set by makefiles. 219181834Sroberto# 220181834Sroberto 221181834Sroberto# 222181834Sroberto# Supported NO_* options (if defined, MK_* will be forced to "no", 223181834Sroberto# regardless of user's setting). 224181834Sroberto# 225181834Sroberto.for var in \ 226181834Sroberto CTF \ 227181834Sroberto DEBUG_FILES \ 228181834Sroberto INSTALLLIB \ 229181834Sroberto MAN \ 230181834Sroberto PROFILE 231181834Sroberto.if defined(NO_${var}) 232181834Sroberto.if defined(WITH_${var}) 233181834Sroberto.undef WITH_${var} 234181834Sroberto.endif 235181834SrobertoWITHOUT_${var}= 236181834Sroberto.endif 237181834Sroberto.endfor 238181834Sroberto 239181834Sroberto# 240285612Sdelphij# Older-style variables that enabled behaviour when set. 241181834Sroberto# 242181834Sroberto.if defined(YES_HESIOD) 243181834SrobertoWITH_HESIOD= 244181834Sroberto.endif 245181834Sroberto 246181834Sroberto__DEFAULT_YES_OPTIONS = \ 247181834Sroberto ACCT \ 248181834Sroberto ACPI \ 249181834Sroberto AMD \ 250181834Sroberto APM \ 251181834Sroberto ARM_EABI \ 252181834Sroberto ASSERT_DEBUG \ 253181834Sroberto AT \ 254181834Sroberto ATM \ 255181834Sroberto AUDIT \ 256285612Sdelphij AUTHPF \ 257181834Sroberto BINUTILS \ 258181834Sroberto BLUETOOTH \ 259181834Sroberto BMAKE \ 260181834Sroberto BOOT \ 261181834Sroberto BSD_CPIO \ 262285612Sdelphij BSNMP \ 263285612Sdelphij BZIP2 \ 264181834Sroberto CALENDAR \ 265181834Sroberto CAPSICUM \ 266285612Sdelphij CDDL \ 267285612Sdelphij CPP \ 268181834Sroberto CROSS_COMPILER \ 269181834Sroberto CRYPT \ 270285612Sdelphij CTM \ 271285612Sdelphij CXX \ 272181834Sroberto DICT \ 273181834Sroberto DYNAMICROOT \ 274285612Sdelphij ED_CRYPTO \ 275285612Sdelphij EE \ 276181834Sroberto EXAMPLES \ 277181834Sroberto FLOPPY \ 278181834Sroberto FMTREE \ 279285612Sdelphij FORMAT_EXTENSIONS \ 280285612Sdelphij FORTH \ 281285612Sdelphij FP_LIBC \ 282285612Sdelphij FREEBSD_UPDATE \ 283181834Sroberto GAMES \ 284285612Sdelphij GCOV \ 285181834Sroberto GDB \ 286181834Sroberto GNU \ 287181834Sroberto GPIB \ 288285612Sdelphij GPIO \ 289285612Sdelphij GPL_DTC \ 290285612Sdelphij GROFF \ 291285612Sdelphij HAST \ 292181834Sroberto HTML \ 293181834Sroberto ICONV \ 294181834Sroberto INET \ 295181834Sroberto INET6 \ 296285612Sdelphij INFO \ 297181834Sroberto INSTALLLIB \ 298181834Sroberto IPFILTER \ 299181834Sroberto IPFW \ 300285612Sdelphij IPX \ 301285612Sdelphij ISCSI \ 302285612Sdelphij JAIL \ 303285612Sdelphij KDUMP \ 304285612Sdelphij KERBEROS \ 305285612Sdelphij KERNEL_SYMBOLS \ 306181834Sroberto KVM \ 307285612Sdelphij LDNS \ 308181834Sroberto LDNS_UTILS \ 309285612Sdelphij LEGACY_CONSOLE \ 310285612Sdelphij LIB32 \ 311285612Sdelphij LIBPTHREAD \ 312285612Sdelphij LIBTHR \ 313285612Sdelphij LOCALES \ 314285612Sdelphij LOCATE \ 315181834Sroberto LPR \ 316181834Sroberto LS_COLORS \ 317285612Sdelphij MAIL \ 318285612Sdelphij MAILWRAPPER \ 319285612Sdelphij MAKE \ 320285612Sdelphij MAN \ 321285612Sdelphij NCURSESW \ 322285612Sdelphij NDIS \ 323285612Sdelphij NETCAT \ 324285612Sdelphij NETGRAPH \ 325285612Sdelphij NIS \ 326285612Sdelphij NLS \ 327285612Sdelphij NLS_CATALOGS \ 328285612Sdelphij NMTREE \ 329285612Sdelphij NS_CACHING \ 330285612Sdelphij NTP \ 331285612Sdelphij OPENSSH \ 332285612Sdelphij OPENSSL \ 333285612Sdelphij PAM \ 334285612Sdelphij PC_SYSINSTALL \ 335181834Sroberto PF \ 336181834Sroberto PKGBOOTSTRAP \ 337285612Sdelphij PMC \ 338285612Sdelphij PORTSNAP \ 339181834Sroberto PPP \ 340181834Sroberto PROFILE \ 341181834Sroberto QUOTAS \ 342181834Sroberto RCMDS \ 343181834Sroberto RCS \ 344181834Sroberto RESCUE \ 345181834Sroberto ROUTED \ 346181834Sroberto SENDMAIL \ 347181834Sroberto SETUID_LOGIN \ 348181834Sroberto SHAREDOCS \ 349181834Sroberto SOURCELESS \ 350181834Sroberto SOURCELESS_HOST \ 351181834Sroberto SOURCELESS_UCODE \ 352181834Sroberto SSP \ 353181834Sroberto SVNLITE \ 354181834Sroberto SYMVER \ 355181834Sroberto SYSCONS \ 356181834Sroberto SYSINSTALL \ 357181834Sroberto TCSH \ 358181834Sroberto TELNET \ 359181834Sroberto TEXTPROC \ 360181834Sroberto TOOLCHAIN \ 361181834Sroberto UNBOUND \ 362181834Sroberto USB \ 363181834Sroberto UTMPX \ 364181834Sroberto VT \ 365181834Sroberto WIRELESS \ 366181834Sroberto WPA_SUPPLICANT_EAPOL \ 367181834Sroberto ZFS \ 368181834Sroberto ZONEINFO 369181834Sroberto 370181834Sroberto__DEFAULT_NO_OPTIONS = \ 371181834Sroberto BSD_GREP \ 372181834Sroberto CLANG_EXTRAS \ 373181834Sroberto CTF \ 374181834Sroberto DEBUG_FILES \ 375181834Sroberto HESIOD \ 376181834Sroberto INSTALL_AS_USER \ 377181834Sroberto LLDB \ 378181834Sroberto NAND \ 379181834Sroberto OFED \ 380181834Sroberto OPENSSH_NONE_CIPHER \ 381181834Sroberto PKGTOOLS \ 382181834Sroberto SHARED_TOOLCHAIN \ 383181834Sroberto SVN \ 384 TESTS \ 385 USB_GADGET_EXAMPLES 386 387# 388# Default behaviour of some options depends on the architecture. Unfortunately 389# this means that we have to test TARGET_ARCH (the buildworld case) as well 390# as MACHINE_ARCH (the non-buildworld case). Normally TARGET_ARCH is not 391# used at all in bsd.*.mk, but we have to make an exception here if we want 392# to allow defaults for some things like clang and fdt to vary by target 393# architecture. 394# 395.if defined(TARGET_ARCH) 396__T=${TARGET_ARCH} 397.else 398__T=${MACHINE_ARCH} 399.endif 400.if defined(TARGET) 401__TT=${TARGET} 402.else 403__TT=${MACHINE} 404.endif 405# Clang is only for x86, powerpc and little-endian arm right now, by default. 406.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*} 407__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL 408.elif ${__T} == "arm" || ${__T} == "armv6" 409__DEFAULT_YES_OPTIONS+=CLANG 410# GCC is unable to build the full clang on arm, disable it by default. 411__DEFAULT_NO_OPTIONS+=CLANG_FULL 412.else 413__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL 414.endif 415# Clang the default system compiler only on little-endian arm and x86. 416.if ${__T} == "amd64" || ${__T} == "arm" || ${__T} == "armv6" || \ 417 ${__T} == "i386" 418__DEFAULT_YES_OPTIONS+=CLANG_IS_CC 419# The pc98 bootloader requires gcc to build and so we must leave gcc enabled 420# for pc98 for now. 421.if ${__TT} == "pc98" 422__DEFAULT_NO_OPTIONS+=GNUCXX 423__DEFAULT_YES_OPTIONS+=GCC 424.else 425__DEFAULT_NO_OPTIONS+=GCC GNUCXX 426.endif 427.else 428# If clang is not cc, then build gcc by default 429__DEFAULT_NO_OPTIONS+=CLANG_IS_CC 430__DEFAULT_YES_OPTIONS+=GCC 431# And if g++ is c++, build the rest of the GNU C++ stack 432.if defined(WITHOUT_CXX) 433__DEFAULT_NO_OPTIONS+=GNUCXX 434.else 435__DEFAULT_YES_OPTIONS+=GNUCXX 436.endif 437.endif 438# FDT is needed only for arm, mips and powerpc 439.if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*} 440__DEFAULT_YES_OPTIONS+=FDT 441.else 442__DEFAULT_NO_OPTIONS+=FDT 443.endif 444# HyperV is only available for x86 and amd64. 445.if ${__T} == "amd64" || ${__T} == "i386" 446__DEFAULT_YES_OPTIONS+=HYPERV 447.else 448__DEFAULT_NO_OPTIONS+=HYPERV 449.endif 450.undef __T 451 452# 453# MK_* options which default to "yes". 454# 455.for var in ${__DEFAULT_YES_OPTIONS} 456.if defined(WITH_${var}) && defined(WITHOUT_${var}) 457.error WITH_${var} and WITHOUT_${var} can't both be set. 458.endif 459.if defined(MK_${var}) 460.error MK_${var} can't be set by a user. 461.endif 462.if defined(WITHOUT_${var}) 463MK_${var}:= no 464.else 465MK_${var}:= yes 466.endif 467.endfor 468.undef __DEFAULT_YES_OPTIONS 469 470# 471# MK_* options which default to "no". 472# 473.for var in ${__DEFAULT_NO_OPTIONS} 474.if defined(WITH_${var}) && defined(WITHOUT_${var}) 475.error WITH_${var} and WITHOUT_${var} can't both be set. 476.endif 477.if defined(MK_${var}) 478.error MK_${var} can't be set by a user. 479.endif 480.if defined(WITH_${var}) 481MK_${var}:= yes 482.else 483MK_${var}:= no 484.endif 485.endfor 486.undef __DEFAULT_NO_OPTIONS 487 488# 489# Force some options off if their dependencies are off. 490# Order is somewhat important. 491# 492.if ${MK_LIBPTHREAD} == "no" 493MK_LIBTHR:= no 494.endif 495 496.if ${MK_LDNS} == "no" 497MK_LDNS_UTILS:= no 498MK_UNBOUND:= no 499.endif 500 501.if ${MK_SOURCELESS} == "no" 502MK_SOURCELESS_HOST:= no 503MK_SOURCELESS_UCODE:= no 504.endif 505 506.if ${MK_CDDL} == "no" 507MK_ZFS:= no 508MK_CTF:= no 509.endif 510 511.if ${MK_CRYPT} == "no" 512MK_OPENSSL:= no 513MK_OPENSSH:= no 514MK_KERBEROS:= no 515.endif 516 517.if ${MK_CXX} == "no" 518MK_CLANG:= no 519MK_GROFF:= no 520.endif 521 522.if ${MK_MAIL} == "no" 523MK_MAILWRAPPER:= no 524MK_SENDMAIL:= no 525.endif 526 527.if ${MK_NETGRAPH} == "no" 528MK_ATM:= no 529MK_BLUETOOTH:= no 530.endif 531 532.if ${MK_OPENSSL} == "no" 533MK_OPENSSH:= no 534MK_KERBEROS:= no 535.endif 536 537.if ${MK_PF} == "no" 538MK_AUTHPF:= no 539.endif 540 541.if ${MK_TEXTPROC} == "no" 542MK_GROFF:= no 543.endif 544 545.if ${MK_TOOLCHAIN} == "no" 546MK_BINUTILS:= no 547MK_CLANG:= no 548MK_GCC:= no 549MK_GDB:= no 550.endif 551 552.if ${MK_CLANG} == "no" 553MK_CLANG_EXTRAS:= no 554MK_CLANG_FULL:= no 555.endif 556 557.if ${MK_CLANG_IS_CC} == "no" 558MK_LLDB:= no 559.endif 560 561.if defined(NO_TESTS) 562# This should be handled above along the handling of all other NO_* options. 563# However, the above is broken when WITH_*=yes are passed to make(1) as 564# command line arguments. See PR bin/183762. 565# 566# Because the TESTS option is new and it will default to yes, it's likely 567# that people will pass WITHOUT_TESTS=yes to make(1) directly and get a broken 568# build. So, just in case, it's better to explicitly handle this case here. 569# 570# TODO(jmmv): Either fix make to allow us putting this override where it 571# belongs above or fix this file to cope with the make bug. 572MK_TESTS:= no 573.endif 574 575# 576# Set defaults for the MK_*_SUPPORT variables. 577# 578 579# 580# MK_*_SUPPORT options which default to "yes" unless their corresponding 581# MK_* variable is set to "no". 582# 583.for var in \ 584 BZIP2 \ 585 GNU \ 586 INET \ 587 INET6 \ 588 IPX \ 589 KERBEROS \ 590 KVM \ 591 NETGRAPH \ 592 PAM \ 593 WIRELESS 594.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 595.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 596.endif 597.if defined(MK_${var}_SUPPORT) 598.error MK_${var}_SUPPORT can't be set by a user. 599.endif 600.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 601MK_${var}_SUPPORT:= no 602.else 603MK_${var}_SUPPORT:= yes 604.endif 605.endfor 606 607# 608# MK_* options whose default value depends on another option. 609# 610.for vv in \ 611 GSSAPI/KERBEROS \ 612 MAN_UTILS/MAN 613.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H}) 614.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set. 615.endif 616.if defined(MK_${vv:H}) 617.error MK_${vv:H} can't be set by a user. 618.endif 619.if defined(WITH_${vv:H}) 620MK_${vv:H}:= yes 621.elif defined(WITHOUT_${vv:H}) 622MK_${vv:H}:= no 623.else 624MK_${vv:H}:= ${MK_${vv:T}} 625.endif 626.endfor 627 628# 629# MK_* options that default to "yes" if the compiler is a C++11 compiler. 630# 631.include <bsd.compiler.mk> 632.for var in \ 633 LIBCPLUSPLUS 634.if defined(WITH_${var}) && defined(WITHOUT_${var}) 635.error WITH_${var} and WITHOUT_${var} can't both be set. 636.endif 637.if defined(MK_${var}) 638.error MK_${var} can't be set by a user. 639.endif 640.if ${COMPILER_FEATURES:Mc++11} 641.if defined(WITHOUT_${var}) 642MK_${var}:= no 643.else 644MK_${var}:= yes 645.endif 646.else 647.if defined(WITH_${var}) 648MK_${var}:= yes 649.else 650MK_${var}:= no 651.endif 652.endif 653.endfor 654 655.if ${MK_CTF} != "no" 656CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} 657.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) 658CTFCONVERT_CMD= 659.else 660CTFCONVERT_CMD= @: 661.endif 662 663.if ${MK_INSTALL_AS_USER} != "no" 664_uid!= id -u 665.if ${_uid} != 0 666.if !defined(USER) 667USER!= id -un 668.endif 669_gid!= id -gn 670.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE 671$xOWN= ${USER} 672$xGRP= ${_gid} 673.endfor 674.endif 675.endif 676 677.endif # !_WITHOUT_SRCCONF 678 679# Pointer to the top directory into which tests are installed. Should not be 680# overriden by Makefiles, but the user may choose to set this in src.conf(5). 681TESTSBASE?= /usr/tests 682 683.endif # !target(__<bsd.own.mk>__) 684