[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / pkgtools / pkg_install

File: [cvs.NetBSD.org] / pkgsrc / pkgtools / pkg_install / Makefile (download)

Revision 1.102, Mon Aug 9 06:21:24 2004 UTC (19 years, 8 months ago) by jlam
Branch: MAIN
Changes since 1.101: +7 -3 lines

Mimic how bsd.pkg.mk calls the GNU configure script in do-configure when
configuring libnbcompat.  This adds more things to the environment, e.g.
AWK, CFLAGS, CPPFLAGS, etc.  This should fix problems building on IRIX 5.3
where the system nawk wasn't being properly found.

# $NetBSD: Makefile,v 1.102 2004/08/09 06:21:24 jlam Exp $

# Notes to package maintainers:
#
# To update this package, import from src/usr.sbin/pkg_install.
#
# Updating this package does not automatically necessitate bumping
# PKGTOOLS_REQD in bsd.pkg.mk. Do so if and only if there is a critical
# change in the pkg_* tools that pkgsrc relies on for proper operation.

DISTNAME=		pkg_install-${VERSION}
CATEGORIES=		pkgtools
MASTER_SITES=		# empty
DISTFILES=		# empty

MAINTAINER=		tech-pkg@NetBSD.org
HOMEPAGE=		http://www.pkgsrc.org/
COMMENT=		Package management and administration tools for pkgsrc

GNU_CONFIGURE=		# defined
CONFIGURE_ARGS+=	--with-pkgdbdir=${PKG_DBDIR}
CONFIGURE_ARGS+=	--with-ftp=${FETCH_CMD}
CONFIGURE_ARGS+=	--with-mtree=${MTREE}
CONFIGURE_ARGS+=	--with-pax=${PAX}
CONFIGURE_ARGS+=	--with-tar=${TAR}

NO_PKGTOOLS_REQD_CHECK=	# defined
NO_BUILDLINK=		# defined
NO_CHECKSUM=		# defined
NO_MTREE=		# defined
NO_PKG_REGISTER=	# defined
NO_PACKAGE=		Deinstallation is not permitted
PKG_PRESERVE=		# defined

# These are needed to solve a chicken-and-egg problem where pkgsrc uses
# newer features of pkg_install, but older NetBSD installations won't
# support them.  In this case, we explicitly use the native GCC
# compiler to avoid problems with depending on pkgsrc GCC for building
# pkg_install.  We also avoid building digest as that would involve
# using the newer pkg_install tools.
#
USE_NATIVE_GCC=		yes
USE_DIGEST=		no

PLIST_SUBST+=		MANDIR=${MANDIR}
PLIST_SUBST+=		PKG_TOOLS_BIN=${PKG_TOOLS_BIN}

LIBNBCOMPAT_FILESDIR=	${.CURDIR}/../../pkgtools/libnbcompat/files
LIBNBCOMPAT_SRCDIR=	${WRKDIR}/libnbcompat

CPPFLAGS+=		-I${LIBNBCOMPAT_SRCDIR}
LDFLAGS+=		-L${LIBNBCOMPAT_SRCDIR}
LIBS+=			-lnbcompat

CPPFLAGS+=		-DDEF_UMASK=${DEF_UMASK}

MAKE_ENV+=		MACHINE_ARCH="${MACHINE_ARCH}"
MAKE_ENV+=		OPSYS="${OPSYS}"

PKG_DBDIR?=		/var/db/pkg
PKG_INFO=		PKG_DBDIR=${PKG_DBDIR} ${PKG_INFO_CMD}
PKG_ADMIN=		PKG_DBDIR=${PKG_DBDIR} ${PKG_ADMIN_CMD}

.include "../../mk/bsd.prefs.mk"

VERSION!=		${AWK} -F '"' '/PKGTOOLS_VERSION/ {print $$2}' \
			${FILESDIR}/lib/version.h

do-extract:
	@${CP} -Rp ${LIBNBCOMPAT_FILESDIR} ${LIBNBCOMPAT_SRCDIR}
	@${CP} -Rp ${FILESDIR} ${WRKSRC}

pre-configure:
	${_PKG_SILENT}${_PKG_DEBUG}${_ULIMIT_CMD}			\
	cd ${LIBNBCOMPAT_SRCDIR} && ${SETENV}				\
		AWK="${AWK}" CC="${CC}" CFLAGS="${CFLAGS:M*}"		\
		CPPFLAGS="${CPPFLAGS:M*}"				\
		${CONFIGURE_ENV:NLIBS=*} ${CONFIG_SHELL}		\
		${CONFIGURE_SCRIPT} && ${MAKE_PROGRAM}

post-install:
	if [ ! -f ${PKG_DBDIR}/pkgdb.byfile.db ]; then			\
		if [ ! -d ${PKG_DBDIR} ]; then				\
			${INSTALL_DATA_DIR} ${PKG_DBDIR};		\
		fi;							\
		${PKG_ADMIN} rebuild;					\
	fi

.include "../../mk/bsd.pkg.mk"

PREFIX:=		${PKG_TOOLS_BIN:C|/[^/]?bin$||}
.if ${PREFIX} == "/usr"
CONFIGURE_ARGS+=	--mandir=${PREFIX}/share/man
MANDIR=			share/
.else
CONFIGURE_ARGS+=	--mandir=${PREFIX}/man
MANDIR=			# empty
.endif