diff options
Diffstat (limited to 'subr.pkg/pkg_install_make.subr')
-rw-r--r-- | subr.pkg/pkg_install_make.subr | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/subr.pkg/pkg_install_make.subr b/subr.pkg/pkg_install_make.subr new file mode 100644 index 00000000..a2291218 --- /dev/null +++ b/subr.pkg/pkg_install_make.subr @@ -0,0 +1,46 @@ +# +# set +o errexit -o noglob -o nounset is assumed. +# + +pkg_install_make() { + local _pim_group_name="${1}" _pim_pkg_name="${2}" _pim_restart_at="${3}" + _pim_libtool="" _pim_rc=0 _pim_subdir=""; + + case "${PKG_LIBTOOL:-}" in + "") _pim_libtool=""; ;; + none) _pim_libtool=""; ;; + *) _pim_libtool="${PKG_LIBTOOL}"; ;; + esac; + + for _pim_subdir in ${PKG_MAKE_SUBDIRS:-:}; do + if [ "${_pim_subdir}" = ":" ]; then + _pim_subdir=""; + fi; + + if [ "${#_pim_libtool}" -gt 0 ]; then + export MAKE="make LIBTOOL=${_pim_libtool}"; + fi; + + rtl_run_cmd_unsplit "${PKG_MAKE}" \ + ${PKG_MAKEFLAGS_INSTALL:-} \ + ${PKG_MAKEFLAGS_INSTALL_EXTRA:-} \ + AR="${PKG_AR}" CC="${PKG_CC}" RANLIB="${PKG_RANLIB}" \ + "${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \ + ${_pim_libtool:+"LIBTOOL=${_pim_libtool}"} \ + "${PKG_MAKE_INSTALL_VNAME:-DESTDIR}=${PKG_DESTDIR}/" \ + ${PKG_INSTALL_TARGET:-install} \ + ${_pim_subdir:+-C "${_pim_subdir}"}; _pim_rc="${?}"; + + if [ "${#_pim_libtool}" -gt 0 ]; then + unset MAKE; + fi; + + if [ "${_pim_rc}" -ne 0 ]; then + return 1; + fi; + done; + + return 0; +}; + +# vim:filetype=sh |