bsd.own.mk revision 156905
1# $FreeBSD: head/share/mk/bsd.own.mk 156905 2006-03-20 14:24:58Z ru $ 2# 3# The include file <bsd.own.mk> set common variables for owner, 4# group, mode, and directories. Defaults are in brackets. 5# 6# 7# +++ variables +++ 8# 9# DESTDIR Change the tree where the file gets installed. [not set] 10# 11# DISTDIR Change the tree where the file for a distribution 12# gets installed (see /usr/src/release/Makefile). [not set] 13# 14# COMPRESS_CMD Program to compress documents. 15# Output is to stdout. [gzip -cn] 16# 17# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 18# 19# BINOWN Binary owner. [root] 20# 21# BINGRP Binary group. [wheel] 22# 23# BINMODE Binary mode. [555] 24# 25# NOBINMODE Mode for non-executable files. [444] 26# 27# LIBDIR Base path for libraries. [/usr/lib] 28# 29# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 30# 31# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 32# 33# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 34# 35# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 36# 37# LIBOWN Library owner. [${BINOWN}] 38# 39# LIBGRP Library group. [${BINGRP}] 40# 41# LIBMODE Library mode. [${NOBINMODE}] 42# 43# 44# KMODDIR Base path for loadable kernel modules 45# (see kld(4)). [/boot/kernel] 46# 47# KMODOWN KLD owner. [${BINOWN}] 48# 49# KMODGRP KLD group. [${BINGRP}] 50# 51# KMODMODE KLD mode. [${BINMODE}] 52# 53# 54# SHAREDIR Base path for architecture-independent ascii 55# text files. [/usr/share] 56# 57# SHAREOWN ASCII text file owner. [root] 58# 59# SHAREGRP ASCII text file group. [wheel] 60# 61# SHAREMODE ASCII text file mode. [${NOBINMODE}] 62# 63# 64# DOCDIR Base path for system documentation (e.g. PSD, USD, 65# handbook, FAQ etc.). [${SHAREDIR}/doc] 66# 67# DOCOWN Documentation owner. [${SHAREOWN}] 68# 69# DOCGRP Documentation group. [${SHAREGRP}] 70# 71# DOCMODE Documentation mode. [${NOBINMODE}] 72# 73# 74# INFODIR Base path for GNU's hypertext system 75# called Info (see info(1)). [${SHAREDIR}/info] 76# 77# INFOOWN Info owner. [${SHAREOWN}] 78# 79# INFOGRP Info group. [${SHAREGRP}] 80# 81# INFOMODE Info mode. [${NOBINMODE}] 82# 83# 84# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 85# 86# MANOWN Manual owner. [${SHAREOWN}] 87# 88# MANGRP Manual group. [${SHAREGRP}] 89# 90# MANMODE Manual mode. [${NOBINMODE}] 91# 92# 93# NLSDIR Base path for National Language Support files 94# installation. [${SHAREDIR}/nls] 95# 96# NLSOWN National Language Support files owner. [${SHAREOWN}] 97# 98# NLSGRP National Language Support files group. [${SHAREGRP}] 99# 100# NLSMODE National Language Support files mode. [${NOBINMODE}] 101# 102# INCLUDEDIR Base path for standard C include files [/usr/include] 103 104.if !target(__<bsd.own.mk>__) 105__<bsd.own.mk>__: 106 107SRCCONF?= /etc/src.conf 108.if exists(${SRCCONF}) 109.include "${SRCCONF}" 110.endif 111 112# Binaries 113BINOWN?= root 114BINGRP?= wheel 115BINMODE?= 555 116NOBINMODE?= 444 117 118.if defined(MODULES_WITH_WORLD) 119KMODDIR?= /boot/modules 120.else 121KMODDIR?= /boot/kernel 122.endif 123KMODOWN?= ${BINOWN} 124KMODGRP?= ${BINGRP} 125KMODMODE?= ${BINMODE} 126 127LIBDIR?= /usr/lib 128LIBCOMPATDIR?= /usr/lib/compat 129LIBDATADIR?= /usr/libdata 130LINTLIBDIR?= /usr/libdata/lint 131SHLIBDIR?= ${LIBDIR} 132LIBOWN?= ${BINOWN} 133LIBGRP?= ${BINGRP} 134LIBMODE?= ${NOBINMODE} 135 136 137# Share files 138SHAREDIR?= /usr/share 139SHAREOWN?= root 140SHAREGRP?= wheel 141SHAREMODE?= ${NOBINMODE} 142 143MANDIR?= ${SHAREDIR}/man/man 144MANOWN?= ${SHAREOWN} 145MANGRP?= ${SHAREGRP} 146MANMODE?= ${NOBINMODE} 147 148DOCDIR?= ${SHAREDIR}/doc 149DOCOWN?= ${SHAREOWN} 150DOCGRP?= ${SHAREGRP} 151DOCMODE?= ${NOBINMODE} 152 153INFODIR?= ${SHAREDIR}/info 154INFOOWN?= ${SHAREOWN} 155INFOGRP?= ${SHAREGRP} 156INFOMODE?= ${NOBINMODE} 157 158NLSDIR?= ${SHAREDIR}/nls 159NLSOWN?= ${SHAREOWN} 160NLSGRP?= ${SHAREGRP} 161NLSMODE?= ${NOBINMODE} 162 163INCLUDEDIR?= /usr/include 164 165# Common variables 166.if !defined(DEBUG_FLAGS) 167STRIP?= -s 168.endif 169 170COMPRESS_CMD?= gzip -cn 171COMPRESS_EXT?= .gz 172 173# 174# Define MK_* variables (which are either "yes" or "no") for users 175# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 176# make(1) environment. 177# These should be tested with `== "no"' or `!= "no"' in makefiles. 178# The NO_* variables should only be set by makefiles. 179# 180 181# 182# Supported NO_* options (if defined, MK_* will be forced to "no", 183# regardless of user's setting). 184# 185.for var in \ 186 MAN \ 187 PROFILE 188.if defined(NO_${var}) 189WITHOUT_${var}= 190.endif 191.endfor 192 193# 194# Compat NO_* options (same as above, except their use is deprecated). 195# 196.if !defined(BURN_BRIDGES) 197.for var in \ 198 ACPI \ 199 ATM \ 200 AUDIT \ 201 AUTHPF \ 202 BIND \ 203 BIND_DNSSEC \ 204 BIND_ETC \ 205 BIND_LIBS_LWRES \ 206 BIND_MTREE \ 207 BIND_NAMED \ 208 BIND_UTILS \ 209 BLUETOOTH \ 210 BOOT \ 211 CALENDAR \ 212 COLLECT2 \ 213 CPP \ 214 CRYPT \ 215 CVS \ 216 CXX \ 217 DICT \ 218 DYNAMICROOT \ 219 EXAMPLES \ 220 FORTH \ 221 FORTRAN \ 222 FP_LIBC \ 223 GAMES \ 224 GCOV \ 225 GDB \ 226 GNU \ 227 GPIB \ 228 GROFF \ 229 HTML \ 230 I4B \ 231 INET6 \ 232 INFO \ 233 IPFILTER \ 234 IPX \ 235 KERBEROS \ 236 LIB32 \ 237 LIBC_R \ 238 LIBPTHREAD \ 239 LIBTHR \ 240 LOCALES \ 241 LPR \ 242 MAILWRAPPER \ 243 NETCAT \ 244 NIS \ 245 NLS \ 246 NLS_CATALOGS \ 247 OBJC \ 248 OPENSSH \ 249 OPENSSL \ 250 PAM \ 251 PCVT \ 252 PF \ 253 RCMDS \ 254 RCS \ 255 RESCUE \ 256 SENDMAIL \ 257 SETUID_LOGIN \ 258 SHAREDOCS \ 259 SYSCONS \ 260 TCSH \ 261 TOOLCHAIN \ 262 USB \ 263 WPA_SUPPLICANT_EAPOL 264.if defined(NO_${var}) 265#.warning NO_${var} is deprecated in favour of WITHOUT_${var}= 266WITHOUT_${var}= 267.endif 268.endfor 269.endif # !defined(BURN_BRIDGES) 270 271# 272# Older-style variables that enabled behaviour when set. 273# 274.if defined(YES_HESIOD) 275WITH_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 COLLECT2 \ 300 CPP \ 301 CRYPT \ 302 CVS \ 303 CXX \ 304 DICT \ 305 DYNAMICROOT \ 306 EXAMPLES \ 307 FORTH \ 308 FORTRAN \ 309 FP_LIBC \ 310 GAMES \ 311 GCOV \ 312 GDB \ 313 GNU \ 314 GPIB \ 315 GROFF \ 316 HTML \ 317 I4B \ 318 INET6 \ 319 INFO \ 320 IPFILTER \ 321 IPX \ 322 KERBEROS \ 323 LIB32 \ 324 LIBC_R \ 325 LIBPTHREAD \ 326 LIBTHR \ 327 LOCALES \ 328 LPR \ 329 MAILWRAPPER \ 330 MAN \ 331 NCP \ 332 NETCAT \ 333 NIS \ 334 NLS \ 335 NLS_CATALOGS \ 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_CRYPT} == "no" 401MK_OPENSSL:= no 402MK_OPENSSH:= no 403MK_KERBEROS:= no 404.endif 405 406.if ${MK_CXX} == "no" 407MK_COLLECT2:= 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 HESIOD \ 438 INET6 \ 439 IPX \ 440 KERBEROS \ 441 PAM 442.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 443.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 444.endif 445.if defined(MK_${var}_SUPPORT) 446.error MK_${var}_SUPPORT can't be set by a user. 447.endif 448.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 449MK_${var}_SUPPORT:= no 450.else 451MK_${var}_SUPPORT:= yes 452.endif 453.endfor 454 455.endif # !target(__<bsd.own.mk>__) 456