bsd.own.mk revision 158115
1284194Sdelphij# $FreeBSD: head/share/mk/bsd.own.mk 158115 2006-04-28 12:03:38Z ume $ 2284194Sdelphij# 3284194Sdelphij# The include file <bsd.own.mk> set common variables for owner, 4284194Sdelphij# group, mode, and directories. Defaults are in brackets. 5284194Sdelphij# 6284194Sdelphij# 7284194Sdelphij# +++ variables +++ 8284194Sdelphij# 9284194Sdelphij# DESTDIR Change the tree where the file gets installed. [not set] 10284194Sdelphij# 11284194Sdelphij# DISTDIR Change the tree where the file for a distribution 12284194Sdelphij# gets installed (see /usr/src/release/Makefile). [not set] 13284194Sdelphij# 14284194Sdelphij# COMPRESS_CMD Program to compress documents. 15284194Sdelphij# Output is to stdout. [gzip -cn] 16284194Sdelphij# 17284194Sdelphij# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 18284194Sdelphij# 19284194Sdelphij# BINOWN Binary owner. [root] 20284194Sdelphij# 21284194Sdelphij# BINGRP Binary group. [wheel] 22284194Sdelphij# 23284194Sdelphij# BINMODE Binary mode. [555] 24284194Sdelphij# 25284194Sdelphij# NOBINMODE Mode for non-executable files. [444] 26284194Sdelphij# 27284194Sdelphij# LIBDIR Base path for libraries. [/usr/lib] 28284194Sdelphij# 29284194Sdelphij# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 30284194Sdelphij# 31284194Sdelphij# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 32284194Sdelphij# 33284194Sdelphij# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 34284194Sdelphij# 35284194Sdelphij# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 36284194Sdelphij# 37284194Sdelphij# LIBOWN Library owner. [${BINOWN}] 38284194Sdelphij# 39284194Sdelphij# LIBGRP Library group. [${BINGRP}] 40284194Sdelphij# 41284194Sdelphij# LIBMODE Library mode. [${NOBINMODE}] 42284194Sdelphij# 43284194Sdelphij# 44284194Sdelphij# KMODDIR Base path for loadable kernel modules 45284194Sdelphij# (see kld(4)). [/boot/kernel] 46284194Sdelphij# 47284194Sdelphij# KMODOWN KLD owner. [${BINOWN}] 48284194Sdelphij# 49284194Sdelphij# KMODGRP KLD group. [${BINGRP}] 50284194Sdelphij# 51284194Sdelphij# KMODMODE KLD mode. [${BINMODE}] 52284194Sdelphij# 53284194Sdelphij# 54284194Sdelphij# SHAREDIR Base path for architecture-independent ascii 55284194Sdelphij# text files. [/usr/share] 56284194Sdelphij# 57284194Sdelphij# SHAREOWN ASCII text file owner. [root] 58284194Sdelphij# 59284194Sdelphij# SHAREGRP ASCII text file group. [wheel] 60284194Sdelphij# 61284194Sdelphij# SHAREMODE ASCII text file mode. [${NOBINMODE}] 62284194Sdelphij# 63284194Sdelphij# 64284194Sdelphij# DOCDIR Base path for system documentation (e.g. PSD, USD, 65284194Sdelphij# handbook, FAQ etc.). [${SHAREDIR}/doc] 66284194Sdelphij# 67284194Sdelphij# DOCOWN Documentation owner. [${SHAREOWN}] 68284194Sdelphij# 69284194Sdelphij# DOCGRP Documentation group. [${SHAREGRP}] 70284194Sdelphij# 71284194Sdelphij# DOCMODE Documentation mode. [${NOBINMODE}] 72284194Sdelphij# 73284194Sdelphij# 74284194Sdelphij# INFODIR Base path for GNU's hypertext system 75284194Sdelphij# called Info (see info(1)). [${SHAREDIR}/info] 76284194Sdelphij# 77284194Sdelphij# INFOOWN Info owner. [${SHAREOWN}] 78284194Sdelphij# 79284194Sdelphij# INFOGRP Info group. [${SHAREGRP}] 80284194Sdelphij# 81284194Sdelphij# INFOMODE Info mode. [${NOBINMODE}] 82284194Sdelphij# 83284194Sdelphij# 84284194Sdelphij# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 85284194Sdelphij# 86284194Sdelphij# MANOWN Manual owner. [${SHAREOWN}] 87284194Sdelphij# 88284194Sdelphij# MANGRP Manual group. [${SHAREGRP}] 89284194Sdelphij# 90284194Sdelphij# MANMODE Manual mode. [${NOBINMODE}] 91284194Sdelphij# 92284194Sdelphij# 93284194Sdelphij# NLSDIR Base path for National Language Support files 94284194Sdelphij# installation. [${SHAREDIR}/nls] 95284194Sdelphij# 96284194Sdelphij# NLSOWN National Language Support files owner. [${SHAREOWN}] 97284194Sdelphij# 98284194Sdelphij# NLSGRP National Language Support files group. [${SHAREGRP}] 99284194Sdelphij# 100284194Sdelphij# NLSMODE National Language Support files mode. [${NOBINMODE}] 101284194Sdelphij# 102284194Sdelphij# INCLUDEDIR Base path for standard C include files [/usr/include] 103284194Sdelphij 104284194Sdelphij.if !target(__<bsd.own.mk>__) 105284194Sdelphij__<bsd.own.mk>__: 106284194Sdelphij 107284194SdelphijSRCCONF?= /etc/src.conf 108284194Sdelphij.if exists(${SRCCONF}) 109284194Sdelphij.include "${SRCCONF}" 110284194Sdelphij.endif 111284194Sdelphij 112284194Sdelphij# Binaries 113284194SdelphijBINOWN?= root 114284194SdelphijBINGRP?= wheel 115284194SdelphijBINMODE?= 555 116284194SdelphijNOBINMODE?= 444 117284194Sdelphij 118284194Sdelphij.if defined(MODULES_WITH_WORLD) 119284194SdelphijKMODDIR?= /boot/modules 120284194Sdelphij.else 121284194SdelphijKMODDIR?= /boot/kernel 122284194Sdelphij.endif 123284194SdelphijKMODOWN?= ${BINOWN} 124284194SdelphijKMODGRP?= ${BINGRP} 125284194SdelphijKMODMODE?= ${BINMODE} 126284194Sdelphij 127284194SdelphijLIBDIR?= /usr/lib 128284194SdelphijLIBCOMPATDIR?= /usr/lib/compat 129284194SdelphijLIBDATADIR?= /usr/libdata 130284194SdelphijLINTLIBDIR?= /usr/libdata/lint 131284194SdelphijSHLIBDIR?= ${LIBDIR} 132284194SdelphijLIBOWN?= ${BINOWN} 133284194SdelphijLIBGRP?= ${BINGRP} 134284194SdelphijLIBMODE?= ${NOBINMODE} 135284194Sdelphij 136284194Sdelphij 137284194Sdelphij# Share files 138284194SdelphijSHAREDIR?= /usr/share 139284194SdelphijSHAREOWN?= root 140284194SdelphijSHAREGRP?= wheel 141284194SdelphijSHAREMODE?= ${NOBINMODE} 142284194Sdelphij 143284194SdelphijMANDIR?= ${SHAREDIR}/man/man 144284194SdelphijMANOWN?= ${SHAREOWN} 145284194SdelphijMANGRP?= ${SHAREGRP} 146284194SdelphijMANMODE?= ${NOBINMODE} 147284194Sdelphij 148284194SdelphijDOCDIR?= ${SHAREDIR}/doc 149284194SdelphijDOCOWN?= ${SHAREOWN} 150284194SdelphijDOCGRP?= ${SHAREGRP} 151284194SdelphijDOCMODE?= ${NOBINMODE} 152284194Sdelphij 153284194SdelphijINFODIR?= ${SHAREDIR}/info 154284194SdelphijINFOOWN?= ${SHAREOWN} 155284194SdelphijINFOGRP?= ${SHAREGRP} 156284194SdelphijINFOMODE?= ${NOBINMODE} 157284194Sdelphij 158284194SdelphijNLSDIR?= ${SHAREDIR}/nls 159284194SdelphijNLSOWN?= ${SHAREOWN} 160284194SdelphijNLSGRP?= ${SHAREGRP} 161284194SdelphijNLSMODE?= ${NOBINMODE} 162284194Sdelphij 163284194SdelphijINCLUDEDIR?= /usr/include 164284194Sdelphij 165284194Sdelphij# Common variables 166284194Sdelphij.if !defined(DEBUG_FLAGS) 167284194SdelphijSTRIP?= -s 168284194Sdelphij.endif 169284194Sdelphij 170284194SdelphijCOMPRESS_CMD?= gzip -cn 171284194SdelphijCOMPRESS_EXT?= .gz 172284194Sdelphij 173284194Sdelphij# 174284194Sdelphij# Define MK_* variables (which are either "yes" or "no") for users 175284194Sdelphij# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 176284194Sdelphij# make(1) environment. 177284194Sdelphij# These should be tested with `== "no"' or `!= "no"' in makefiles. 178284194Sdelphij# The NO_* variables should only be set by makefiles. 179284194Sdelphij# 180284194Sdelphij 181284194Sdelphij# 182284194Sdelphij# Supported NO_* options (if defined, MK_* will be forced to "no", 183284194Sdelphij# regardless of user's setting). 184284194Sdelphij# 185284194Sdelphij.for var in \ 186284194Sdelphij MAN \ 187284194Sdelphij PROFILE 188284194Sdelphij.if defined(NO_${var}) 189284194SdelphijWITHOUT_${var}= 190284194Sdelphij.endif 191284194Sdelphij.endfor 192284194Sdelphij 193284194Sdelphij# 194284194Sdelphij# Compat NO_* options (same as above, except their use is deprecated). 195284194Sdelphij# 196284194Sdelphij.if !defined(BURN_BRIDGES) 197284194Sdelphij.for var in \ 198284194Sdelphij ACPI \ 199284194Sdelphij ATM \ 200284194Sdelphij AUDIT \ 201284194Sdelphij AUTHPF \ 202284194Sdelphij BIND \ 203284194Sdelphij BIND_DNSSEC \ 204284194Sdelphij BIND_ETC \ 205284194Sdelphij BIND_LIBS_LWRES \ 206284194Sdelphij BIND_MTREE \ 207284194Sdelphij BIND_NAMED \ 208284194Sdelphij BIND_UTILS \ 209284194Sdelphij BLUETOOTH \ 210284194Sdelphij BOOT \ 211284194Sdelphij CALENDAR \ 212284194Sdelphij CPP \ 213284194Sdelphij CRYPT \ 214284194Sdelphij CVS \ 215284194Sdelphij CXX \ 216284194Sdelphij DICT \ 217284194Sdelphij DYNAMICROOT \ 218284194Sdelphij EXAMPLES \ 219284194Sdelphij FORTH \ 220284194Sdelphij FORTRAN \ 221284194Sdelphij FP_LIBC \ 222284194Sdelphij GAMES \ 223284194Sdelphij GCOV \ 224284194Sdelphij GDB \ 225284194Sdelphij GNU \ 226284194Sdelphij GPIB \ 227284194Sdelphij GROFF \ 228284194Sdelphij HTML \ 229284194Sdelphij I4B \ 230284194Sdelphij INET6 \ 231284194Sdelphij INFO \ 232284194Sdelphij IPFILTER \ 233284194Sdelphij IPX \ 234284194Sdelphij KERBEROS \ 235284194Sdelphij LIB32 \ 236284194Sdelphij LIBC_R \ 237284194Sdelphij LIBPTHREAD \ 238284194Sdelphij LIBTHR \ 239284194Sdelphij LOCALES \ 240284194Sdelphij LPR \ 241284194Sdelphij MAILWRAPPER \ 242284194Sdelphij NETCAT \ 243284194Sdelphij NIS \ 244284194Sdelphij NLS \ 245284194Sdelphij NLS_CATALOGS \ 246284194Sdelphij NS_CACHING \ 247284194Sdelphij OBJC \ 248284194Sdelphij OPENSSH \ 249284194Sdelphij OPENSSL \ 250284194Sdelphij PAM \ 251284194Sdelphij PCVT \ 252284194Sdelphij PF \ 253284194Sdelphij RCMDS \ 254284194Sdelphij RCS \ 255284194Sdelphij RESCUE \ 256284194Sdelphij SENDMAIL \ 257284194Sdelphij SETUID_LOGIN \ 258284194Sdelphij SHAREDOCS \ 259284194Sdelphij SYSCONS \ 260284194Sdelphij TCSH \ 261284194Sdelphij TOOLCHAIN \ 262284194Sdelphij USB \ 263284194Sdelphij WPA_SUPPLICANT_EAPOL 264284194Sdelphij.if defined(NO_${var}) 265284194Sdelphij#.warning NO_${var} is deprecated in favour of WITHOUT_${var}= 266284194SdelphijWITHOUT_${var}= 267284194Sdelphij.endif 268284194Sdelphij.endfor 269284194Sdelphij.endif # !defined(BURN_BRIDGES) 270284194Sdelphij 271284194Sdelphij# 272284194Sdelphij# Older-style variables that enabled behaviour when set. 273284194Sdelphij# 274284194Sdelphij.if defined(YES_HESIOD) 275284194SdelphijWITH_HESIOD= 276.endif 277.if defined(MAKE_IDEA) 278WITH_IDEA= 279.endif 280 281# 282# MK_* options which default to "yes". 283# 284.for var in \ 285 ACPI \ 286 ATM \ 287 AUDIT \ 288 AUTHPF \ 289 BIND \ 290 BIND_DNSSEC \ 291 BIND_ETC \ 292 BIND_LIBS_LWRES \ 293 BIND_MTREE \ 294 BIND_NAMED \ 295 BIND_UTILS \ 296 BLUETOOTH \ 297 BOOT \ 298 CALENDAR \ 299 CPP \ 300 CRYPT \ 301 CVS \ 302 CXX \ 303 DICT \ 304 DYNAMICROOT \ 305 EXAMPLES \ 306 FORTH \ 307 FORTRAN \ 308 FP_LIBC \ 309 GAMES \ 310 GCOV \ 311 GDB \ 312 GNU \ 313 GPIB \ 314 GROFF \ 315 HTML \ 316 I4B \ 317 INET6 \ 318 INFO \ 319 IPFILTER \ 320 IPX \ 321 KERBEROS \ 322 LIB32 \ 323 LIBC_R \ 324 LIBPTHREAD \ 325 LIBTHR \ 326 LOCALES \ 327 LPR \ 328 MAILWRAPPER \ 329 MAN \ 330 NCP \ 331 NETCAT \ 332 NIS \ 333 NLS \ 334 NLS_CATALOGS \ 335 NS_CACHING \ 336 OBJC \ 337 OPENSSH \ 338 OPENSSL \ 339 PAM \ 340 PCVT \ 341 PF \ 342 PROFILE \ 343 RCMDS \ 344 RCS \ 345 RESCUE \ 346 SENDMAIL \ 347 SETUID_LOGIN \ 348 SHAREDOCS \ 349 SYSCONS \ 350 TCSH \ 351 TOOLCHAIN \ 352 USB \ 353 WPA_SUPPLICANT_EAPOL 354.if defined(WITH_${var}) && defined(WITHOUT_${var}) 355.error WITH_${var} and WITHOUT_${var} can't both be set. 356.endif 357.if defined(MK_${var}) 358.error MK_${var} can't be set by a user. 359.endif 360.if defined(WITHOUT_${var}) 361MK_${var}:= no 362.else 363MK_${var}:= yes 364.endif 365.endfor 366 367# 368# MK_* options which default to "no". 369# 370.for var in \ 371 BIND_LIBS \ 372 HESIOD \ 373 IDEA 374.if defined(WITH_${var}) && defined(WITHOUT_${var}) 375.error WITH_${var} and WITHOUT_${var} can't both be set. 376.endif 377.if defined(MK_${var}) 378.error MK_${var} can't be set by a user. 379.endif 380.if defined(WITH_${var}) 381MK_${var}:= yes 382.else 383MK_${var}:= no 384.endif 385.endfor 386 387# 388# Force some options off if their dependencies are off. 389# 390.if ${MK_BIND} == "no" 391MK_BIND_DNSSEC:= no 392MK_BIND_ETC:= no 393MK_BIND_LIBS:= no 394MK_BIND_LIBS_LWRES:= no 395MK_BIND_MTREE:= no 396MK_BIND_NAMED:= no 397MK_BIND_UTILS:= no 398.endif 399 400.if ${MK_BIND_MTREE} == "no" 401MK_BIND_ETC:= no 402.endif 403 404.if ${MK_CRYPT} == "no" 405MK_OPENSSL:= no 406MK_OPENSSH:= no 407MK_KERBEROS:= no 408.endif 409 410.if ${MK_IPX} == "no" 411MK_NCP:= no 412.endif 413 414.if ${MK_OPENSSL} == "no" 415MK_OPENSSH:= no 416MK_KERBEROS:= no 417.endif 418 419.if ${MK_PF} == "no" 420MK_AUTHPF:= no 421.endif 422 423.if ${MK_TOOLCHAIN} == "no" 424MK_GDB:= no 425.endif 426 427# 428# Set defaults for the MK_*_SUPPORT variables. 429# 430 431# 432# MK_*_SUPPORT options which default to "yes" unless their corresponding 433# MK_* variable is set to "no". 434# 435.for var in \ 436 GNU \ 437 INET6 \ 438 IPX \ 439 KERBEROS \ 440 PAM 441.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 442.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 443.endif 444.if defined(MK_${var}_SUPPORT) 445.error MK_${var}_SUPPORT can't be set by a user. 446.endif 447.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 448MK_${var}_SUPPORT:= no 449.else 450MK_${var}_SUPPORT:= yes 451.endif 452.endfor 453 454.endif # !target(__<bsd.own.mk>__) 455