diff options
Diffstat (limited to 'subr')
-rw-r--r-- | subr/pkg_build.subr | 49 | ||||
-rw-r--r-- | subr/pkg_install_make.subr | 27 |
2 files changed, 47 insertions, 29 deletions
diff --git a/subr/pkg_build.subr b/subr/pkg_build.subr index ecc049f6..327edae2 100644 --- a/subr/pkg_build.subr +++ b/subr/pkg_build.subr @@ -3,7 +3,7 @@ # pkg_build() { - local _libtool="" _makeflags_verbosity="${PKG_MAKEFLAGS_VERBOSITY:-none}" _no_autoconf=""; + local _libtool="" _makeflags_verbosity="${PKG_MAKEFLAGS_VERBOSITY:-none}" _no_autoconf="" _subdir=""; case "${PKG_LIBTOOL:-}" in "") _libtool=""; ;; none) _libtool=""; ;; @@ -15,25 +15,34 @@ pkg_build() { if [ ! -x "${PKG_CONFIGURE:-}" ]; then _no_autoconf=1; fi; - # N.B. We only specify CC= here if the current package does not use GNU - # autoconf as it often abuses it by appending -std={gnu99,...} to it - # instead of amending CFLAGS. - rtl_run_cmd_unsplit make \ - ${PKG_MAKEFLAGS_BUILD:-} \ - ${PKG_MAKEFLAGS_BUILD_EXTRA:-} \ - "AR=${PKG_AR}" "${_no_autoconf:+CC=${PKG_CC}}" "RANLIB=${PKG_RANLIB}" \ - "${PKG_CFLAGS_BUILD:+CFLAGS=${PKG_CFLAGS_BUILD}}" \ - "${PKG_CFLAGS_BUILD_EXTRA:+CFLAGS+=${PKG_CFLAGS_BUILD_EXTRA}}" \ - "${PKG_CPPFLAGS_BUILD:+CPPFLAGS=${PKG_CPPFLAGS_BUILD}}" \ - "${PKG_CPPFLAGS_BUILD_EXTRA:+CPPFLAGS+=${PKG_CPPFLAGS_BUILD_EXTRA}}" \ - "${PKG_CXXFLAGS_BUILD:+CXXFLAGS=${PKG_CXXFLAGS_BUILD}}" \ - "${PKG_CXXFLAGS_BUILD_EXTRA:+CXXFLAGS+=${PKG_CXXFLAGS_BUILD_EXTRA}}" \ - "${PKG_LDFLAGS_BUILD:+LDFLAGS=${PKG_LDFLAGS_BUILD}}" \ - "${PKG_LDFLAGS_BUILD_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_BUILD_EXTRA}}" \ - "${PKG_PKG_CONFIG:+PKG_CONFIG=${PKG_PKG_CONFIG}}" \ - "${PKG_PKG_CONFIG_LIBDIR:+PKG_CONFIG_LIBDIR=${PKG_PKG_CONFIG_LIBDIR}}" \ - ${_libtool:+"LIBTOOL=${_libtool}"} \ - ${_makeflags_verbosity}; + for _subdir in ${PKG_MAKE_SUBDIRS:-:}; do + if [ "${_subdir}" = ":" ]; then + _subdir=""; + fi; + # N.B. We only specify CC= here if the current package does not use GNU + # autoconf as it often abuses it by appending -std={gnu99,...} to it + # instead of amending CFLAGS. + rtl_run_cmd_unsplit make \ + ${PKG_MAKEFLAGS_BUILD:-} \ + ${PKG_MAKEFLAGS_BUILD_EXTRA:-} \ + "AR=${PKG_AR}" "${_no_autoconf:+CC=${PKG_CC}}" "RANLIB=${PKG_RANLIB}" \ + "${PKG_CFLAGS_BUILD:+CFLAGS=${PKG_CFLAGS_BUILD}}" \ + "${PKG_CFLAGS_BUILD_EXTRA:+CFLAGS+=${PKG_CFLAGS_BUILD_EXTRA}}" \ + "${PKG_CPPFLAGS_BUILD:+CPPFLAGS=${PKG_CPPFLAGS_BUILD}}" \ + "${PKG_CPPFLAGS_BUILD_EXTRA:+CPPFLAGS+=${PKG_CPPFLAGS_BUILD_EXTRA}}" \ + "${PKG_CXXFLAGS_BUILD:+CXXFLAGS=${PKG_CXXFLAGS_BUILD}}" \ + "${PKG_CXXFLAGS_BUILD_EXTRA:+CXXFLAGS+=${PKG_CXXFLAGS_BUILD_EXTRA}}" \ + "${PKG_LDFLAGS_BUILD:+LDFLAGS=${PKG_LDFLAGS_BUILD}}" \ + "${PKG_LDFLAGS_BUILD_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_BUILD_EXTRA}}" \ + "${PKG_PKG_CONFIG:+PKG_CONFIG=${PKG_PKG_CONFIG}}" \ + "${PKG_PKG_CONFIG_LIBDIR:+PKG_CONFIG_LIBDIR=${PKG_PKG_CONFIG_LIBDIR}}" \ + ${_libtool:+"LIBTOOL=${_libtool}"} \ + ${_makeflags_verbosity} \ + ${_subdir:+-C "${_subdir}"}; + if [ "${?}" -ne 0 ]; then + return 1; + fi; + done; }; # vim:filetype=sh diff --git a/subr/pkg_install_make.subr b/subr/pkg_install_make.subr index a5e58f60..2afcb7b8 100644 --- a/subr/pkg_install_make.subr +++ b/subr/pkg_install_make.subr @@ -3,20 +3,29 @@ # pkg_install_make() { - local _libtool=""; + local _libtool="" _subdir=""; case "${PKG_LIBTOOL:-}" in "") _libtool=""; ;; none) _libtool=""; ;; *) _libtool="${PKG_LIBTOOL}"; ;; esac; - rtl_run_cmd_unsplit make \ - ${PKG_MAKEFLAGS_INSTALL:-} \ - ${PKG_MAKEFLAGS_INSTALL_EXTRA:-} \ - AR="${PKG_AR}" CC="${PKG_CC}" RANLIB="${PKG_RANLIB}" \ - "${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \ - ${_libtool:+"LIBTOOL=${_libtool}"} \ - "${PKG_MAKE_INSTALL_VNAME:-DESTDIR}=${PKG_DESTDIR}/" \ - ${PKG_INSTALL_TARGET:-install}; + for _subdir in ${PKG_MAKE_SUBDIRS:-:}; do + if [ "${_subdir}" = ":" ]; then + _subdir=""; + fi; + rtl_run_cmd_unsplit make \ + ${PKG_MAKEFLAGS_INSTALL:-} \ + ${PKG_MAKEFLAGS_INSTALL_EXTRA:-} \ + AR="${PKG_AR}" CC="${PKG_CC}" RANLIB="${PKG_RANLIB}" \ + "${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \ + ${_libtool:+"LIBTOOL=${_libtool}"} \ + "${PKG_MAKE_INSTALL_VNAME:-DESTDIR}=${PKG_DESTDIR}/" \ + ${PKG_INSTALL_TARGET:-install} \ + ${_subdir:+-C "${_subdir}"}; + if [ "${?}" -ne 0 ]; then + return 1; + fi; + done; }; # vim:filetype=sh |