[BACK]Return to bsd.prefs.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / mk

Annotation of pkgsrc/mk/bsd.prefs.mk, Revision 1.204

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

CVSweb <webmaster@jp.NetBSD.org>