summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/bsd.pkg.mk12
-rw-r--r--mk/find-prefix.mk29
2 files changed, 32 insertions, 9 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
index 072971ba1d9..e173fad64ae 100644
--- a/mk/bsd.pkg.mk
+++ b/mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.mk,v 1.1641 2005/05/12 18:07:30 jlam Exp $
+# $NetBSD: bsd.pkg.mk,v 1.1642 2005/05/12 20:41:10 jlam Exp $
#
# This file is in the public domain.
#
@@ -999,14 +999,8 @@ DEPENDS:= ${REDUCED_DEPENDS}
# Find out the PREFIX of dependencies where the PREFIX is needed at build time.
.if defined(EVAL_PREFIX)
-. for def in ${EVAL_PREFIX}
-. if !defined(${def:C/=.*$//})
-${def:C/=.*$//}_DEFAULT?=${LOCALBASE}
-_${def:C/=.*$//}_CMD= ${PKG_INFO} -qp ${def:C/^.*=//} 2>/dev/null | ${AWK} '{ print $$2; exit }' | ${GREP} . || ${ECHO} ${${def:C/=.*$//}_DEFAULT}
-${def:C/=.*$//}= ${_${def:C/=.*$//}_CMD:sh}
-MAKEFLAGS+= ${def:C/=.*//}=${_${def:C/=.*$//}_CMD:sh}
-. endif
-. endfor
+FIND_PREFIX:= ${EVAL_PREFIX}
+. include "../../mk/find-prefix.mk"
.endif
.if !defined(_PATH_ORIG)
diff --git a/mk/find-prefix.mk b/mk/find-prefix.mk
new file mode 100644
index 00000000000..796b46573a3
--- /dev/null
+++ b/mk/find-prefix.mk
@@ -0,0 +1,29 @@
+# $NetBSD: find-prefix.mk,v 1.1 2005/05/12 20:41:10 jlam Exp $
+#
+# This is a "subroutine" that can be included to find the installation
+# prefix of a package.
+#
+# The input variable is FIND_PREFIX, which is a list of VARNAME=<package>
+# pairs, where "VARNAME" is the variable that will be set to the
+# installation prefix for the package, and <package> is the ${PKGNAME}
+# for the package.
+#
+# An example use is:
+#
+# FIND_PREFIX:= M4DIR=gm4
+# .include "../../mk/find-prefix.mk"
+# # ${M4DIR} now contains the installation prefix for the "gm4" package
+#
+
+.for _def_ in ${FIND_PREFIX}
+. if !defined(_${_def_:C/=.*$//})
+${_def_:C/=.*$//}_DEFAULT?= ${LOCALBASE}
+_${_def_:C/=.*$//}_cmd= \
+ ${PKG_INFO} -qp ${_def_:C/^.*=//} 2>/dev/null | \
+ ${AWK} '{ print $$2; exit }' || \
+ ${ECHO} ${${_def_:C/=.*$//}_DEFAULT:Q}
+${_def_:C/=.*$//}= ${_${_def_:C/=.*$//}_cmd:sh}
+. endif
+MAKEVARS+= ${_def_:C/=.*$//}
+.endfor
+.undef _def_