pkgsrc-wip/pkg_summary-utils/files/pkg_src_summary.mk
Aleksey Cheusov 2bebc3833e pkg_src_summary:
- new option -l for adding library dependencies to BUILD_DEPENDS.
2010-05-30 19:29:40 +00:00

84 lines
2.9 KiB
Makefile

#####################################################################
.if defined(DIST_SUBDIR) && !empty(DIST_SUBDIR)
_ALLSRCFILES= ${DISTFILES:@f@${DIST_SUBDIR}/${f}@} \
${PATCHFILES:@f@${DIST_SUBDIR}/${f}@}
.else
_ALLSRCFILES= ${_DISTFILES} ${_PATCHFILES}
.endif
ALLSRCFILES= ${_ALLSRCFILES:O:u}
#####################################################################
# for multi-variant packages and bulk build software
.for i in ${_PBULK_MULTI} # apache php python ...
# Ex:
# _VAR2DEFAULT.PKG_APACHE = apache2
# _VAR2DEFAULT.PYTHON_VERSION_REQD = 26
# _VAR2DEFAULT.PHP_VERSION_REQD = 5
_VAR2DEFAULT.${_PBULK_MULTI_VAR.${i}}=${${_PBULK_MULTI_DEFAULT.${i}}}
# Ex:
# _VAR2ACCEPTEDVARNAME.PKG_APACHE = PKG_APACHE_ACCEPTED
# _VAR2ACCEPTEDVARNAME.PYTHON_VERSION_REQD = _PYTHON_VERSIONS_ACCEPTED
# _VAR2ACCEPTEDVARNAME.PHP_VERSION_REQD = PHP_VERSIONS_ACCEPTED
_VAR2ACCEPTEDVARNAME.${_PBULK_MULTI_VAR.${i}}=${_PBULK_MULTI_LIST.${i}}
.endfor
.for _SINGLE_ASSIGN in ${_ASSIGNMENTS:S/,/ /g}
_varname= ${_SINGLE_ASSIGN:C/=.*$//1}
_value= ${_SINGLE_ASSIGN:C/^[^=]*=//1}
_VAR_ASSIGNED.${_varname}= 1
.if !defined(_VAR2DEFAULT.${_varname})
_ASSIGN2+= ${_SINGLE_ASSIGN}
.elif !defined(${_VAR2ACCEPTEDVARNAME.${_varname}})
__INHER_ASSIGNS_REJ+= ${_SINGLE_ASSIGN}
.elif "${_VAR2DEFAULT.${_varname}}" != "${_value}"
_ASSIGN2+= ${_SINGLE_ASSIGN}
__INHER_ASSIGNS+= ${_SINGLE_ASSIGN}
.else
__INHER_ASSIGNS_REJ+= ${_SINGLE_ASSIGN}
.endif
.endfor
# ASSIGNMENTS contains everything included in _INHER_ASSIGNS and
# assignment to other variables, i.e. not PKG_APACHE,
# PYTHON_VERSION_REQD and PHP_VERSION_REQD.
ASSIGNMENTS= ${_ASSIGN2:ts,}
# _INHER_ASSIGNS contains variable assignments (PKG_APACHE,
# PYTHON_VERSION_REQD or PHP_VERSION_REQD) if their values are _not_
# equal to default values
_INHER_ASSIGNS= ${__INHER_ASSIGNS:ts,}
# _INHER_ASSIGNS_REJ contains variable assignments (PKG_APACHE,
# PYTHON_VERSION_REQD or PHP_VERSION_REQD) if they are not allowed or
# their values are _equal_ to default values
_INHER_ASSIGNS_REJ= ${__INHER_ASSIGNS_REJ:ts,}
#####################################################################
# for multivariant packages
# Ex:
# PKGNAME=ap22-py26-python-3.3.1
# PKGPATH=www/ap2-python
# _VARIANTS=PKG_APACHE=apache2,apache22 PYTHON_VERSION_REQD=26,25,24
# ...
.for i in ${_PBULK_MULTI}
.if defined(${_PBULK_MULTI_LIST.${i}}) && !defined(_VAR_ASSIGNED.${_PBULK_MULTI_VAR.${i}})
_VARIANTS+= ${_PBULK_MULTI_VAR.${i}}=${${_PBULK_MULTI_LIST.${i}}:ts,}
.endif
.endfor
#####################################################################
# pkg_src_summary -l
.ifdef with_libdeps
BUILD_DEPENDS+= ${_BLNK_ADD_TO.DEPENDS}
.endif
#####################################################################
.PHONY: my-show-vars
my-show-vars:
.for VARNAME in ${VARNAMES}
.if !empty(${VARNAME})
@${ECHO} ${VARNAME}=${${VARNAME}:Q}
.endif
.endfor