bsd.own.mk revision 156813
1# $FreeBSD: head/share/mk/bsd.own.mk 156813 2006-03-17 18:54:44Z 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.sinclude "${SRCCONF}" 109 110# Binaries 111BINOWN?= root 112BINGRP?= wheel 113BINMODE?= 555 114NOBINMODE?= 444 115 116.if defined(MODULES_WITH_WORLD) 117KMODDIR?= /boot/modules 118.else 119KMODDIR?= /boot/kernel 120.endif 121KMODOWN?= ${BINOWN} 122KMODGRP?= ${BINGRP} 123KMODMODE?= ${BINMODE} 124 125LIBDIR?= /usr/lib 126LIBCOMPATDIR?= /usr/lib/compat 127LIBDATADIR?= /usr/libdata 128LINTLIBDIR?= /usr/libdata/lint 129SHLIBDIR?= ${LIBDIR} 130LIBOWN?= ${BINOWN} 131LIBGRP?= ${BINGRP} 132LIBMODE?= ${NOBINMODE} 133 134 135# Share files 136SHAREDIR?= /usr/share 137SHAREOWN?= root 138SHAREGRP?= wheel 139SHAREMODE?= ${NOBINMODE} 140 141MANDIR?= ${SHAREDIR}/man/man 142MANOWN?= ${SHAREOWN} 143MANGRP?= ${SHAREGRP} 144MANMODE?= ${NOBINMODE} 145 146DOCDIR?= ${SHAREDIR}/doc 147DOCOWN?= ${SHAREOWN} 148DOCGRP?= ${SHAREGRP} 149DOCMODE?= ${NOBINMODE} 150 151INFODIR?= ${SHAREDIR}/info 152INFOOWN?= ${SHAREOWN} 153INFOGRP?= ${SHAREGRP} 154INFOMODE?= ${NOBINMODE} 155 156NLSDIR?= ${SHAREDIR}/nls 157NLSOWN?= ${SHAREOWN} 158NLSGRP?= ${SHAREGRP} 159NLSMODE?= ${NOBINMODE} 160 161INCLUDEDIR?= /usr/include 162 163# Common variables 164.if !defined(DEBUG_FLAGS) 165STRIP?= -s 166.endif 167 168COMPRESS_CMD?= gzip -cn 169COMPRESS_EXT?= .gz 170 171# 172# Define MK_* variables (which are either "yes" or "no") for users 173# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 174# make(1) environment. 175# These should be tested with `== "no"' or `!= "no"' in makefiles. 176# The NO_* variables should only be set by makefiles. 177# 178 179# 180# Supported NO_* options (if defined, MK_* will be forced to "no", 181# regardless of user's setting). 182# 183.for var in \ 184 MAN 185.if defined(NO_${var}) 186WITHOUT_${var}= 187.endif 188.endfor 189 190# 191# Compat NO_* options (same as above, except their use is deprecated). 192# 193.if !defined(BURN_BRIDGES) 194.for var in \ 195 ACPI \ 196 ATM \ 197 AUDIT \ 198 AUTHPF \ 199 BIND \ 200 BIND_DNSSEC \ 201 BIND_ETC \ 202 BIND_LIBS_LWRES \ 203 BIND_MTREE \ 204 BIND_NAMED \ 205 BIND_UTILS \ 206 BLUETOOTH \ 207 BOOT \ 208 CALENDAR \ 209 COLLECT2 \ 210 CPP \ 211 CRYPT \ 212 CVS \ 213 CXX \ 214 DICT \ 215 DYNAMICROOT \ 216 EXAMPLES \ 217 FORTH \ 218 FORTRAN \ 219 FP_LIBC \ 220 GAMES \ 221 GCOV \ 222 GDB \ 223 GNU \ 224 GPIB \ 225 GROFF \ 226 HTML \ 227 I4B \ 228 INET6 \ 229 INFO \ 230 IPFILTER \ 231 IPX \ 232 KERBEROS \ 233 LIBC_R \ 234 LIBPTHREAD \ 235 LIBTHR \ 236 LOCALES \ 237 LPR \ 238 MAILWRAPPER \ 239 NETCAT \ 240 NIS \ 241 NLS \ 242 NLS_CATALOGS \ 243 OBJC \ 244 OPENSSH \ 245 OPENSSL \ 246 PAM \ 247 PCVT \ 248 PF \ 249 RCMDS \ 250 RCS \ 251 RESCUE \ 252 SENDMAIL \ 253 SETUID_LOGIN \ 254 SHAREDOCS \ 255 SYSCONS \ 256 TCSH \ 257 TOOLCHAIN \ 258 USB \ 259 WPA_SUPPLICANT_EAPOL 260.if defined(NO_${var}) 261#.warning NO_${var} is deprecated in favour of WITHOUT_${var}= 262WITHOUT_${var}= 263.endif 264.endfor 265.endif # !defined(BURN_BRIDGES) 266 267# 268# Older-style variables that enabled behaviour when set. 269# 270.if defined(YES_HESIOD) 271WITH_HESIOD= 272.endif 273.if defined(MAKE_IDEA) 274WITH_IDEA= 275.endif 276 277# 278# MK_* options which default to "yes". 279# 280.for var in \ 281 ACPI \ 282 ATM \ 283 AUDIT \ 284 AUTHPF \ 285 BIND \ 286 BIND_DNSSEC \ 287 BIND_ETC \ 288 BIND_LIBS_LWRES \ 289 BIND_MTREE \ 290 BIND_NAMED \ 291 BIND_UTILS \ 292 BLUETOOTH \ 293 BOOT \ 294 CALENDAR \ 295 COLLECT2 \ 296 CPP \ 297 CRYPT \ 298 CVS \ 299 CXX \ 300 DICT \ 301 DYNAMICROOT \ 302 EXAMPLES \ 303 FORTH \ 304 FORTRAN \ 305 FP_LIBC \ 306 GAMES \ 307 GCOV \ 308 GDB \ 309 GNU \ 310 GPIB \ 311 GROFF \ 312 HTML \ 313 I4B \ 314 INET6 \ 315 INFO \ 316 IPFILTER \ 317 IPX \ 318 KERBEROS \ 319 LIBC_R \ 320 LIBPTHREAD \ 321 LIBTHR \ 322 LOCALES \ 323 LPR \ 324 MAILWRAPPER \ 325 MAN \ 326 NETCAT \ 327 NIS \ 328 NLS \ 329 NLS_CATALOGS \ 330 OBJC \ 331 OPENSSH \ 332 OPENSSL \ 333 PAM \ 334 PCVT \ 335 PF \ 336 RCMDS \ 337 RCS \ 338 RESCUE \ 339 SENDMAIL \ 340 SETUID_LOGIN \ 341 SHAREDOCS \ 342 SYSCONS \ 343 TCSH \ 344 TOOLCHAIN \ 345 USB \ 346 WPA_SUPPLICANT_EAPOL 347.if defined(WITH_${var}) && defined(WITHOUT_${var}) 348.error WITH_${var} and WITHOUT_${var} can't both be set. 349.endif 350.if defined(MK_${var}) 351.error MK_${var} can't be set by a user. 352.endif 353.if defined(WITHOUT_${var}) 354MK_${var}:= no 355.else 356MK_${var}:= yes 357.endif 358.endfor 359 360# 361# MK_* options which default to "no". 362# 363.for var in \ 364 BIND_LIBS \ 365 HESIOD \ 366 IDEA 367.if defined(WITH_${var}) && defined(WITHOUT_${var}) 368.error WITH_${var} and WITHOUT_${var} can't both be set. 369.endif 370.if defined(MK_${var}) 371.error MK_${var} can't be set by a user. 372.endif 373.if defined(WITH_${var}) 374MK_${var}:= yes 375.else 376MK_${var}:= no 377.endif 378.endfor 379 380# 381# Force some options off if their dependencies are off. 382# 383.if ${MK_BIND} == "no" 384MK_BIND_DNSSEC:= no 385MK_BIND_ETC:= no 386MK_BIND_LIBS:= no 387MK_BIND_LIBS_LWRES:= no 388MK_BIND_MTREE:= no 389MK_BIND_NAMED:= no 390MK_BIND_UTILS:= no 391.endif 392 393.if ${MK_CRYPT} == "no" 394MK_OPENSSL:= no 395MK_OPENSSH:= no 396MK_KERBEROS:= no 397.endif 398 399.if ${MK_CXX} == "no" 400MK_COLLECT2:= no 401.endif 402 403.if ${MK_OPENSSL} == "no" 404MK_OPENSSH:= no 405MK_KERBEROS:= no 406.endif 407 408.if ${MK_PF} == "no" 409MK_AUTHPF:= no 410.endif 411 412.if ${MK_TOOLCHAIN} == "no" 413MK_GDB:= no 414.endif 415 416# 417# Set defaults for the MK_*_SUPPORT variables. 418# 419 420# 421# MK_*_SUPPORT options which default to "yes" unless their corresponding 422# MK_* variable is set to "no". 423# 424.for var in \ 425 GNU \ 426 HESIOD \ 427 INET6 \ 428 IPX \ 429 KERBEROS \ 430 PAM 431.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 432.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 433.endif 434.if defined(MK_${var}_SUPPORT) 435.error MK_${var}_SUPPORT can't be set by a user. 436.endif 437.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 438MK_${var}_SUPPORT:= no 439.else 440MK_${var}_SUPPORT:= yes 441.endif 442.endfor 443 444.endif # !target(__<bsd.own.mk>__) 445