bsd.own.mk revision 169724
1184588Sdfr# $FreeBSD: head/share/mk/bsd.own.mk 169724 2007-05-19 04:42:59Z kan $ 2184588Sdfr# 3184588Sdfr# The include file <bsd.own.mk> set common variables for owner, 4184588Sdfr# group, mode, and directories. Defaults are in brackets. 5184588Sdfr# 6184588Sdfr# 7184588Sdfr# +++ variables +++ 8184588Sdfr# 9184588Sdfr# DESTDIR Change the tree where the file gets installed. [not set] 10184588Sdfr# 11184588Sdfr# DISTDIR Change the tree where the file for a distribution 12184588Sdfr# gets installed (see /usr/src/release/Makefile). [not set] 13184588Sdfr# 14184588Sdfr# COMPRESS_CMD Program to compress documents. 15184588Sdfr# Output is to stdout. [gzip -cn] 16184588Sdfr# 17184588Sdfr# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 18184588Sdfr# 19184588Sdfr# BINOWN Binary owner. [root] 20184588Sdfr# 21184588Sdfr# BINGRP Binary group. [wheel] 22184588Sdfr# 23184588Sdfr# BINMODE Binary mode. [555] 24184588Sdfr# 25184588Sdfr# NOBINMODE Mode for non-executable files. [444] 26184588Sdfr# 27184588Sdfr# LIBDIR Base path for libraries. [/usr/lib] 28184588Sdfr# 29184588Sdfr# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 30184588Sdfr# 31184588Sdfr# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 32184588Sdfr# 33184588Sdfr# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 34184588Sdfr# 35184588Sdfr# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 36184588Sdfr# 37184588Sdfr# LIBOWN Library owner. [${BINOWN}] 38184588Sdfr# 39184588Sdfr# LIBGRP Library group. [${BINGRP}] 40184588Sdfr# 41184588Sdfr# LIBMODE Library mode. [${NOBINMODE}] 42184588Sdfr# 43184588Sdfr# 44184588Sdfr# KMODDIR Base path for loadable kernel modules 45184588Sdfr# (see kld(4)). [/boot/kernel] 46184588Sdfr# 47184588Sdfr# KMODOWN KLD owner. [${BINOWN}] 48184588Sdfr# 49184588Sdfr# KMODGRP KLD group. [${BINGRP}] 50184588Sdfr# 51184588Sdfr# KMODMODE KLD mode. [${BINMODE}] 52184588Sdfr# 53184588Sdfr# 54184588Sdfr# SHAREDIR Base path for architecture-independent ascii 55184588Sdfr# text files. [/usr/share] 56184588Sdfr# 57184588Sdfr# SHAREOWN ASCII text file owner. [root] 58184588Sdfr# 59184588Sdfr# SHAREGRP ASCII text file group. [wheel] 60184588Sdfr# 61184588Sdfr# SHAREMODE ASCII text file mode. [${NOBINMODE}] 62184588Sdfr# 63184588Sdfr# 64184588Sdfr# DOCDIR Base path for system documentation (e.g. PSD, USD, 65184588Sdfr# handbook, FAQ etc.). [${SHAREDIR}/doc] 66184588Sdfr# 67184588Sdfr# DOCOWN Documentation owner. [${SHAREOWN}] 68184588Sdfr# 69184588Sdfr# DOCGRP Documentation group. [${SHAREGRP}] 70184588Sdfr# 71184588Sdfr# DOCMODE Documentation mode. [${NOBINMODE}] 72184588Sdfr# 73184588Sdfr# 74184588Sdfr# INFODIR Base path for GNU's hypertext system 75184588Sdfr# called Info (see info(1)). [${SHAREDIR}/info] 76184588Sdfr# 77184588Sdfr# INFOOWN Info owner. [${SHAREOWN}] 78184588Sdfr# 79184588Sdfr# INFOGRP Info group. [${SHAREGRP}] 80184588Sdfr# 81184588Sdfr# INFOMODE Info mode. [${NOBINMODE}] 82184588Sdfr# 83184588Sdfr# 84184588Sdfr# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 85184588Sdfr# 86184588Sdfr# MANOWN Manual owner. [${SHAREOWN}] 87184588Sdfr# 88184588Sdfr# MANGRP Manual group. [${SHAREGRP}] 89184588Sdfr# 90184588Sdfr# MANMODE Manual mode. [${NOBINMODE}] 91184588Sdfr# 92184588Sdfr# 93184588Sdfr# NLSDIR Base path for National Language Support files 94184588Sdfr# installation. [${SHAREDIR}/nls] 95184588Sdfr# 96184588Sdfr# NLSOWN National Language Support files owner. [${SHAREOWN}] 97184588Sdfr# 98184588Sdfr# NLSGRP National Language Support files group. [${SHAREGRP}] 99184588Sdfr# 100184588Sdfr# NLSMODE National Language Support files mode. [${NOBINMODE}] 101184588Sdfr# 102184588Sdfr# INCLUDEDIR Base path for standard C include files [/usr/include] 103184588Sdfr 104184588Sdfr.if !target(__<bsd.own.mk>__) 105184588Sdfr__<bsd.own.mk>__: 106184588Sdfr 107184588Sdfr.if !defined(_WITHOUT_SRCCONF) 108184588SdfrSRCCONF?= /etc/src.conf 109184588Sdfr.if exists(${SRCCONF}) 110184588Sdfr.include "${SRCCONF}" 111184588Sdfr.endif 112184588Sdfr.endif 113184588Sdfr 114184588Sdfr# Binaries 115184588SdfrBINOWN?= root 116184588SdfrBINGRP?= wheel 117184588SdfrBINMODE?= 555 118184588SdfrNOBINMODE?= 444 119184588Sdfr 120184588Sdfr.if defined(MODULES_WITH_WORLD) 121184588SdfrKMODDIR?= /boot/modules 122184588Sdfr.else 123184588SdfrKMODDIR?= /boot/kernel 124184588Sdfr.endif 125184588SdfrKMODOWN?= ${BINOWN} 126184588SdfrKMODGRP?= ${BINGRP} 127184588SdfrKMODMODE?= ${BINMODE} 128184588Sdfr 129184588SdfrLIBDIR?= /usr/lib 130184588SdfrLIBCOMPATDIR?= /usr/lib/compat 131184588SdfrLIBDATADIR?= /usr/libdata 132184588SdfrLINTLIBDIR?= /usr/libdata/lint 133184588SdfrSHLIBDIR?= ${LIBDIR} 134184588SdfrLIBOWN?= ${BINOWN} 135184588SdfrLIBGRP?= ${BINGRP} 136184588SdfrLIBMODE?= ${NOBINMODE} 137184588Sdfr 138184588Sdfr 139184588Sdfr# Share files 140184588SdfrSHAREDIR?= /usr/share 141184588SdfrSHAREOWN?= root 142184588SdfrSHAREGRP?= wheel 143184588SdfrSHAREMODE?= ${NOBINMODE} 144184588Sdfr 145184588SdfrMANDIR?= ${SHAREDIR}/man/man 146184588SdfrMANOWN?= ${SHAREOWN} 147184588SdfrMANGRP?= ${SHAREGRP} 148184588SdfrMANMODE?= ${NOBINMODE} 149184588Sdfr 150184588SdfrDOCDIR?= ${SHAREDIR}/doc 151184588SdfrDOCOWN?= ${SHAREOWN} 152184588SdfrDOCGRP?= ${SHAREGRP} 153184588SdfrDOCMODE?= ${NOBINMODE} 154184588Sdfr 155184588SdfrINFODIR?= ${SHAREDIR}/info 156184588SdfrINFOOWN?= ${SHAREOWN} 157184588SdfrINFOGRP?= ${SHAREGRP} 158184588SdfrINFOMODE?= ${NOBINMODE} 159184588Sdfr 160184588SdfrNLSDIR?= ${SHAREDIR}/nls 161184588SdfrNLSOWN?= ${SHAREOWN} 162184588SdfrNLSGRP?= ${SHAREGRP} 163184588SdfrNLSMODE?= ${NOBINMODE} 164184588Sdfr 165184588SdfrDEFAULT_THREAD_LIB?= libthr 166184588Sdfr 167184588SdfrINCLUDEDIR?= /usr/include 168184588Sdfr 169184588Sdfr# Common variables 170184588Sdfr.if !defined(DEBUG_FLAGS) 171184588SdfrSTRIP?= -s 172184588Sdfr.endif 173184588Sdfr 174184588SdfrCOMPRESS_CMD?= gzip -cn 175184588SdfrCOMPRESS_EXT?= .gz 176184588Sdfr 177184588Sdfr.if !defined(_WITHOUT_SRCCONF) 178184588Sdfr# 179184588Sdfr# Define MK_* variables (which are either "yes" or "no") for users 180184588Sdfr# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 181184588Sdfr# make(1) environment. 182184588Sdfr# These should be tested with `== "no"' or `!= "no"' in makefiles. 183184588Sdfr# The NO_* variables should only be set by makefiles. 184184588Sdfr# 185184588Sdfr 186184588Sdfr# 187184588Sdfr# Supported NO_* options (if defined, MK_* will be forced to "no", 188184588Sdfr# regardless of user's setting). 189184588Sdfr# 190184588Sdfr.for var in \ 191184588Sdfr MAN \ 192184588Sdfr PROFILE 193184588Sdfr.if defined(NO_${var}) 194184588SdfrWITHOUT_${var}= 195184588Sdfr.endif 196184588Sdfr.endfor 197184588Sdfr 198184588Sdfr# 199184588Sdfr# Compat NO_* options (same as above, except their use is deprecated). 200184588Sdfr# 201184588Sdfr.if !defined(BURN_BRIDGES) 202184588Sdfr.for var in \ 203184588Sdfr ACPI \ 204184588Sdfr ATM \ 205184588Sdfr AUDIT \ 206184588Sdfr AUTHPF \ 207184588Sdfr BIND \ 208184588Sdfr BIND_DNSSEC \ 209184588Sdfr BIND_ETC \ 210184588Sdfr BIND_LIBS_LWRES \ 211184588Sdfr BIND_MTREE \ 212184588Sdfr BIND_NAMED \ 213184588Sdfr BIND_UTILS \ 214184588Sdfr BLUETOOTH \ 215184588Sdfr BOOT \ 216184588Sdfr CALENDAR \ 217184588Sdfr CPP \ 218184588Sdfr CRYPT \ 219184588Sdfr CVS \ 220184588Sdfr CXX \ 221184588Sdfr DICT \ 222184588Sdfr DYNAMICROOT \ 223184588Sdfr EXAMPLES \ 224184588Sdfr FORTH \ 225184588Sdfr FORTRAN \ 226184588Sdfr FP_LIBC \ 227184588Sdfr GAMES \ 228184588Sdfr GCOV \ 229184588Sdfr GDB \ 230184588Sdfr GNU \ 231184588Sdfr GPIB \ 232184588Sdfr GROFF \ 233184588Sdfr HTML \ 234184588Sdfr I4B \ 235184588Sdfr INET6 \ 236184588Sdfr INFO \ 237184588Sdfr IPFILTER \ 238184588Sdfr IPX \ 239184588Sdfr KERBEROS \ 240184588Sdfr LIB32 \ 241184588Sdfr LIBPTHREAD \ 242184588Sdfr LIBTHR \ 243184588Sdfr LOCALES \ 244184588Sdfr LPR \ 245184588Sdfr MAILWRAPPER \ 246184588Sdfr NETCAT \ 247184588Sdfr NIS \ 248184588Sdfr NLS \ 249184588Sdfr NLS_CATALOGS \ 250184588Sdfr NS_CACHING \ 251184588Sdfr OBJC \ 252184588Sdfr OPENSSH \ 253184588Sdfr OPENSSL \ 254184588Sdfr PAM \ 255184588Sdfr PF \ 256184588Sdfr RCMDS \ 257184588Sdfr RCS \ 258184588Sdfr RESCUE \ 259184588Sdfr SENDMAIL \ 260184588Sdfr SETUID_LOGIN \ 261184588Sdfr SHAREDOCS \ 262184588Sdfr SYSCONS \ 263184588Sdfr TCSH \ 264184588Sdfr TOOLCHAIN \ 265184588Sdfr USB \ 266184588Sdfr WPA_SUPPLICANT_EAPOL 267.if defined(NO_${var}) 268#.warning NO_${var} is deprecated in favour of WITHOUT_${var}= 269WITHOUT_${var}= 270.endif 271.endfor 272.endif # !defined(BURN_BRIDGES) 273 274# 275# Older-style variables that enabled behaviour when set. 276# 277.if defined(YES_HESIOD) 278WITH_HESIOD= 279.endif 280.if defined(MAKE_IDEA) 281WITH_IDEA= 282.endif 283 284# 285# MK_* options which default to "yes". 286# 287.for var in \ 288 ACPI \ 289 ASSERT_DEBUG \ 290 ATM \ 291 AUDIT \ 292 AUTHPF \ 293 BIND \ 294 BIND_DNSSEC \ 295 BIND_ETC \ 296 BIND_LIBS_LWRES \ 297 BIND_MTREE \ 298 BIND_NAMED \ 299 BIND_UTILS \ 300 BLUETOOTH \ 301 BOOT \ 302 BZIP2 \ 303 CALENDAR \ 304 CDDL \ 305 CPP \ 306 CRYPT \ 307 CVS \ 308 CXX \ 309 DICT \ 310 DYNAMICROOT \ 311 EXAMPLES \ 312 FORTH \ 313 FORTRAN \ 314 FP_LIBC \ 315 GAMES \ 316 GCOV \ 317 GDB \ 318 GNU \ 319 GPIB \ 320 GROFF \ 321 HTML \ 322 I4B \ 323 INET6 \ 324 INFO \ 325 IPFILTER \ 326 IPX \ 327 KERBEROS \ 328 LIB32 \ 329 LIBPTHREAD \ 330 LIBTHR \ 331 LOCALES \ 332 LPR \ 333 MAILWRAPPER \ 334 MAN \ 335 NCP \ 336 NETCAT \ 337 NIS \ 338 NLS \ 339 NLS_CATALOGS \ 340 NS_CACHING \ 341 OBJC \ 342 OPENSSH \ 343 OPENSSL \ 344 PAM \ 345 PF \ 346 PROFILE \ 347 RCMDS \ 348 RCS \ 349 RESCUE \ 350 SENDMAIL \ 351 SETUID_LOGIN \ 352 SHAREDOCS \ 353 SSP \ 354 SYMVER \ 355 SYSCONS \ 356 TCSH \ 357 TOOLCHAIN \ 358 USB \ 359 WPA_SUPPLICANT_EAPOL \ 360 ZFS 361.if defined(WITH_${var}) && defined(WITHOUT_${var}) 362.error WITH_${var} and WITHOUT_${var} can't both be set. 363.endif 364.if defined(MK_${var}) 365.error MK_${var} can't be set by a user. 366.endif 367.if defined(WITHOUT_${var}) 368MK_${var}:= no 369.else 370MK_${var}:= yes 371.endif 372.endfor 373 374# 375# MK_* options which default to "no". 376# 377.for var in \ 378 BIND_LIBS \ 379 HESIOD \ 380 IDEA 381.if defined(WITH_${var}) && defined(WITHOUT_${var}) 382.error WITH_${var} and WITHOUT_${var} can't both be set. 383.endif 384.if defined(MK_${var}) 385.error MK_${var} can't be set by a user. 386.endif 387.if defined(WITH_${var}) 388MK_${var}:= yes 389.else 390MK_${var}:= no 391.endif 392.endfor 393 394# 395# Force some options off if their dependencies are off. 396# 397.if ${MK_BIND} == "no" 398MK_BIND_DNSSEC:= no 399MK_BIND_ETC:= no 400MK_BIND_LIBS:= no 401MK_BIND_LIBS_LWRES:= no 402MK_BIND_MTREE:= no 403MK_BIND_NAMED:= no 404MK_BIND_UTILS:= no 405.endif 406 407.if ${MK_BIND_MTREE} == "no" 408MK_BIND_ETC:= no 409.endif 410 411.if ${MK_CDDL} == "no" 412MK_ZFS:= no 413.endif 414 415.if ${MK_CRYPT} == "no" 416MK_OPENSSL:= no 417MK_OPENSSH:= no 418MK_KERBEROS:= no 419.endif 420 421.if ${MK_IPX} == "no" 422MK_NCP:= no 423.endif 424 425.if ${MK_OPENSSL} == "no" 426MK_OPENSSH:= no 427MK_KERBEROS:= no 428.endif 429 430.if ${MK_PF} == "no" 431MK_AUTHPF:= no 432.endif 433 434.if ${MK_TOOLCHAIN} == "no" 435MK_GDB:= no 436.endif 437 438# 439# Set defaults for the MK_*_SUPPORT variables. 440# 441 442# 443# MK_*_SUPPORT options which default to "yes" unless their corresponding 444# MK_* variable is set to "no". 445# 446.for var in \ 447 BZIP2 \ 448 GNU \ 449 INET6 \ 450 IPX \ 451 KERBEROS \ 452 PAM 453.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 454.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 455.endif 456.if defined(MK_${var}_SUPPORT) 457.error MK_${var}_SUPPORT can't be set by a user. 458.endif 459.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 460MK_${var}_SUPPORT:= no 461.else 462MK_${var}_SUPPORT:= yes 463.endif 464.endfor 465.endif # !_WITHOUT_SRCCONF 466 467.endif # !target(__<bsd.own.mk>__) 468