bsd.own.mk revision 162846
154359Sroberto# $FreeBSD: head/share/mk/bsd.own.mk 162846 2006-09-30 11:32:46Z ru $ 2182007Sroberto# 354359Sroberto# The include file <bsd.own.mk> set common variables for owner, 4182007Sroberto# group, mode, and directories. Defaults are in brackets. 554359Sroberto# 654359Sroberto# 754359Sroberto# +++ variables +++ 854359Sroberto# 954359Sroberto# DESTDIR Change the tree where the file gets installed. [not set] 1054359Sroberto# 1154359Sroberto# DISTDIR Change the tree where the file for a distribution 1254359Sroberto# gets installed (see /usr/src/release/Makefile). [not set] 1354359Sroberto# 1454359Sroberto# COMPRESS_CMD Program to compress documents. 1554359Sroberto# Output is to stdout. [gzip -cn] 1682498Sroberto# 1754359Sroberto# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 1854359Sroberto# 1954359Sroberto# BINOWN Binary owner. [root] 2054359Sroberto# 2154359Sroberto# BINGRP Binary group. [wheel] 2254359Sroberto# 2354359Sroberto# BINMODE Binary mode. [555] 2454359Sroberto# 2554359Sroberto# NOBINMODE Mode for non-executable files. [444] 2654359Sroberto# 2754359Sroberto# LIBDIR Base path for libraries. [/usr/lib] 2854359Sroberto# 2954359Sroberto# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 3054359Sroberto# 3154359Sroberto# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 3254359Sroberto# 3354359Sroberto# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 3454359Sroberto# 3554359Sroberto# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 3654359Sroberto# 3754359Sroberto# LIBOWN Library owner. [${BINOWN}] 3854359Sroberto# 3954359Sroberto# LIBGRP Library group. [${BINGRP}] 4054359Sroberto# 4154359Sroberto# LIBMODE Library mode. [${NOBINMODE}] 4254359Sroberto# 4354359Sroberto# 4454359Sroberto# KMODDIR Base path for loadable kernel modules 4554359Sroberto# (see kld(4)). [/boot/kernel] 4654359Sroberto# 4754359Sroberto# KMODOWN KLD owner. [${BINOWN}] 4854359Sroberto# 4954359Sroberto# KMODGRP KLD group. [${BINGRP}] 5054359Sroberto# 5154359Sroberto# KMODMODE KLD mode. [${BINMODE}] 5254359Sroberto# 5354359Sroberto# 5454359Sroberto# SHAREDIR Base path for architecture-independent ascii 5554359Sroberto# text files. [/usr/share] 5654359Sroberto# 5754359Sroberto# SHAREOWN ASCII text file owner. [root] 5854359Sroberto# 5954359Sroberto# SHAREGRP ASCII text file group. [wheel] 6054359Sroberto# 6154359Sroberto# SHAREMODE ASCII text file mode. [${NOBINMODE}] 6254359Sroberto# 6354359Sroberto# 6454359Sroberto# DOCDIR Base path for system documentation (e.g. PSD, USD, 6554359Sroberto# handbook, FAQ etc.). [${SHAREDIR}/doc] 6654359Sroberto# 6754359Sroberto# DOCOWN Documentation owner. [${SHAREOWN}] 6854359Sroberto# 6954359Sroberto# DOCGRP Documentation group. [${SHAREGRP}] 7054359Sroberto# 7154359Sroberto# DOCMODE Documentation mode. [${NOBINMODE}] 7254359Sroberto# 7354359Sroberto# 7454359Sroberto# INFODIR Base path for GNU's hypertext system 7554359Sroberto# called Info (see info(1)). [${SHAREDIR}/info] 7654359Sroberto# 7754359Sroberto# INFOOWN Info owner. [${SHAREOWN}] 7854359Sroberto# 7954359Sroberto# INFOGRP Info group. [${SHAREGRP}] 8054359Sroberto# 8154359Sroberto# INFOMODE Info mode. [${NOBINMODE}] 8254359Sroberto# 8354359Sroberto# 8454359Sroberto# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 8554359Sroberto# 8654359Sroberto# MANOWN Manual owner. [${SHAREOWN}] 8754359Sroberto# 8854359Sroberto# MANGRP Manual group. [${SHAREGRP}] 8954359Sroberto# 9054359Sroberto# MANMODE Manual mode. [${NOBINMODE}] 9154359Sroberto# 9254359Sroberto# 9354359Sroberto# NLSDIR Base path for National Language Support files 9482498Sroberto# installation. [${SHAREDIR}/nls] 9582498Sroberto# 9654359Sroberto# NLSOWN National Language Support files owner. [${SHAREOWN}] 9782498Sroberto# 9854359Sroberto# NLSGRP National Language Support files group. [${SHAREGRP}] 9954359Sroberto# 10054359Sroberto# NLSMODE National Language Support files mode. [${NOBINMODE}] 10154359Sroberto# 10254359Sroberto# INCLUDEDIR Base path for standard C include files [/usr/include] 10354359Sroberto 10454359Sroberto.if !target(__<bsd.own.mk>__) 10554359Sroberto__<bsd.own.mk>__: 10654359Sroberto 10754359SrobertoSRCCONF?= /etc/src.conf 10854359Sroberto.if exists(${SRCCONF}) 10954359Sroberto.include "${SRCCONF}" 11054359Sroberto.endif 11154359Sroberto 11254359Sroberto# Binaries 11354359SrobertoBINOWN?= root 11454359SrobertoBINGRP?= wheel 11554359SrobertoBINMODE?= 555 11654359SrobertoNOBINMODE?= 444 11754359Sroberto 11854359Sroberto.if defined(MODULES_WITH_WORLD) 11954359SrobertoKMODDIR?= /boot/modules 12054359Sroberto.else 12154359SrobertoKMODDIR?= /boot/kernel 12254359Sroberto.endif 12354359SrobertoKMODOWN?= ${BINOWN} 12454359SrobertoKMODGRP?= ${BINGRP} 12554359SrobertoKMODMODE?= ${BINMODE} 12654359Sroberto 12754359SrobertoLIBDIR?= /usr/lib 12854359SrobertoLIBCOMPATDIR?= /usr/lib/compat 12954359SrobertoLIBDATADIR?= /usr/libdata 13054359SrobertoLINTLIBDIR?= /usr/libdata/lint 13154359SrobertoSHLIBDIR?= ${LIBDIR} 13254359SrobertoLIBOWN?= ${BINOWN} 13354359SrobertoLIBGRP?= ${BINGRP} 13454359SrobertoLIBMODE?= ${NOBINMODE} 13554359Sroberto 13654359Sroberto 13782498Sroberto# Share files 13854359SrobertoSHAREDIR?= /usr/share 13954359SrobertoSHAREOWN?= root 14054359SrobertoSHAREGRP?= wheel 14154359SrobertoSHAREMODE?= ${NOBINMODE} 14254359Sroberto 14354359SrobertoMANDIR?= ${SHAREDIR}/man/man 14454359SrobertoMANOWN?= ${SHAREOWN} 14554359SrobertoMANGRP?= ${SHAREGRP} 14654359SrobertoMANMODE?= ${NOBINMODE} 14754359Sroberto 14854359SrobertoDOCDIR?= ${SHAREDIR}/doc 14954359SrobertoDOCOWN?= ${SHAREOWN} 15054359SrobertoDOCGRP?= ${SHAREGRP} 15154359SrobertoDOCMODE?= ${NOBINMODE} 15254359Sroberto 15354359SrobertoINFODIR?= ${SHAREDIR}/info 15454359SrobertoINFOOWN?= ${SHAREOWN} 15554359SrobertoINFOGRP?= ${SHAREGRP} 15654359SrobertoINFOMODE?= ${NOBINMODE} 15754359Sroberto 15854359SrobertoNLSDIR?= ${SHAREDIR}/nls 15954359SrobertoNLSOWN?= ${SHAREOWN} 16054359SrobertoNLSGRP?= ${SHAREGRP} 16154359SrobertoNLSMODE?= ${NOBINMODE} 16254359Sroberto 16354359SrobertoINCLUDEDIR?= /usr/include 16454359Sroberto 16554359Sroberto# Common variables 16654359Sroberto.if !defined(DEBUG_FLAGS) 16754359SrobertoSTRIP?= -s 16854359Sroberto.endif 16954359Sroberto 17054359SrobertoCOMPRESS_CMD?= gzip -cn 17154359SrobertoCOMPRESS_EXT?= .gz 17254359Sroberto 17354359Sroberto# 17454359Sroberto# Define MK_* variables (which are either "yes" or "no") for users 17554359Sroberto# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 17654359Sroberto# make(1) environment. 17754359Sroberto# These should be tested with `== "no"' or `!= "no"' in makefiles. 17854359Sroberto# The NO_* variables should only be set by makefiles. 17954359Sroberto# 18054359Sroberto 18154359Sroberto# 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 CPP \ 213 CRYPT \ 214 CVS \ 215 CXX \ 216 DICT \ 217 DYNAMICROOT \ 218 EXAMPLES \ 219 FORTH \ 220 FORTRAN \ 221 FP_LIBC \ 222 GAMES \ 223 GCOV \ 224 GDB \ 225 GNU \ 226 GPIB \ 227 GROFF \ 228 HTML \ 229 I4B \ 230 INET6 \ 231 INFO \ 232 IPFILTER \ 233 IPX \ 234 KERBEROS \ 235 LIB32 \ 236 LIBPTHREAD \ 237 LIBTHR \ 238 LOCALES \ 239 LPR \ 240 MAILWRAPPER \ 241 NETCAT \ 242 NIS \ 243 NLS \ 244 NLS_CATALOGS \ 245 NS_CACHING \ 246 OBJC \ 247 OPENSSH \ 248 OPENSSL \ 249 PAM \ 250 PF \ 251 RCMDS \ 252 RCS \ 253 RESCUE \ 254 SENDMAIL \ 255 SETUID_LOGIN \ 256 SHAREDOCS \ 257 SYSCONS \ 258 TCSH \ 259 TOOLCHAIN \ 260 USB \ 261 WPA_SUPPLICANT_EAPOL 262.if defined(NO_${var}) 263#.warning NO_${var} is deprecated in favour of WITHOUT_${var}= 264WITHOUT_${var}= 265.endif 266.endfor 267.endif # !defined(BURN_BRIDGES) 268 269# 270# Older-style variables that enabled behaviour when set. 271# 272.if defined(YES_HESIOD) 273WITH_HESIOD= 274.endif 275.if defined(MAKE_IDEA) 276WITH_IDEA= 277.endif 278 279# 280# MK_* options which default to "yes". 281# 282.for var in \ 283 ACPI \ 284 ASSERT_DEBUG \ 285 ATM \ 286 AUDIT \ 287 AUTHPF \ 288 BIND \ 289 BIND_DNSSEC \ 290 BIND_ETC \ 291 BIND_LIBS_LWRES \ 292 BIND_MTREE \ 293 BIND_NAMED \ 294 BIND_UTILS \ 295 BLUETOOTH \ 296 BOOT \ 297 CALENDAR \ 298 CPP \ 299 CRYPT \ 300 CVS \ 301 CXX \ 302 DICT \ 303 DYNAMICROOT \ 304 EXAMPLES \ 305 FORTH \ 306 FORTRAN \ 307 FP_LIBC \ 308 GAMES \ 309 GCOV \ 310 GDB \ 311 GNU \ 312 GPIB \ 313 GROFF \ 314 HTML \ 315 I4B \ 316 INET6 \ 317 INFO \ 318 IPFILTER \ 319 IPX \ 320 KERBEROS \ 321 LIB32 \ 322 LIBPTHREAD \ 323 LIBTHR \ 324 LOCALES \ 325 LPR \ 326 MAILWRAPPER \ 327 MAN \ 328 NCP \ 329 NETCAT \ 330 NIS \ 331 NLS \ 332 NLS_CATALOGS \ 333 NS_CACHING \ 334 OBJC \ 335 OPENSSH \ 336 OPENSSL \ 337 PAM \ 338 PF \ 339 PROFILE \ 340 RCMDS \ 341 RCS \ 342 RESCUE \ 343 SENDMAIL \ 344 SETUID_LOGIN \ 345 SHAREDOCS \ 346 SYSCONS \ 347 TCSH \ 348 TOOLCHAIN \ 349 USB \ 350 WPA_SUPPLICANT_EAPOL 351.if defined(WITH_${var}) && defined(WITHOUT_${var}) 352.error WITH_${var} and WITHOUT_${var} can't both be set. 353.endif 354.if defined(MK_${var}) 355.error MK_${var} can't be set by a user. 356.endif 357.if defined(WITHOUT_${var}) 358MK_${var}:= no 359.else 360MK_${var}:= yes 361.endif 362.endfor 363 364# 365# MK_* options which default to "no". 366# 367.for var in \ 368 BIND_LIBS \ 369 HESIOD \ 370 IDEA 371.if defined(WITH_${var}) && defined(WITHOUT_${var}) 372.error WITH_${var} and WITHOUT_${var} can't both be set. 373.endif 374.if defined(MK_${var}) 375.error MK_${var} can't be set by a user. 376.endif 377.if defined(WITH_${var}) 378MK_${var}:= yes 379.else 380MK_${var}:= no 381.endif 382.endfor 383 384# 385# Force some options off if their dependencies are off. 386# 387.if ${MK_BIND} == "no" 388MK_BIND_DNSSEC:= no 389MK_BIND_ETC:= no 390MK_BIND_LIBS:= no 391MK_BIND_LIBS_LWRES:= no 392MK_BIND_MTREE:= no 393MK_BIND_NAMED:= no 394MK_BIND_UTILS:= no 395.endif 396 397.if ${MK_BIND_MTREE} == "no" 398MK_BIND_ETC:= no 399.endif 400 401.if ${MK_CRYPT} == "no" 402MK_OPENSSL:= no 403MK_OPENSSH:= no 404MK_KERBEROS:= no 405.endif 406 407.if ${MK_IPX} == "no" 408MK_NCP:= no 409.endif 410 411.if ${MK_OPENSSL} == "no" 412MK_OPENSSH:= no 413MK_KERBEROS:= no 414.endif 415 416.if ${MK_PF} == "no" 417MK_AUTHPF:= no 418.endif 419 420.if ${MK_TOOLCHAIN} == "no" 421MK_GDB:= no 422.endif 423 424# 425# Set defaults for the MK_*_SUPPORT variables. 426# 427 428# 429# MK_*_SUPPORT options which default to "yes" unless their corresponding 430# MK_* variable is set to "no". 431# 432.for var in \ 433 GNU \ 434 INET6 \ 435 IPX \ 436 KERBEROS \ 437 PAM 438.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 439.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 440.endif 441.if defined(MK_${var}_SUPPORT) 442.error MK_${var}_SUPPORT can't be set by a user. 443.endif 444.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 445MK_${var}_SUPPORT:= no 446.else 447MK_${var}_SUPPORT:= yes 448.endif 449.endfor 450 451.endif # !target(__<bsd.own.mk>__) 452