(1) Use the new BSD.x11.dist mtree file to create directories under
/usr/X11R6 if USE_IMAKE or USE_X11 is set. It is mostly designed after the XFree86 distribution, but also includes some of our own goodies (libexec, share/doc, etc/rc.d). (2) Full support for per-port dependency target. An optional ":<target>" can be added to any of the *_DEPENDS variables. Do not attempt to print out anything about dependencies if NO_DEPENDS is set (there was already too much code duplication, and this extra colon has really pushed it over the limit). Requested by: jfitz (3) Make "reinstal" pmake-safe. Reminded in an e-mail from: jkh
This commit is contained in:
parent
4ebe20a395
commit
c679de5e1d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=26428
@ -1,7 +1,7 @@
|
||||
#-*- mode: Fundamental; tab-width: 4; -*-
|
||||
# ex:ts=4
|
||||
#
|
||||
# $Id: bsd.port.mk,v 1.256 1997/04/21 00:24:51 asami Exp $
|
||||
# $Id: bsd.port.mk,v 1.257 1997/04/30 03:12:05 asami Exp $
|
||||
# $NetBSD: $
|
||||
#
|
||||
# bsd.port.mk - 940820 Jordan K. Hubbard.
|
||||
@ -100,8 +100,10 @@ OpenBSD_MAINTAINER= imp@OpenBSD.ORG
|
||||
# FORCE_PKG_REGISTER - If set, it will overwrite any existing package
|
||||
# registration information in ${PKG_DBDIR}/${PKGNAME}.
|
||||
# NO_MTREE - If set, will not invoke mtree from bsd.port.mk from
|
||||
# the "install" target. This is the default if
|
||||
# USE_IMAKE or USE_X11 is set.
|
||||
# the "install" target.
|
||||
# MTREE_FILE - The name of the mtree file (default: /etc/mtree/BSD.x11.dist
|
||||
# if USE_IMAKE or USE_X11 is set, /etc/mtree/BSD.local.dist
|
||||
# otherwise.)
|
||||
#
|
||||
# NO_BUILD - Use a dummy (do-nothing) build target.
|
||||
# NO_CONFIGURE - Use a dummy (do-nothing) configure target.
|
||||
@ -384,14 +386,15 @@ EXTRACT_BEFORE_ARGS?= -xzf
|
||||
.endif
|
||||
|
||||
# Figure out where the local mtree file is
|
||||
.if !defined(MTREE_LOCAL) && exists(/etc/mtree/BSD.local.dist)
|
||||
MTREE_LOCAL= /etc/mtree/BSD.local.dist
|
||||
.if !defined(MTREE_FILE)
|
||||
.if defined(USE_IMAKE) || defined(USE_X11)
|
||||
MTREE_FILE= /etc/mtree/BSD.x11.dist
|
||||
.else
|
||||
MTREE_FILE= /etc/mtree/BSD.local.dist
|
||||
.endif
|
||||
.endif
|
||||
MTREE_CMD?= /usr/sbin/mtree
|
||||
MTREE_ARGS?= -U -f ${MTREE_LOCAL} -d -e -p
|
||||
.if defined(USE_X11) || defined(USE_IMAKE) || !defined(MTREE_LOCAL)
|
||||
NO_MTREE= yes
|
||||
.endif
|
||||
MTREE_ARGS?= -U -f ${MTREE_FILE} -d -e -p
|
||||
|
||||
# A few aliases for *-install targets
|
||||
INSTALL_PROGRAM= \
|
||||
@ -435,8 +438,8 @@ PKG_ARGS+= -r ${PKGDIR}/REQ
|
||||
.if exists(${PKGDIR}/MESSAGE)
|
||||
PKG_ARGS+= -D ${PKGDIR}/MESSAGE
|
||||
.endif
|
||||
.if !defined(NO_MTREE) && defined(MTREE_LOCAL)
|
||||
PKG_ARGS+= -m ${MTREE_LOCAL}
|
||||
.if !defined(NO_MTREE)
|
||||
PKG_ARGS+= -m ${MTREE_FILE}
|
||||
.endif
|
||||
.endif
|
||||
PKG_SUFX?= .tgz
|
||||
@ -1193,11 +1196,9 @@ checkpatch:
|
||||
# Special target to re-run install
|
||||
|
||||
.if !target(reinstall)
|
||||
reinstall: pre-reinstall install
|
||||
|
||||
pre-reinstall:
|
||||
@${RM} -f ${INSTALL_COOKIE}
|
||||
@${RM} -f ${PACKAGE_COOKIE}
|
||||
reinstall:
|
||||
@${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
|
||||
@${MAKE} install
|
||||
.endif
|
||||
|
||||
################################################################
|
||||
@ -1350,8 +1351,7 @@ package-name:
|
||||
|
||||
.if !target(package-depends)
|
||||
package-depends:
|
||||
@for i in ${RUN_DEPENDS} ${LIB_DEPENDS} ${DEPENDS}; do \
|
||||
dir=`${ECHO} $$i | ${SED} -e 's/.*://'`; \
|
||||
@for dir in `${ECHO} ${LIB_DEPENDS} ${RUN_DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \
|
||||
if [ -d $$dir ]; then \
|
||||
(cd $$dir ; ${MAKE} package-name package-depends); \
|
||||
else \
|
||||
@ -1401,21 +1401,16 @@ DEPENDS_TMP+= ${RUN_DEPENDS}
|
||||
|
||||
_DEPENDS_USE: .USE
|
||||
.if defined(DEPENDS_TMP)
|
||||
.if defined(NO_DEPENDS)
|
||||
# Just print out messages
|
||||
.if !defined(NO_DEPENDS)
|
||||
@for i in ${DEPENDS_TMP}; do \
|
||||
prog=`${ECHO} $$i | ${SED} -e 's/:.*//'`; \
|
||||
dir=`${ECHO} $$i | ${SED} -e 's/.*://'`; \
|
||||
if expr "$$prog" : \\/ >/dev/null; then \
|
||||
${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog ($$dir)"; \
|
||||
dir=`${ECHO} $$i | ${SED} -e 's/[^:]*://'`; \
|
||||
if expr "$$dir" : '.*:' > /dev/null; then \
|
||||
target=`${ECHO} $$dir | ${SED} -e 's/.*://'`; \
|
||||
dir=`${ECHO} $$dir | ${SED} -e 's/:.*//'`; \
|
||||
else \
|
||||
${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog ($$dir)"; \
|
||||
target=${DEPENDS_TARGET}; \
|
||||
fi; \
|
||||
done
|
||||
.else
|
||||
@for i in ${DEPENDS_TMP}; do \
|
||||
prog=`${ECHO} $$i | ${SED} -e 's/:.*//'`; \
|
||||
dir=`${ECHO} $$i | ${SED} -e 's/.*://'`; \
|
||||
if expr "$$prog" : \\/ >/dev/null; then \
|
||||
if [ -e "$$prog" ]; then \
|
||||
${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - found"; \
|
||||
@ -1434,11 +1429,11 @@ _DEPENDS_USE: .USE
|
||||
fi; \
|
||||
fi; \
|
||||
if [ $$notfound != 0 ]; then \
|
||||
${ECHO_MSG} "===> Verifying ${DEPENDS_TARGET} for $$prog in $$dir"; \
|
||||
${ECHO_MSG} "===> Verifying $$target for $$prog in $$dir"; \
|
||||
if [ ! -d "$$dir" ]; then \
|
||||
${ECHO_MSG} ">> No directory for $$prog. Skipping.."; \
|
||||
else \
|
||||
(cd $$dir; ${MAKE} ${.MAKEFLAGS} ${DEPENDS_TARGET}) ; \
|
||||
(cd $$dir; ${MAKE} ${.MAKEFLAGS} $$target) ; \
|
||||
${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \
|
||||
fi; \
|
||||
fi; \
|
||||
@ -1454,26 +1449,25 @@ run-depends: _DEPENDS_USE
|
||||
|
||||
lib-depends:
|
||||
.if defined(LIB_DEPENDS)
|
||||
.if defined(NO_DEPENDS)
|
||||
# Just print out messages
|
||||
.if !defined(NO_DEPENDS)
|
||||
@for i in ${LIB_DEPENDS}; do \
|
||||
lib=`${ECHO} $$i | ${SED} -e 's/:.*//'`; \
|
||||
dir=`${ECHO} $$i | ${SED} -e 's/.*://'`; \
|
||||
${ECHO_MSG} "===> ${PKGNAME} depends on shared library: $$lib ($$dir)"; \
|
||||
done
|
||||
.else
|
||||
@for i in ${LIB_DEPENDS}; do \
|
||||
lib=`${ECHO} $$i | ${SED} -e 's/:.*//'`; \
|
||||
dir=`${ECHO} $$i | ${SED} -e 's/.*://'`; \
|
||||
dir=`${ECHO} $$i | ${SED} -e 's/[^:]*://'`; \
|
||||
if expr "$$dir" : '.*:' > /dev/null; then \
|
||||
target=`${ECHO} $$dir | ${SED} -e 's/.*://'`; \
|
||||
dir=`${ECHO} $$dir | ${SED} -e 's/:.*//'`; \
|
||||
else \
|
||||
target=${DEPENDS_TARGET}; \
|
||||
fi; \
|
||||
if /sbin/ldconfig -r | ${GREP} -q -e "-l$$lib"; then \
|
||||
${ECHO_MSG} "===> ${PKGNAME} depends on shared library: $$lib - found"; \
|
||||
else \
|
||||
${ECHO_MSG} "===> ${PKGNAME} depends on shared library: $$lib - not found"; \
|
||||
${ECHO_MSG} "===> Verifying ${DEPENDS_TARGET} for $$lib in $$dir"; \
|
||||
${ECHO_MSG} "===> Verifying $$target for $$lib in $$dir"; \
|
||||
if [ ! -d "$$dir" ]; then \
|
||||
${ECHO_MSG} ">> No directory for $$lib. Skipping.."; \
|
||||
else \
|
||||
(cd $$dir; ${MAKE} ${.MAKEFLAGS} ${DEPENDS_TARGET}) ; \
|
||||
(cd $$dir; ${MAKE} ${.MAKEFLAGS} $$target) ; \
|
||||
${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \
|
||||
fi; \
|
||||
fi; \
|
||||
@ -1485,14 +1479,20 @@ lib-depends:
|
||||
|
||||
misc-depends:
|
||||
.if defined(DEPENDS)
|
||||
@${ECHO_MSG} "===> ${PKGNAME} depends on: ${DEPENDS}"
|
||||
.if !defined(NO_DEPENDS)
|
||||
@for i in ${DEPENDS}; do \
|
||||
${ECHO_MSG} "===> Verifying ${DEPENDS_TARGET} for $$i"; \
|
||||
if [ ! -d $$i ]; then \
|
||||
${ECHO_MSG} ">> No directory for $$i. Skipping.."; \
|
||||
@for dir in ${DEPENDS}; do \
|
||||
if expr "$$dir" : '.*:' > /dev/null; then \
|
||||
target=`${ECHO} $$dir | ${SED} -e 's/.*://'`; \
|
||||
dir=`${ECHO} $$dir | ${SED} -e 's/:.*//'`; \
|
||||
else \
|
||||
(cd $$i; ${MAKE} ${.MAKEFLAGS} ${DEPENDS_TARGET}) ; \
|
||||
target=${DEPENDS_TARGET}; \
|
||||
fi; \
|
||||
${ECHO_MSG} "===> ${PKGNAME} depends on: $$dir"; \
|
||||
${ECHO_MSG} "===> Verifying $$target for $$dir"; \
|
||||
if [ ! -d $$dir ]; then \
|
||||
${ECHO_MSG} ">> No directory for $$dir. Skipping.."; \
|
||||
else \
|
||||
(cd $$dir; ${MAKE} ${.MAKEFLAGS} $$target) ; \
|
||||
fi \
|
||||
done
|
||||
@${ECHO_MSG} "===> Returning to build of ${PKGNAME}"
|
||||
@ -1507,14 +1507,14 @@ misc-depends:
|
||||
clean-depends:
|
||||
.if defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS) \
|
||||
|| defined(RUN_DEPENDS)
|
||||
@for dir in `${ECHO} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/.*://' | sort -u`; do \
|
||||
@for dir in `${ECHO} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u`; do \
|
||||
if [ -d $$dir ] ; then \
|
||||
(cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean clean-depends); \
|
||||
fi \
|
||||
done
|
||||
.endif
|
||||
.if defined(DEPENDS)
|
||||
@for dir in ${DEPENDS}; do \
|
||||
@for dir in `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \
|
||||
if [ -d $$dir ] ; then \
|
||||
(cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean clean-depends); \
|
||||
fi \
|
||||
@ -1524,11 +1524,7 @@ clean-depends:
|
||||
|
||||
.if !target(depends-list)
|
||||
depends-list:
|
||||
@for i in ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}; do \
|
||||
dir=`${ECHO} $$i | ${SED} -e 's/.*://'`; \
|
||||
(cd $$dir; ${MAKE} package-name depends-list); \
|
||||
done
|
||||
@for dir in ${DEPENDS}; do \
|
||||
@for dir in `${ECHO} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \
|
||||
(cd $$dir; ${MAKE} package-name depends-list); \
|
||||
done
|
||||
.endif
|
||||
|
Loading…
Reference in New Issue
Block a user