diff options
-rw-r--r-- | mk/bsd.pkg.mk | 12 | ||||
-rw-r--r-- | mk/find-prefix.mk | 29 |
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_ |