summaryrefslogtreecommitdiffhomepage
path: root/subr.pkg/pkg_install_make.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr.pkg/pkg_install_make.subr')
-rw-r--r--subr.pkg/pkg_install_make.subr46
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