bsd.own.mk revision 157083
1# $FreeBSD: head/share/mk/bsd.own.mk 157083 2006-03-24 06:14:31Z 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.if ${MACHINE_ARCH} == "amd64" 182_LIB32= LIB32 183.endif 184 185# 186# Supported NO_* options (if defined, MK_* will be forced to "no", 187# regardless of user's setting). 188# 189.for var in \ 190 MAN \ 191 PROFILE 192.if defined(NO_${var}) 193WITHOUT_${var}= 194.endif 195.endfor 196 197# 198# Compat NO_* options (same as above, except their use is deprecated). 199# 200.if !defined(BURN_BRIDGES) 201.for var in \ 202 ACPI \ 203 ATM \ 204 AUDIT \ 205 AUTHPF \ 206 BIND \ 207 BIND_DNSSEC \ 208 BIND_ETC \ 209 BIND_LIBS_LWRES \ 210 BIND_MTREE \ 211 BIND_NAMED \ 212 BIND_UTILS \ 213 BLUETOOTH \ 214 BOOT \ 215 CALENDAR \ 216 CPP \ 217 CRYPT \ 218 CVS \ 219 CXX \ 220 DICT \ 221 DYNAMICROOT \ 222 EXAMPLES \ 223 FORTH \ 224 FORTRAN \ 225 FP_LIBC \ 226 GAMES \ 227 GCOV \ 228 GDB \ 229 GNU \ 230 GPIB \ 231 GROFF \ 232 HTML \ 233 I4B \ 234 INET6 \ 235 INFO \ 236 IPFILTER \ 237 IPX \ 238 KERBEROS \ 239 ${_LIB32} \ 240 LIBC_R \ 241 LIBPTHREAD \ 242 LIBTHR \ 243 LOCALES \ 244 LPR \ 245 MAILWRAPPER \ 246 NETCAT \ 247 NIS \ 248 NLS \ 249 NLS_CATALOGS \ 250 OBJC \ 251 OPENSSH \ 252 OPENSSL \ 253 PAM \ 254 PCVT \ 255 PF \ 256 RCMDS \ 257 RCS \ 258 RESCUE \ 259 SENDMAIL \ 260 SETUID_LOGIN \ 261 SHAREDOCS \ 262 SYSCONS \ 263 TCSH \ 264 TOOLCHAIN \ 265 USB \ 266 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 ATM \ 290 AUDIT \ 291 AUTHPF \ 292 BIND \ 293 BIND_DNSSEC \ 294 BIND_ETC \ 295 BIND_LIBS_LWRES \ 296 BIND_MTREE \ 297 BIND_NAMED \ 298 BIND_UTILS \ 299 BLUETOOTH \ 300 BOOT \ 301 CALENDAR \ 302 CPP \ 303 CRYPT \ 304 CVS \ 305 CXX \ 306 DICT \ 307 DYNAMICROOT \ 308 EXAMPLES \ 309 FORTH \ 310 FORTRAN \ 311 FP_LIBC \ 312 GAMES \ 313 GCOV \ 314 GDB \ 315 GNU \ 316 GPIB \ 317 GROFF \ 318 HTML \ 319 I4B \ 320 INET6 \ 321 INFO \ 322 IPFILTER \ 323 IPX \ 324 KERBEROS \ 325 ${_LIB32} \ 326 LIBC_R \ 327 LIBPTHREAD \ 328 LIBTHR \ 329 LOCALES \ 330 LPR \ 331 MAILWRAPPER \ 332 MAN \ 333 NCP \ 334 NETCAT \ 335 NIS \ 336 NLS \ 337 NLS_CATALOGS \ 338 OBJC \ 339 OPENSSH \ 340 OPENSSL \ 341 PAM \ 342 PCVT \ 343 PF \ 344 PROFILE \ 345 RCMDS \ 346 RCS \ 347 RESCUE \ 348 SENDMAIL \ 349 SETUID_LOGIN \ 350 SHAREDOCS \ 351 SYSCONS \ 352 TCSH \ 353 TOOLCHAIN \ 354 USB \ 355 WPA_SUPPLICANT_EAPOL 356.if defined(WITH_${var}) && defined(WITHOUT_${var}) 357.error WITH_${var} and WITHOUT_${var} can't both be set. 358.endif 359.if defined(MK_${var}) 360.error MK_${var} can't be set by a user. 361.endif 362.if defined(WITHOUT_${var}) 363MK_${var}:= no 364.else 365MK_${var}:= yes 366.endif 367.endfor 368 369# 370# MK_* options which default to "no". 371# 372.for var in \ 373 BIND_LIBS \ 374 HESIOD \ 375 IDEA 376.if defined(WITH_${var}) && defined(WITHOUT_${var}) 377.error WITH_${var} and WITHOUT_${var} can't both be set. 378.endif 379.if defined(MK_${var}) 380.error MK_${var} can't be set by a user. 381.endif 382.if defined(WITH_${var}) 383MK_${var}:= yes 384.else 385MK_${var}:= no 386.endif 387.endfor 388 389# 390# Force some options off if their dependencies are off. 391# 392.if ${MK_BIND} == "no" 393MK_BIND_DNSSEC:= no 394MK_BIND_ETC:= no 395MK_BIND_LIBS:= no 396MK_BIND_LIBS_LWRES:= no 397MK_BIND_MTREE:= no 398MK_BIND_NAMED:= no 399MK_BIND_UTILS:= no 400.endif 401 402.if ${MK_CRYPT} == "no" 403MK_OPENSSL:= no 404MK_OPENSSH:= no 405MK_KERBEROS:= no 406.endif 407 408.if ${MK_IPX} == "no" 409MK_NCP:= no 410.endif 411 412.if ${MK_OPENSSL} == "no" 413MK_OPENSSH:= no 414MK_KERBEROS:= no 415.endif 416 417.if ${MK_PF} == "no" 418MK_AUTHPF:= no 419.endif 420 421.if ${MK_TOOLCHAIN} == "no" 422MK_GDB:= no 423.endif 424 425# 426# Set defaults for the MK_*_SUPPORT variables. 427# 428 429# 430# MK_*_SUPPORT options which default to "yes" unless their corresponding 431# MK_* variable is set to "no". 432# 433.for var in \ 434 GNU \ 435 INET6 \ 436 IPX \ 437 KERBEROS \ 438 PAM 439.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 440.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 441.endif 442.if defined(MK_${var}_SUPPORT) 443.error MK_${var}_SUPPORT can't be set by a user. 444.endif 445.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 446MK_${var}_SUPPORT:= no 447.else 448MK_${var}_SUPPORT:= yes 449.endif 450.endfor 451 452.endif # !target(__<bsd.own.mk>__) 453