Annotation of pkgsrc/mk/bsd.prefs.mk, Revision 1.222
1.222 ! joerg 1: # $NetBSD: bsd.prefs.mk,v 1.221 2006/06/03 23:11:42 jlam Exp $
1.1 agc 2: #
3: # Make file, included to get the site preferences, if any. Should
4: # only be included by package Makefiles before any .if defined()
1.7 tv 5: # statements or modifications to "passed" variables (CFLAGS, LDFLAGS, ...),
6: # to make sure any variables defined in /etc/mk.conf, $MAKECONF, or
7: # the system defaults (sys.mk and bsd.own.mk) are used.
1.4 hubertf 8:
1.5 tv 9: # Do not recursively include mk.conf, redefine OPSYS, include bsd.own.mk, etc.
1.199 wiz 10:
11: # Some variables defined here:
12: # OPSYS
13: # The operating system name, as returned by ``uname -s''.
14:
1.192 rillig 15: .if !defined(BSD_PKG_MK)
1.5 tv 16:
1.7 tv 17: # Let mk.conf know that this is pkgsrc.
1.104 jlam 18: BSD_PKG_MK=1
1.7 tv 19: __PREFIX_SET__:=${PREFIX}
1.1 agc 20:
1.216 abs 21: # Set PATH if not already set
22: .if !defined(PATH)
23: PATH=/bin:/usr/bin:/sbin:/usr/sbin
24: .endif
25:
1.149 jlam 26: # Expand MAKE to a full path.
27: .if !defined(_MAKE)
28: _MAKE:= ${MAKE}
29: . for _dir_ in ${PATH:C/\:/ /g}
30: . if empty(_MAKE:M/*)
31: . if exists(${_dir_}/${MAKE})
32: _MAKE:= ${_dir_}/${MAKE}
33: . endif
34: . endif
35: . endfor
36: . if !empty(_MAKE:M/*)
1.150 jlam 37: MAKEFLAGS+= _MAKE=${_MAKE:Q}
1.149 jlam 38: . endif
39: .endif
40: MAKE:= ${_MAKE}
41:
1.9 christos 42: .if exists(/usr/bin/uname)
43: UNAME=/usr/bin/uname
44: .elif exists(/bin/uname)
45: UNAME=/bin/uname
46: .else
47: UNAME=echo Unknown
48: .endif
49:
1.156 recht 50: .if exists(/usr/bin/cut)
51: CUT=/usr/bin/cut
52: .elif exists(/bin/cut)
53: CUT=/bin/cut
54: .else
55: CUT=echo Unknown
56: .endif
57:
1.192 rillig 58: .if !defined(OPSYS)
1.132 reed 59: OPSYS!= ${UNAME} -s | tr -d /
1.215 rillig 60: MAKEFLAGS+= OPSYS=${OPSYS:Q}
1.17 mycroft 61: .endif
1.203 tv 62:
63: # The _CMD indirection allows code below to modify these values
64: # without executing the commands at all. Later, recursed make
65: # invocations will skip these blocks entirely thanks to MAKEFLAGS.
1.192 rillig 66: .if !defined(OS_VERSION)
1.203 tv 67: _OS_VERSION_CMD= ${UNAME} -r
68: OS_VERSION= ${_OS_VERSION_CMD:sh}
1.215 rillig 69: MAKEFLAGS+= OS_VERSION=${OS_VERSION:Q}
1.66 abs 70: .endif
1.192 rillig 71: .if !defined(LOWER_OS_VERSION)
1.203 tv 72: _LOWER_OS_VERSION_CMD= echo ${OS_VERSION} | tr 'A-Z' 'a-z'
73: LOWER_OS_VERSION= ${_LOWER_OS_VERSION_CMD:sh}
1.215 rillig 74: MAKEFLAGS+= LOWER_OS_VERSION=${LOWER_OS_VERSION:Q}
1.17 mycroft 75: .endif
1.1 agc 76:
1.201 tv 77: # Preload these for architectures not in all variations of bsd.own.mk,
78: # which do not match their GNU names exactly.
1.70 fredb 79: GNU_ARCH.arm26?= arm
1.7 tv 80: GNU_ARCH.arm32?= arm
1.12 christos 81: GNU_ARCH.i486?= i386
82: GNU_ARCH.i586?= i386
83: GNU_ARCH.i686?= i386
1.70 fredb 84: GNU_ARCH.m68000?= m68010
1.7 tv 85: GNU_ARCH.mips?= mipsel
1.70 fredb 86: GNU_ARCH.sh3eb?= sh
87: GNU_ARCH.sh3el?= shle
1.201 tv 88: MACHINE_GNU_ARCH?= ${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}}
1.3 tv 89:
1.10 agc 90: .if ${OPSYS} == "NetBSD"
91: LOWER_OPSYS?= netbsd
1.135 reed 92:
1.202 tv 93: .elif ${OPSYS} == "AIX"
94: LOWER_ARCH!= _cpuid=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $$1 }'`; \
95: if /usr/sbin/lsattr -El $$_cpuid | grep ' POWER' >/dev/null 2>&1; then \
96: echo rs6000; \
97: else \
98: echo powerpc; \
99: fi
100: MACHINE_ARCH?= ${LOWER_ARCH}
101: . if exists(/usr/bin/oslevel)
102: _OS_VERSION!= /usr/bin/oslevel
103: . else
104: _OS_VERSION!= echo `${UNAME} -v`.`${UNAME} -r`
105: . endif
106: OS_VERSION!= echo ${_OS_VERSION} | sed -e 's,\([0-9]*\.[0-9]*\).*,\1,'
107: LOWER_OS_VERSION= ${OS_VERSION}
108: LOWER_OPSYS_VERSUFFIX= ${_OS_VERSION}
109: LOWER_OPSYS?= aix
110: LOWER_VENDOR?= ibm
111:
1.135 reed 112: .elif ${OPSYS} == "BSDOS"
113: LOWER_OPSYS?= bsdi
1.90 grant 114:
1.202 tv 115: .elif ${OPSYS} == "Darwin"
116: LOWER_OPSYS?= darwin
117: LOWER_ARCH!= ${UNAME} -p
118: MACHINE_ARCH= ${LOWER_ARCH}
1.215 rillig 119: MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
1.220 minskim 120: LOWER_OPSYS_VERSUFFIX!= echo ${LOWER_OS_VERSION} | ${CUT} -c -1
1.202 tv 121: LOWER_VENDOR?= apple
122:
123: .elif ${OPSYS} == "DragonFly"
1.218 joerg 124: OS_VERSION:= ${OS_VERSION:C/-.*$//}
1.202 tv 125: LOWER_OPSYS?= dragonfly
126: LOWER_ARCH!= ${UNAME} -p
127: MACHINE_ARCH= ${LOWER_ARCH}
1.215 rillig 128: MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
1.202 tv 129: LOWER_VENDOR?= pc
130:
1.90 grant 131: .elif ${OPSYS} == "FreeBSD"
132: LOWER_OPSYS?= freebsd
133: LOWER_ARCH!= ${UNAME} -p
134: MACHINE_ARCH= ${LOWER_ARCH}
1.215 rillig 135: MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
1.156 recht 136: LOWER_OPSYS_VERSUFFIX!= echo ${LOWER_OS_VERSION} | ${CUT} -c -1
1.91 grant 137: . if ${LOWER_ARCH} == "i386"
1.90 grant 138: LOWER_VENDOR?= pc
1.203 tv 139: . endif
1.91 grant 140: LOWER_VENDOR?= unknown
1.58 abs 141:
1.202 tv 142: .elif ${OPSYS} == "Interix"
143: LOWER_OPSYS?= interix3
1.176 wiz 144: LOWER_VENDOR?= pc
1.203 tv 145: . if exists(/usr/lib/libc.so.3.5)
146: OS_VERSION= 3.5
147: . elif exists(/usr/lib/libc.so.3.1)
148: OS_VERSION= 3.1
149: . else
150: OS_VERSION= 3.0
151: . endif
152: LOWER_OS_VERSION= ${OS_VERSION}
1.176 wiz 153:
1.202 tv 154: .elif !empty(OPSYS:MIRIX*)
1.112 grant 155: LOWER_ARCH!= ${UNAME} -p
1.202 tv 156: LOWER_OPSYS?= irix${OS_VERSION}
157: LOWER_VENDOR?= sgi
1.58 abs 158:
1.10 agc 159: .elif ${OPSYS} == "Linux"
160: LOWER_OPSYS?= linux
1.100 jschauma 161: MACHINE_ARCH:= ${MACHINE_ARCH:C/i.86/i386/}
1.174 ben 162: MACHINE_ARCH:= ${MACHINE_ARCH:C/ppc/powerpc/}
1.102 jschauma 163: . if !defined(LOWER_ARCH)
1.175 martti 164: LOWER_ARCH!= ${UNAME} -m | sed -e 's/i.86/i386/' -e 's/ppc/powerpc/'
1.102 jschauma 165: . endif # !defined(LOWER_ARCH)
1.115 abs 166: . if ${MACHINE_ARCH} == "unknown" || ${MACHINE_ARCH} == ""
1.35 abs 167: MACHINE_ARCH= ${LOWER_ARCH}
1.215 rillig 168: MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
1.106 jschauma 169: . endif
170: . if exists(/etc/debian_version)
171: LOWER_VENDOR?= debian
172: . elif exists(/etc/mandrake-release)
173: LOWER_VENDOR?= mandrake
174: . elif exists(/etc/redhat-version)
175: LOWER_VENDOR?= redhat
176: . elif exists(/etc/slackware-version)
177: LOWER_VENDOR?= slackware
178: . elif ${LOWER_ARCH} == "i386"
179: LOWER_VENDOR?= pc
1.203 tv 180: . endif
1.106 jschauma 181: LOWER_VENDOR?= unknown
1.12 christos 182:
1.177 grant 183: .elif ${OPSYS} == "OSF1"
184: LOWER_ARCH!= ${UNAME} -p
1.215 rillig 185: MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
1.177 grant 186: MACHINE_ARCH?= ${LOWER_ARCH}
1.203 tv 187: OS_VERSION:= ${OS_VERSION:C/^V//}
1.177 grant 188: LOWER_OPSYS?= osf${OS_VERSION}
189: LOWER_VENDOR?= dec
190:
1.202 tv 191: .elif ${OPSYS} == "SunOS"
192: . if ${MACHINE_ARCH} == "sparc"
193: SPARC_TARGET_ARCH?= sparcv7
194: . elif ${MACHINE_ARCH} == "sun4"
195: MACHINE_ARCH= sparc
196: SPARC_TARGET_ARCH?= sparcv7
197: . elif ${MACHINE_ARCH} == "i86pc"
198: MACHINE_ARCH= i386
199: . elif ${MACHINE_ARCH} == "unknown"
200: . if !defined(LOWER_ARCH)
201: LOWER_ARCH!= ${UNAME} -p
202: . endif # !defined(LOWER_ARCH)
1.215 rillig 203: MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
1.181 grant 204: . endif
1.202 tv 205: LOWER_VENDOR?= sun
206: LOWER_OPSYS?= solaris
207: LOWER_OPSYS_VERSUFFIX= 2
1.181 grant 208:
1.10 agc 209: .elif !defined(LOWER_OPSYS)
1.101 jschauma 210: LOWER_OPSYS!= echo ${OPSYS} | tr A-Z a-z
1.17 mycroft 211: .endif
1.58 abs 212:
1.203 tv 213: # Now commit the [LOWER_]OS_VERSION values computed above, eliding the :sh
214: LOWER_OS_VERSION:= ${LOWER_OS_VERSION}
215: OS_VERSION:= ${OS_VERSION}
216:
1.215 rillig 217: MAKEFLAGS+= LOWER_OPSYS=${LOWER_OPSYS:Q}
1.7 tv 218:
1.202 tv 219: LOWER_VENDOR?= # empty ("arch--opsys")
1.7 tv 220: LOWER_ARCH?= ${MACHINE_GNU_ARCH}
221:
222: MACHINE_PLATFORM?= ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH}
1.131 fredb 223: MACHINE_GNU_PLATFORM?= ${LOWER_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}
1.59 agc 224:
1.152 grant 225: # Needed to prevent an "install:" target from being created in bsd.own.mk.
1.60 tron 226: NEED_OWN_INSTALL_TARGET=no
1.65 tv 227:
228: # This prevents default use of the cross-tool harness in the "src" tree,
229: # in the odd possible case of someone extracting "pkgsrc" underneath "src".
230: USETOOLS= no
231: MAKE_ENV+= USETOOLS=no
1.71 schmonz 232:
233: # Set this before <bsd.own.mk> does, since it doesn't know about Darwin
234: .if ${OPSYS} == "Darwin"
235: OBJECT_FMT?= Mach-O
236: .endif
1.60 tron 237:
1.205 rillig 238: # Load the settings from MAKECONF, which is /etc/mk.conf by default.
1.73 jlam 239: .include <bsd.own.mk>
240:
1.72 jlam 241: # /usr/share/mk/bsd.own.mk on NetBSD 1.3 does not define OBJECT_FMT
1.134 grant 242: .if !empty(MACHINE_PLATFORM:MNetBSD-1.3*)
1.126 grant 243: . if ${MACHINE_ARCH} == "alpha" || \
244: ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
245: ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
1.72 jlam 246: OBJECT_FMT?= ELF
1.126 grant 247: . else
1.72 jlam 248: OBJECT_FMT?= a.out
1.134 grant 249: . endif
250: # override what bootstrap-pkgsrc sets, which isn't right for NetBSD
251: # 1.4.
252: # XXX other ELF platforms in 1.4 need to be added to here.
253: .elif !empty(MACHINE_PLATFORM:MNetBSD-1.4*)
254: . if ${MACHINE_ARCH} == "alpha" || \
255: ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
256: ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
257: OBJECT_FMT= ELF
258: . else
259: OBJECT_FMT= a.out
1.127 itojun 260: . endif
261: .endif
262:
263: .if ${OPSYS} == "OpenBSD"
264: . if defined(ELF_TOOLCHAIN) && ${ELF_TOOLCHAIN} == "yes"
265: OBJECT_FMT?= ELF
266: . else
267: OBJECT_FMT?= a.out
1.126 grant 268: . endif
1.182 grant 269: .elif ${OPSYS} == "DragonFly"
270: OBJECT_FMT= ELF
271: .elif ${OPSYS} == "AIX"
272: OBJECT_FMT= XCOFF
1.176 wiz 273: .endif
274:
1.167 jlam 275: # Calculate depth
1.170 jlam 276: .if exists(${.CURDIR}/mk/bsd.pkg.mk)
1.171 jlam 277: _PKGSRC_TOPDIR= ${.CURDIR}
1.167 jlam 278: .elif exists(${.CURDIR}/../mk/bsd.pkg.mk)
1.171 jlam 279: _PKGSRC_TOPDIR= ${.CURDIR}/..
1.170 jlam 280: .elif exists(${.CURDIR}/../../mk/bsd.pkg.mk)
1.171 jlam 281: _PKGSRC_TOPDIR= ${.CURDIR}/../..
1.167 jlam 282: .endif
283:
1.59 agc 284: # include the defaults file
1.171 jlam 285: .if exists(${_PKGSRC_TOPDIR}/mk/defaults/mk.conf)
286: . include "${_PKGSRC_TOPDIR}/mk/defaults/mk.conf"
1.70 fredb 287: .endif
288:
1.196 jlam 289: USE_TOOLS?= # empty
1.190 jlam 290:
1.185 jlam 291: # Provide default values for TOOLs used by the top-level make.
1.196 jlam 292: USE_TOOLS+= [ awk dirname echo grep pwd sed test true
1.185 jlam 293:
294: # These tools are used by the top-level make only in certain packages and
295: # should eventually be moved into those particular package Makefiles.
296: #
1.196 jlam 297: USE_TOOLS+= date tr
1.185 jlam 298:
299: .include "${_PKGSRC_TOPDIR}/mk/tools/defaults.mk"
300:
1.70 fredb 301: .if ${OPSYS} == "NetBSD"
1.126 grant 302: . if ${OBJECT_FMT} == "ELF" && \
303: (${MACHINE_GNU_ARCH} == "arm" || \
304: ${MACHINE_ARCH} == "i386" || \
305: ${MACHINE_ARCH} == "m68k" || \
306: ${MACHINE_ARCH} == "m68000" || \
307: ${MACHINE_GNU_ARCH} == "sh" || \
308: ${MACHINE_GNU_ARCH} == "shle" || \
309: ${MACHINE_ARCH} == "sparc" || \
310: ${MACHINE_ARCH} == "vax")
1.70 fredb 311: APPEND_ELF= elf
1.126 grant 312: . endif
1.48 abs 313: .endif
1.7 tv 314:
315: SHAREOWN?= ${DOCOWN}
316: SHAREGRP?= ${DOCGRP}
317: SHAREMODE?= ${DOCMODE}
1.1 agc 318:
1.3 tv 319: .if defined(PREFIX) && (${PREFIX} != ${__PREFIX_SET__})
1.2 tv 320: .BEGIN:
321: @${ECHO_MSG} "You can NOT set PREFIX manually or in mk.conf. Set LOCALBASE or X11BASE"
322: @${ECHO_MSG} "depending on your needs. See the pkg system documentation for more info."
323: @${FALSE}
1.14 itojun 324: .endif
325:
1.7 tv 326: # Preload all default values for CFLAGS, LDFLAGS, etc. before bsd.pkg.mk
327: # or a pkg Makefile modifies them.
1.6 tv 328: .include <sys.mk>
1.5 tv 329:
1.42 skrll 330: # Load the OS-specific definitions for program variables. Default to loading
331: # the NetBSD ones if an OS-specific file doesn't exist.
1.171 jlam 332: .if exists(${_PKGSRC_TOPDIR}/mk/platform/${OPSYS}.mk)
333: . include "${_PKGSRC_TOPDIR}/mk/platform/${OPSYS}.mk"
1.179 tv 334: .else
1.171 jlam 335: . include "${_PKGSRC_TOPDIR}/mk/platform/NetBSD.mk"
1.179 tv 336: PKG_FAIL_REASON+= "missing mk/platform/${OPSYS}.mk"
1.97 schmonz 337: .endif
338:
1.160 tv 339: PKGDIRMODE?= 755
1.140 jlam 340: PKG_PHASE?= none
341: #
342: # The PHASES_AFTER_<phase> variables list every phase "greater than or
343: # equal to" <phase>.
344: #
1.189 jlam 345: ALL_PHASES= ${PHASES_AFTER_FETCH}
1.145 jlam 346: PHASES_AFTER_FETCH= fetch ${PHASES_AFTER_EXTRACT}
1.140 jlam 347: PHASES_AFTER_EXTRACT= extract ${PHASES_AFTER_PATCH}
348: PHASES_AFTER_PATCH= patch ${PHASES_AFTER_TOOLS}
1.166 jlam 349: PHASES_AFTER_TOOLS= tools ${PHASES_AFTER_WRAPPER}
350: PHASES_AFTER_WRAPPER= wrapper ${PHASES_AFTER_CONFIGURE}
1.140 jlam 351: PHASES_AFTER_CONFIGURE= configure ${PHASES_AFTER_BUILD}
352: PHASES_AFTER_BUILD= build ${PHASES_AFTER_INSTALL}
353: PHASES_AFTER_INSTALL= install ${PHASES_AFTER_PACKAGE}
354: PHASES_AFTER_PACKAGE= package
355:
1.206 rillig 356: PKG_INSTALLATION_TYPES?= overwrite
357: # This is a whitespace-separated list of installation types supported
358: # by the package.
359: #
360: # *NOTE*: This variable *must* be set in the package Makefile *before*
361: # the inclusion of bsd.prefs.mk.
362: #
363: # Possible: any of: overwrite, pkgviews
364: # Default: overwrite
365:
1.142 jlam 366: # Set the style of installation to be performed for the package. The
367: # funky make variable modifiers just select the first word of the value
368: # stored in the referenced variable.
369: #
370: .for _pref_ in ${PKG_INSTALLATION_PREFS}
371: . if !empty(PKG_INSTALLATION_TYPES:M${_pref_})
372: PKG_INSTALLATION_TYPE?= ${PKG_INSTALLATION_TYPES:M${_pref_}:S/^/_pkginsttype_/1:M_pkginsttype_*:S/^_pkginsttype_//}
373: . endif
374: .endfor
375: PKG_INSTALLATION_TYPE?= none
376:
1.97 schmonz 377: # if the system is IPv6-ready, compile with IPv6 support turned on.
1.136 tron 378: .if defined(USE_INET6)
1.214 wiz 379: . if empty(USE_INET6:M[Yy][Ee][Ss])
1.136 tron 380: USE_INET6= NO
1.139 agc 381: . else
1.136 tron 382: USE_INET6= YES
1.139 agc 383: . endif
1.214 wiz 384: .elif empty(_OPSYS_HAS_INET6:M[nN][oO])
1.136 tron 385: USE_INET6= YES
386: .else
387: USE_INET6= NO
388: .endif
1.22 agc 389:
1.36 abs 390: LOCALBASE?= ${DESTDIR}/usr/pkg
1.222 ! joerg 391: X11_TYPE?= native
1.217 markd 392: .if !defined(X11_TYPE) || defined(X11_TYPE) && !empty(X11_TYPE:Mnative)
393: . if ${OPSYS} == "SunOS"
1.87 jlam 394: # On Solaris, we default to using OpenWindows for X11.
1.163 xtraeme 395: X11BASE?= ${DESTDIR}/usr/openwin
1.217 markd 396: . else
1.163 xtraeme 397: X11BASE?= ${DESTDIR}/usr/X11R6
1.217 markd 398: . endif
1.87 jlam 399: .endif
1.163 xtraeme 400: CROSSBASE?= ${LOCALBASE}/cross
1.77 rh 401:
1.142 jlam 402: # If xpkgwedge.def is found, then clearly we're using xpkgwedge.
403: .if exists(${LOCALBASE}/lib/X11/config/xpkgwedge.def) || \
404: exists(${X11BASE}/lib/X11/config/xpkgwedge.def)
405: USE_XPKGWEDGE= yes
406: .else
1.158 agc 407: USE_XPKGWEDGE?= yes
1.142 jlam 408: .endif
409:
410: .if defined(_OPSYS_NEEDS_XPKGWEDGE) && \
411: !empty(_OPSYS_NEEDS_XPKGWEDGE:M[yY][eE][sS])
412: USE_XPKGWEDGE= yes
413: .endif
414:
415: .if ${PKG_INSTALLATION_TYPE} == "pkgviews"
416: USE_XPKGWEDGE= yes
417: .endif
418:
1.204 reed 419: # Default installation prefix for meta-pkgs/XFree86 and
420: # meta-pkgs/xorg.
421: .if defined(X11_TYPE) && !empty(X11_TYPE:MXFree86)
422: X11ROOT_PREFIX?= XFree86
423: .elif defined(X11_TYPE) && !empty(X11_TYPE:Mxorg)
424: X11ROOT_PREFIX?= xorg
425: .else
426: X11ROOT_PREFIX?= # empty
427: .endif
428:
429: .if ((defined(X11_TYPE) && !empty(X11_TYPE:MXFree86) || \
430: defined(X11_TYPE) && !empty(X11_TYPE:Mxorg)) && \
431: defined(X11_TYPE) && empty(X11_TYPE:Mnative))
432: X11BASE?= ${LOCALBASE}/${X11ROOT_PREFIX}
433: .endif
434:
1.77 rh 435: # Set X11PREFIX to reflect the install directory of X11 packages.
436: # Set XMKMF_CMD properly if xpkgwedge is installed.
437: #
438: # The check for the existence of ${X11BASE}/lib/X11/config/xpkgwedge.def
439: # is to catch users of xpkgwedge<1.0.
440: #
1.209 rillig 441: .if !empty(USE_XPKGWEDGE:M[Yy][Ee][Ss])
1.77 rh 442: X11PREFIX= ${LOCALBASE}
443: .else
444: X11PREFIX= ${X11BASE}
445: .endif
446:
1.122 jlam 447: DEPOT_SUBDIR?= packages
448: DEPOTBASE= ${LOCALBASE}/${DEPOT_SUBDIR}
449:
1.165 jlam 450: # LINK_RPATH_FLAG publicly exports the linker flag used to set the
451: # run-time library search path.
1.107 jlam 452: #
1.165 jlam 453: .if defined(_OPSYS_LINKER_RPATH_FLAG)
454: LINKER_RPATH_FLAG= ${_OPSYS_LINKER_RPATH_FLAG}
455: .else
456: LINKER_RPATH_FLAG?= ${_LINKER_RPATH_FLAG}
457: .endif
458:
459: # COMPILER_RPATH_FLAG publicly exports the compiler flag used to pass
460: # run-time library search path directives to the linker.
461: #
462: .if defined(_OPSYS_COMPILER_RPATH_FLAG)
463: COMPILER_RPATH_FLAG= ${_OPSYS_COMPILER_RPATH_FLAG}
464: .else
465: COMPILER_RPATH_FLAG?= ${_COMPILER_RPATH_FLAG}
466: .endif
1.110 grant 467:
468: # WHOLE_ARCHIVE_FLAG and NO_WHOLE_ARCHIVE_FLAG publically export the
469: # linker flags to extract all symbols from a static archive.
470: WHOLE_ARCHIVE_FLAG?= ${_OPSYS_WHOLE_ARCHIVE_FLAG}
471: NO_WHOLE_ARCHIVE_FLAG?= ${_OPSYS_NO_WHOLE_ARCHIVE_FLAG}
1.26 agc 472:
1.192 rillig 473: .if !defined(DIGEST)
1.22 agc 474: DIGEST:= ${LOCALBASE}/bin/digest
1.215 rillig 475: MAKEFLAGS+= DIGEST=${DIGEST:Q}
1.22 agc 476: .endif
1.26 agc 477:
478: # Only add the DIGEST_VERSION value to MAKEFLAGS when we know
479: # we've got a valid version number, retrieved from the digest(1)
480: # binary. This is different to PKGTOOLS_VERSION, since, in that
1.78 wiz 481: # case, the build dies when pkg_info(1) is out of date.
1.22 agc 482:
1.25 agc 483: .if !exists(${DIGEST})
484: DIGEST_VERSION= 20010301
485: .elif !defined(DIGEST_VERSION)
486: DIGEST_VERSION!= ${DIGEST} -V 2>/dev/null
1.215 rillig 487: MAKEFLAGS+= DIGEST_VERSION=${DIGEST_VERSION:Q}
1.23 wiz 488: .endif
489:
1.152 grant 490: .if exists(${LOCALBASE}/bsd/share/mk/zoularis.mk)
491: PKG_FAIL_REASON+= 'You appear to have a deprecated Zoularis installation.'
492: PKG_FAIL_REASON+= 'Please update your system to bootstrap-pkgsrc and remove the'
493: PKG_FAIL_REASON+= '${LOCALBASE}/bsd directory.'
1.153 grant 494: PKG_FAIL_REASON+= 'See http://mail-index.NetBSD.org/tech-pkg/2004/02/14/0004.html'
495: PKG_FAIL_REASON+= 'for more details.'
1.69 jlam 496: .endif
1.82 jlam 497:
498: PKGPATH?= ${.CURDIR:C|.*/([^/]*/[^/]*)$|\1|}
1.173 jlam 499: .if !defined(_PKGSRCDIR)
500: _PKGSRCDIR!= cd ${_PKGSRC_TOPDIR} && ${PWD_CMD}
501: MAKEFLAGS+= _PKGSRCDIR=${_PKGSRCDIR:Q}
1.171 jlam 502: .endif
1.173 jlam 503: PKGSRCDIR= ${_PKGSRCDIR}
1.82 jlam 504:
1.171 jlam 505: DISTDIR?= ${PKGSRCDIR}/distfiles
506: PACKAGES?= ${PKGSRCDIR}/packages
507: TEMPLATES?= ${PKGSRCDIR}/templates
1.82 jlam 508:
509: PATCHDIR?= ${.CURDIR}/patches
510: SCRIPTDIR?= ${.CURDIR}/scripts
511: FILESDIR?= ${.CURDIR}/files
512: PKGDIR?= ${.CURDIR}
1.120 gavan 513:
514: _PKGSRC_DEPS?= # empty
1.82 jlam 515:
516: # If WRKOBJDIR is set, use that tree to build
1.88 jlam 517: .if defined(WRKOBJDIR)
1.82 jlam 518: BUILD_DIR?= ${WRKOBJDIR}/${PKGPATH}
519: .else
1.105 jlam 520: BUILD_DIR!= cd ${.CURDIR} && ${PWD_CMD}
521: .endif
1.82 jlam 522:
523: # If OBJHOSTNAME is set, use first component of hostname in directory name.
524: # If OBJMACHINE is set, use ${MACHINE_ARCH} in the working directory name.
525: #
526: .if defined(OBJHOSTNAME)
527: . if !defined(_HOSTNAME)
1.93 wiz 528: _HOSTNAME!= ${UNAME} -n
1.215 rillig 529: MAKEFLAGS+= _HOSTNAME=${_HOSTNAME:Q}
1.82 jlam 530: . endif
531: WRKDIR_BASENAME?= work.${_HOSTNAME:C|\..*||}
1.215 rillig 532: MAKEFLAGS+= OBJHOSTNAME=${OBJHOSTNAME:Q}
1.82 jlam 533: .elif defined(OBJMACHINE)
534: WRKDIR_BASENAME?= work.${MACHINE_ARCH}
1.215 rillig 535: MAKEFLAGS+= OBJMACHINE=${OBJMACHINE:Q}
1.82 jlam 536: .else
537: WRKDIR_BASENAME?= work
1.93 wiz 538: .endif
1.82 jlam 539:
540: WRKDIR?= ${BUILD_DIR}/${WRKDIR_BASENAME}
1.119 jlam 541:
542: # There are many uses for a common log file, so define one that may be
1.162 wiz 543: # picked up and used by tools.mk, bsd.buildlink3.mk, etc.
1.119 jlam 544: #
545: WRKLOG?= ${WRKDIR}/.work.log
1.128 grant 546:
1.164 jlam 547: PKG_DEFAULT_OPTIONS?= # empty
548: PKG_OPTIONS?= # empty
549:
1.178 tv 550: # we want this *before* compiler.mk, so that compiler.mk paths override them
1.184 tv 551: PREPEND_PATH+= ${USE_X11:D${X11BASE}/bin} ${LOCALBASE}/bin
1.178 tv 552:
1.168 jlam 553: # Wrapper framework definitions
1.179 tv 554: .include "${PKGSRCDIR}/mk/wrapper/wrapper-defs.mk"
1.168 jlam 555:
1.194 jlam 556: # Make variable definitions cache
557: .include "${PKGSRCDIR}/mk/bsd.makevars.mk"
558:
1.221 jlam 559: .include "${PKGSRCDIR}/mk/flavor/bsd.flavor-vars.mk"
560: .include "${PKGSRCDIR}/mk/check/bsd.check-vars.mk"
561: .include "${PKGSRCDIR}/mk/depends/bsd.depends-vars.mk"
562: .include "${PKGSRCDIR}/mk/install/bsd.install-vars.mk"
563:
1.198 jlam 564: USE_TOOLS+= awk:pkgsrc cut:pkgsrc echo:pkgsrc pwd:pkgsrc \
565: sed:pkgsrc tr:pkgsrc uname:pkgsrc
1.197 jlam 566:
1.104 jlam 567: .endif # BSD_PKG_MK
CVSweb <webmaster@jp.NetBSD.org>