[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.177

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

CVSweb <webmaster@jp.NetBSD.org>