1 # $NetBSD: bsd.prefs.mk,v 1.307 2010/02/06 11:40:22 obache Exp $
3 # This file includes the mk.conf file, which contains the user settings.
5 # Packages should include this file before any of the .if directives, as
6 # well as before modifying variables like CFLAGS, LDFLAGS, and so on.
7 # Otherwise the behavior may be unexpected.
9 # When mk.conf is included by this file, the following variables are
13 # This variable is set to the list of Open Source licenses. See
14 # mk/license.mk for details.
17 # The platform for which the packages are built. It has the form
18 # ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH}.
20 # NATIVE_MACHINE_PLATFORM
21 # The platform on which the packages are built. This is usually
22 # the same as ${MACHINE_PLATFORM}, but can be different when
23 # cross-building packages.
26 # The path of the package, relative to the pkgsrc top-level
27 # directory. Typical values look like editors/emacs or
28 # misc/openoffice-bin.
30 # Keywords: mk.conf user
33 .if !defined(BSD_PKG_MK)
35 # Let mk.conf know that this is pkgsrc.
37 __PREFIX_SET__:=${PREFIX}
39 # Set PATH if not already set
41 PATH=/bin:/usr/bin:/sbin:/usr/sbin
44 # Expand MAKE to a full path.
47 # allow for MAKE=./make and similar.
48 . if empty(_MAKE:M/*) && !empty(_MAKE:M*/*) && defined(PWD) && exists(${PWD}/${MAKE})
49 _MAKE:= ${PWD}/${MAKE}
51 . for _dir_ in ${PATH:C/\:/ /g}
53 . if exists(${_dir_}/${MAKE})
54 _MAKE:= ${_dir_}/${MAKE}
58 . if !empty(_MAKE:M/*)
59 MAKEFLAGS+= _MAKE=${_MAKE:Q}
64 .if exists(/usr/bin/uname)
66 .elif exists(/bin/uname)
73 OPSYS:= ${:!${UNAME} -s!:S/-//g:S/\///g}
74 MAKEFLAGS+= OPSYS=${OPSYS:Q}
77 # The _CMD indirection allows code below to modify these values
78 # without executing the commands at all. Later, recursed make
79 # invocations will skip these blocks entirely thanks to MAKEFLAGS.
80 .if !defined(OS_VERSION)
81 _OS_VERSION_CMD= ${UNAME} -r
82 OS_VERSION= ${_OS_VERSION_CMD:sh}
83 MAKEFLAGS+= OS_VERSION=${OS_VERSION:Q}
86 # Preload these for architectures not in all variations of bsd.own.mk,
87 # which do not match their GNU names exactly.
93 GNU_ARCH.m68000?= m68010
94 GNU_ARCH.mips?= mipsel
97 NATIVE_MACHINE_GNU_ARCH?= ${GNU_ARCH.${NATIVE_MACHINE_ARCH}:U${NATIVE_MACHINE_ARCH}}
98 MACHINE_GNU_ARCH?= ${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}}
100 .if ${OPSYS} == "NetBSD"
103 .elif ${OPSYS} == "AIX"
104 LOWER_ARCH!= _cpuid=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $$1 }'`; \
105 if /usr/sbin/lsattr -El $$_cpuid | grep ' POWER' >/dev/null 2>&1; then \
110 MACHINE_ARCH?= ${LOWER_ARCH}
111 . if exists(/usr/bin/oslevel)
112 _OS_VERSION!= /usr/bin/oslevel
114 _OS_VERSION!= echo `${UNAME} -v`.`${UNAME} -r`
116 OS_VERSION= ${_OS_VERSION:C/\([0-9]*\.[0-9]*\).*/\1/}
117 LOWER_OPSYS_VERSUFFIX= ${_OS_VERSION}
121 .elif ${OPSYS} == "BSDOS"
124 .elif ${OPSYS} == "Darwin"
126 .if empty(OS_VERSION:M[1-9].*.*)
127 # Automatically select the ABI under Mac OS X Snow Leopard. We don't
128 # use this at the moment because too many third party programs don't
131 # _SYSCTL_HW_OPTIONAL_X86_64!= /usr/sbin/sysctl -n hw.optional.x86_64
132 # . if ${_SYSCTL_HW_OPTIONAL_X86_64} == "1"
139 LOWER_ARCH.64= x86_64
140 LOWER_ARCH= ${LOWER_ARCH.${ABI}}
142 LOWER_ARCH!= ${UNAME} -p
144 MACHINE_ARCH= ${LOWER_ARCH}
145 MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
146 LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/}
149 .elif ${OPSYS} == "DragonFly"
150 OS_VERSION:= ${OS_VERSION:C/-.*$//}
151 LOWER_OPSYS?= dragonfly
152 LOWER_ARCH!= ${UNAME} -p
153 . if ${LOWER_ARCH} == "amd64"
156 MACHINE_ARCH= ${LOWER_ARCH}
158 MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
161 .elif ${OPSYS} == "FreeBSD"
162 OS_VERSION:= ${OS_VERSION:C/-.*$//}
163 LOWER_OPSYS?= freebsd
164 LOWER_ARCH!= ${UNAME} -p
165 . if ${LOWER_ARCH} == "amd64"
168 MACHINE_ARCH= ${LOWER_ARCH}
170 MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
171 LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/}
172 . if ${LOWER_ARCH} == "i386"
175 LOWER_VENDOR?= unknown
177 .elif ${OPSYS} == "Haiku"
179 . if ${MACHINE_ARCH} == "i386"
183 .elif ${OPSYS} == "Interix"
184 LOWER_OPSYS?= interix
186 . if exists(/usr/lib/libc.so.5.2) || exists(/usr/lib/x86/libc.so.5.2)
187 LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/}
189 LOWER_OPSYS_VERSUFFIX?= 3
190 . if exists(/usr/lib/libc.so.3.5)
192 . elif exists(/usr/lib/libc.so.3.1)
199 .elif !empty(OPSYS:MIRIX*)
200 LOWER_ARCH!= ${UNAME} -p
202 LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION}
205 .elif ${OPSYS} == "Linux"
206 OS_VERSION:= ${OS_VERSION:C/-.*$//}
208 MACHINE_ARCH:= ${MACHINE_ARCH:C/i.86/i386/}
209 MACHINE_ARCH:= ${MACHINE_ARCH:C/ppc/powerpc/}
210 . if !defined(LOWER_ARCH)
211 LOWER_ARCH!= ${UNAME} -m | sed -e 's/i.86/i386/' -e 's/ppc/powerpc/'
212 . endif # !defined(LOWER_ARCH)
213 . if ${LOWER_ARCH} == "x86_64"
216 . if ${MACHINE_ARCH} == "unknown" || ${MACHINE_ARCH} == ""
217 MACHINE_ARCH= ${LOWER_ARCH}
218 MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
220 . if exists(/etc/debian_version)
221 LOWER_VENDOR?= debian
222 . elif exists(/etc/mandrake-release)
223 LOWER_VENDOR?= mandrake
224 . elif exists(/etc/redhat-version)
225 LOWER_VENDOR?= redhat
226 . elif exists(/etc/slackware-version)
227 LOWER_VENDOR?= slackware
228 . elif exists(/etc/ssdlinux_version)
230 . elif ${LOWER_ARCH} == "i386"
233 LOWER_VENDOR?= unknown
235 .elif ${OPSYS} == "OSF1"
236 LOWER_ARCH!= ${UNAME} -p
237 MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
238 MACHINE_ARCH?= ${LOWER_ARCH}
239 OS_VERSION:= ${OS_VERSION:C/^V//}
241 LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION}
244 .elif ${OPSYS} == "HPUX"
245 OS_VERSION:= ${OS_VERSION:C/^B.//}
246 .if ${MACHINE_ARCH} == "9000"
250 LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION}
253 .elif ${OPSYS} == "SunOS"
254 . if ${MACHINE_ARCH} == "sparc"
255 SPARC_TARGET_ARCH?= sparcv7
256 . elif ${MACHINE_ARCH} == "sun4"
258 SPARC_TARGET_ARCH?= sparcv7
259 . elif ${MACHINE_ARCH} == "i86pc" || ${MACHINE_ARCH} == "i86xpv"
261 . elif ${MACHINE_ARCH} == "unknown"
262 . if !defined(LOWER_ARCH)
263 LOWER_ARCH!= ${UNAME} -p
264 . endif # !defined(LOWER_ARCH)
265 MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
268 LOWER_OPSYS?= solaris
269 LOWER_OPSYS_VERSUFFIX= 2
271 .elif !defined(LOWER_OPSYS)
272 LOWER_OPSYS:= ${OPSYS:tl}
275 # Now commit the [LOWER_]OS_VERSION values computed above, eliding the :sh
276 OS_VERSION:= ${OS_VERSION}
277 LOWER_OS_VERSION:= ${OS_VERSION:tl}
279 MAKEFLAGS+= LOWER_OPSYS=${LOWER_OPSYS:Q}
281 LOWER_VENDOR?= # empty ("arch--opsys")
282 LOWER_ARCH?= ${MACHINE_GNU_ARCH}
283 # Expand now as MACHINE_ARCH can be overriden in mk.conf and
284 # LOWER_ARCH is typically derived from it.
285 NATIVE_LOWER_ARCH:= ${LOWER_ARCH}
286 NATIVE_MACHINE_ARCH:= ${MACHINE_ARCH}
288 NATIVE_MACHINE_PLATFORM?= ${OPSYS}-${OS_VERSION}-${NATIVE_MACHINE_ARCH}
289 MACHINE_PLATFORM?= ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH}
290 NATIVE_MACHINE_GNU_PLATFORM?= ${NATIVE_LOWER_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS:C/[0-9]//g}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}
291 MACHINE_GNU_PLATFORM?= ${LOWER_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS:C/[0-9]//g}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}
293 # Needed to prevent an "install:" target from being created in bsd.own.mk.
294 NEED_OWN_INSTALL_TARGET=no
296 # This prevents default use of the cross-tool harness in the "src" tree,
297 # in the odd possible case of someone extracting "pkgsrc" underneath "src".
299 MAKE_ENV+= USETOOLS=no
301 # Set this before <bsd.own.mk> does, since it doesn't know about Darwin
302 .if ${OPSYS} == "Darwin"
306 ACCEPTABLE_LICENSES?= ${DEFAULT_ACCEPTABLE_LICENSES}
308 # Provide PKGPATH early on so that mk.conf can use it.
309 PKGPATH?= ${.CURDIR:C|.*/([^/]*/[^/]*)$|\1|}
311 # Load the settings from MAKECONF, which is /etc/mk.conf by default.
312 .include <bsd.own.mk>
314 # /usr/share/mk/bsd.own.mk on NetBSD 1.3 does not define OBJECT_FMT
315 .if !empty(MACHINE_PLATFORM:MNetBSD-1.3*)
316 . if ${MACHINE_ARCH} == "alpha" || \
317 ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
318 ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
323 # override what bootstrap-pkgsrc sets, which isn't right for NetBSD
325 # XXX other ELF platforms in 1.4 need to be added to here.
326 .elif !empty(MACHINE_PLATFORM:MNetBSD-1.4*)
327 . if ${MACHINE_ARCH} == "alpha" || \
328 ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
329 ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
336 .if ${OPSYS} == "OpenBSD"
337 . if defined(ELF_TOOLCHAIN) && ${ELF_TOOLCHAIN} == "yes"
342 .elif ${OPSYS} == "DragonFly"
344 .elif ${OPSYS} == "AIX"
346 .elif ${OPSYS} == "OSF1"
348 .elif ${OPSYS} == "HPUX"
349 . if ${MACHINE_ARCH} == "ia64" || (defined(ABI) && ${ABI} == "64")
357 .if exists(${.CURDIR}/mk/bsd.pkg.mk)
358 _PKGSRC_TOPDIR= ${.CURDIR}
359 .elif exists(${.CURDIR}/../mk/bsd.pkg.mk)
360 _PKGSRC_TOPDIR= ${.CURDIR}/..
361 .elif exists(${.CURDIR}/../../mk/bsd.pkg.mk)
362 _PKGSRC_TOPDIR= ${.CURDIR}/../..
365 # include the defaults file
366 .include "${_PKGSRC_TOPDIR}/mk/defaults/mk.conf"
370 SHAREMODE?= ${DOCMODE}
372 .if defined(PREFIX) && (${PREFIX} != ${__PREFIX_SET__})
374 @${ECHO_MSG} "You CANNOT set PREFIX manually or in mk.conf. Set LOCALBASE or X11BASE"
375 @${ECHO_MSG} "depending on your needs. See the pkg system documentation for more info."
379 # Load the OS-specific definitions for program variables. Default to loading
380 # the NetBSD ones if an OS-specific file doesn't exist.
381 .if exists(${_PKGSRC_TOPDIR}/mk/platform/${OPSYS}.mk)
382 . include "${_PKGSRC_TOPDIR}/mk/platform/${OPSYS}.mk"
384 . include "${_PKGSRC_TOPDIR}/mk/platform/NetBSD.mk"
385 PKG_FAIL_REASON+= "missing mk/platform/${OPSYS}.mk"
390 # A meta-package is a package that does not have any files and whose
391 # only purpose is to depend on other packages, giving that collection
394 # This variable must be set before including bsd.prefs.mk directly or
397 # Keywords: meta meta-package META_PACKAGE
399 .if defined(META_PACKAGE)
400 PKG_DESTDIR_SUPPORT= user-destdir
406 USE_LANGUAGES= # empty
413 # PKG_DESTDIR_SUPPORT can only be one of "destdir" or "user-destdir".
414 .if defined(PKG_DEVELOPER)
419 PKG_DESTDIR_SUPPORT?= # empty
421 .if empty(PKG_DESTDIR_SUPPORT) || empty(USE_DESTDIR:M[Yy][Ee][Ss])
422 . if empty(USE_DESTDIR:M[Yy][Ee][Ss]) && empty(USE_DESTDIR:M[Nn][Oo])
423 PKG_FAIL_REASON+= "USE_DESTDIR must be either \`\`yes'' or \`\`no''"
426 .elif ${PKG_DESTDIR_SUPPORT} == "user-destdir"
427 _USE_DESTDIR= user-destdir
428 .elif ${PKG_DESTDIR_SUPPORT} == "destdir"
429 _USE_DESTDIR= destdir
431 PKG_FAIL_REASON+= "PKG_DESTDIR_SUPPORT must be \`\`destdir'' or \`\`user-destdir''."
434 .if defined(PKG_DEVELOPER) && empty(PKG_DESTDIR_SUPPORT)
435 WARNINGS+= "[bsd.prefs.mk] The package ${PKGNAME} is missing DESTDIR support."
438 # When using staged installation, everything gets installed into
439 # ${DESTDIR}${PREFIX} instead of ${PREFIX} directly.
441 .if ${_USE_DESTDIR} != "no"
442 DESTDIR= ${WRKDIR}/.destdir
443 . if ${_USE_DESTDIR} == "destdir"
444 _MAKE_PACKAGE_AS_ROOT= yes
445 _MAKE_CLEAN_AS_ROOT= yes
446 _MAKE_INSTALL_AS_ROOT= yes
447 . elif ${_USE_DESTDIR} == "user-destdir"
448 _MAKE_PACKAGE_AS_ROOT= no
449 _MAKE_CLEAN_AS_ROOT= no
450 _MAKE_INSTALL_AS_ROOT= no
456 _MAKE_CLEAN_AS_ROOT?= no
457 # Whether to run the clean target as root.
458 _MAKE_INSTALL_AS_ROOT?= yes
459 # Whether to run the install target as root.
460 _MAKE_PACKAGE_AS_ROOT?= yes
461 # Whether to run the package target as root.
463 # When cross-compilation support is requested, the following options
464 # must be specified as well or guessable:
465 # - MACHINE_ARCH is set to TARGET_ARCH if set.
466 # - CROSS_DESTDIR is guessed from MAKEOBJDIR and MACHINE_ARCH.
467 # - PKG_DBDIR is expanded and prefixed with CROSS_DESTDIR
468 # - DESTDIR support is required
470 # _CROSS_DESTDIR is set for internal use to avoid conditionalising
473 .if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
474 . if defined(TARGET_ARCH)
475 MACHINE_ARCH= ${TARGET_ARCH}
477 CROSS_DESTDIR?= ${MAKEOBJDIR}/destdir.${MACHINE_ARCH}
478 . if !exists(${CROSS_DESTDIR}/usr/include/stddef.h)
479 PKG_FAIL_REASON+= "The cross-compiling root ${CROSS_DESTDIR:Q} is incomplete"
481 _CROSS_DESTDIR= ${CROSS_DESTDIR}
485 # Depends on MACHINE_ARCH override above
486 .if ${OPSYS} == "NetBSD"
487 . if ${OBJECT_FMT} == "ELF" && \
488 (${MACHINE_GNU_ARCH} == "arm" || \
489 ${MACHINE_ARCH} == "i386" || \
490 ${MACHINE_ARCH} == "m68k" || \
491 ${MACHINE_ARCH} == "m68000" || \
492 ${MACHINE_GNU_ARCH} == "sh" || \
493 ${MACHINE_GNU_ARCH} == "shle" || \
494 ${MACHINE_ARCH} == "sparc" || \
495 ${MACHINE_ARCH} == "vax")
500 PKG_INSTALLATION_TYPES?= overwrite
501 # This is a whitespace-separated list of installation types supported
504 # *NOTE*: This variable *must* be set in the package Makefile *before*
505 # the inclusion of bsd.prefs.mk.
507 # Possible: any of: overwrite, pkgviews
510 # Set the style of installation to be performed for the package. The
511 # funky make variable modifiers just select the first word of the value
512 # stored in the referenced variable.
514 .for _pref_ in ${PKG_INSTALLATION_PREFS}
515 . if !empty(PKG_INSTALLATION_TYPES:M${_pref_})
516 PKG_INSTALLATION_TYPE?= ${PKG_INSTALLATION_TYPES:M${_pref_}:S/^/_pkginsttype_/1:M_pkginsttype_*:S/^_pkginsttype_//}
519 PKG_INSTALLATION_TYPE?= none
521 # if the system is IPv6-ready, compile with IPv6 support turned on.
522 .if empty(_OPSYS_HAS_INET6:M[nN][oO])
530 .if !empty(X11_TYPE:Mnative)
531 . if ${OPSYS} == "SunOS"
532 # On Solaris, we default to using OpenWindows for X11.
533 X11BASE?= /usr/openwin
534 . elif ${OPSYS} == "IRIX" || ${OPSYS} == "OSF1" || ${OPSYS} == "HPUX"
536 . elif !empty(MACHINE_PLATFORM:MDarwin-9.*-*) || \
537 !empty(MACHINE_PLATFORM:MDarwin-??.*-*)
539 . elif exists(/usr/X11R7/lib/libX11.so)
545 CROSSBASE?= ${LOCALBASE}/cross
547 # If xpkgwedge.def is found, then clearly we're using xpkgwedge.
548 .if exists(${LOCALBASE}/lib/X11/config/xpkgwedge.def) || \
549 exists(${X11BASE}/lib/X11/config/xpkgwedge.def)
551 .elif ${PKG_INSTALLATION_TYPE} == "pkgviews"
553 .elif ${X11_TYPE} == "modular"
559 .if defined(FIX_SYSTEM_HEADERS) && ${FIX_SYSTEM_HEADERS} == "yes" && \
560 !defined(BOOTSTRAP_PKG) && \
561 exists(../../pkgtools/compat_headers/buildlink3.mk)
562 . include "../../pkgtools/compat_headers/buildlink3.mk"
565 .if ${X11_TYPE} == "modular"
566 X11BASE= ${LOCALBASE}
569 .if !empty(USE_XPKGWEDGE:M[Yy][Ee][Ss])
570 X11PREFIX= ${LOCALBASE}
572 X11PREFIX= ${X11BASE}
575 # Default directory for font encodings
576 X11_ENCODINGSDIR?= ${X11BASE}/lib/X11/fonts/encodings
578 DEPOT_SUBDIR?= packages
579 DEPOTBASE= ${LOCALBASE}/${DEPOT_SUBDIR}
581 # LINK_RPATH_FLAG publicly exports the linker flag used to set the
582 # run-time library search path.
584 .if defined(_OPSYS_LINKER_RPATH_FLAG)
585 LINKER_RPATH_FLAG= ${_OPSYS_LINKER_RPATH_FLAG}
587 LINKER_RPATH_FLAG?= ${_LINKER_RPATH_FLAG}
590 # COMPILER_RPATH_FLAG publicly exports the compiler flag used to pass
591 # run-time library search path directives to the linker.
593 .if defined(_OPSYS_COMPILER_RPATH_FLAG)
594 COMPILER_RPATH_FLAG= ${_OPSYS_COMPILER_RPATH_FLAG}
596 COMPILER_RPATH_FLAG?= ${_COMPILER_RPATH_FLAG}
599 # WHOLE_ARCHIVE_FLAG and NO_WHOLE_ARCHIVE_FLAG publically export the
600 # linker flags to extract all symbols from a static archive.
602 WHOLE_ARCHIVE_FLAG?= ${_OPSYS_WHOLE_ARCHIVE_FLAG}
603 NO_WHOLE_ARCHIVE_FLAG?= ${_OPSYS_NO_WHOLE_ARCHIVE_FLAG}
607 # Provide default values for TOOLs used by the top-level make.
608 USE_TOOLS+= [ awk dirname echo grep pwd sed test true
610 # These tools are used by the top-level make only in certain packages and
611 # should eventually be moved into those particular package Makefiles.
615 # These are tools used directly by bsd.prefs.mk and files included by
618 USE_TOOLS+= awk:pkgsrc cut:pkgsrc echo:pkgsrc pwd:pkgsrc \
619 sed:pkgsrc tr:pkgsrc uname:pkgsrc
621 .include "${_PKGSRC_TOPDIR}/mk/tools/defaults.mk"
623 .if !defined(_PKGSRCDIR)
624 _PKGSRCDIR!= cd ${_PKGSRC_TOPDIR} && ${PWD_CMD}
625 MAKEFLAGS+= _PKGSRCDIR=${_PKGSRCDIR:Q}
627 PKGSRCDIR= ${_PKGSRCDIR}
629 DISTDIR?= ${PKGSRCDIR}/distfiles
630 PACKAGES?= ${PKGSRCDIR}/packages
631 TEMPLATES?= ${PKGSRCDIR}/templates
633 PATCHDIR?= ${.CURDIR}/patches
634 FILESDIR?= ${.CURDIR}/files
637 _PKGSRC_DEPS?= # empty
639 # If WRKOBJDIR is set, use that tree to build
640 .if defined(WRKOBJDIR)
641 BUILD_DIR?= ${WRKOBJDIR}/${PKGPATH}
643 BUILD_DIR!= cd ${.CURDIR} && ${PWD_CMD}
646 # If OBJHOSTNAME is set, use first component of hostname in directory name.
647 # If OBJMACHINE is set, use ${MACHINE_ARCH} in the working directory name.
649 .if defined(OBJHOSTNAME)
650 . if !defined(_HOSTNAME)
651 _HOSTNAME!= ${UNAME} -n
652 MAKEFLAGS+= _HOSTNAME=${_HOSTNAME:Q}
654 WRKDIR_BASENAME?= work.${_HOSTNAME:C|\..*||}
655 MAKEFLAGS+= OBJHOSTNAME=${OBJHOSTNAME:Q}
656 .elif defined(OBJMACHINE)
657 WRKDIR_BASENAME?= work.${MACHINE_ARCH}
658 MAKEFLAGS+= OBJMACHINE=${OBJMACHINE:Q}
660 WRKDIR_BASENAME?= work
663 WRKDIR?= ${BUILD_DIR}/${WRKDIR_BASENAME}
665 # There are many uses for a common log file, so define one that may be
666 # picked up and used by tools.mk, bsd.buildlink3.mk, etc.
668 WRKLOG?= ${WRKDIR}/.work.log
670 PKG_DEFAULT_OPTIONS?= # empty
671 PKG_OPTIONS?= # empty
673 # we want this *before* compiler.mk, so that compiler.mk paths override them
674 .if ${X11_TYPE} != "modular" && defined(USE_X11)
675 PREPEND_PATH+= ${X11BASE}/bin
677 PREPEND_PATH+= ${LOCALBASE}/bin
679 # Wrapper framework definitions
680 .include "wrapper/wrapper-defs.mk"
682 # Binary emulator framework definitions
683 .if defined(EMUL_PLATFORMS) && !empty(EMUL_PLATFORMS)
684 . include "emulator/emulator-vars.mk"
687 # System features framework
688 .include "features/features-vars.mk"
690 # Package system flavor definitions
691 .include "flavor/bsd.flavor-vars.mk"
693 # Make variable definitions cache
694 .include "bsd.makevars.mk"
696 # If MAKECONF is defined, then pass it down to all recursive make
697 # processes invoked by pkgsrc.
699 PKGSRC_MAKE_ENV+= ${MAKECONF:DMAKECONF=${MAKECONF:Q}}
700 RECURSIVE_MAKE= ${SETENV} ${PKGSRC_MAKE_ENV} ${MAKE}
703 _USER_VARS.dirs= DISTDIR LOCALBASE PACKAGES PKG_SYSCONFDIR WRKOBJDIR
704 _PKG_VARS.dirs= WRKSRC PATCHDIR FILESDIR PKGDIR
705 _SYS_VARS.dirs= WRKDIR DESTDIR PKG_SYSCONFBASEDIR
707 # List of 64bit operating systems with sizeof(int) != sizeof(void *).
708 # This can be used for software that is not 64bit clean.
710 # Keywords: ONLY_FOR_PLATFORM NOT_FOR_PLATFORM 64bit
712 LP64PLATFORMS= *-*-alpha *-*-sparc64 *-*-x86_64