Blob Blame History Raw
#
# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 LucĂ­a Andrea Illanes Albornoz <lucia@luciaillanes.de>
# set +o errexit -o noglob -o nounset is assumed.
#

pkg_build_clean() {
	local	_pbc_group_name="${1}" _pbc_pkg_name="${2}" _pbc_restart_at="${3}"	\
		_pbc_libtool="" _pbc_makeflags_verbosity="${PKG_MAKEFLAGS_VERBOSITY:-}"	\
		_pbc_no_autoconf="" _pbc_rc=0 _pbc_subdir="";

	if ex_pkg_state_test "${PKG_NAME}" "build" "${_pbc_restart_at}"; then
		case "${PKG_LIBTOOL:-}" in
		"")	_pbc_libtool=""; ;;
		none)	_pbc_libtool=""; ;;
		*)	_pbc_libtool="${PKG_LIBTOOL}"; ;;
		esac;
		[ ! -x "${PKG_CONFIGURE:-}" ] && _pbc_no_autoconf=1;

		for _pbc_subdir in ${PKG_MAKE_SUBDIRS:-:}; do
			[ "${_pbc_subdir}" = ":" ] && _pbc_subdir="";
			[ "${#_pbc_libtool}" -gt 0 ] && export MAKE="make LIBTOOL=${_pbc_libtool}";

			if [ "${PKG_MAKEFLAGS_BUILD_LIST:+1}" = 1 ]; then
				rtl_run_cmdlineV ":" "${PKG_MAKE}"			\
					"${PKG_MAKEFLAGS_BUILD_LIST}"			\
					"${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:-}"		\
					${PKG_MAKEFLAGS_PARALLELISE:-}			\
					${_pbc_libtool:+"LIBTOOL=${_pbc_libtool}"}	\
					${_pbc_makeflags_verbosity}			\
					${_pbc_subdir:+-C "${_pbc_subdir}"}		\
					clean;
				_pbc_rc="${?}";
			elif [ "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:+1}" = 1 ]; then
				rtl_run_cmdlineV ":" "${PKG_MAKE}"			\
					${PKG_MAKEFLAGS_BUILD:-}			\
					"${PKG_MAKEFLAGS_BUILD_EXTRA_LIST}"		\
					${PKG_MAKEFLAGS_PARALLELISE:-}			\
					${_pbc_libtool:+"LIBTOOL=${_pbc_libtool}"}	\
					${_pbc_makeflags_verbosity}			\
					${_pbc_subdir:+-C "${_pbc_subdir}"}		\
					clean;
				_pbc_rc="${?}";
			else
				rtl_run_cmdlineV ":" "${PKG_MAKE}"			\
					${PKG_MAKEFLAGS_BUILD:-}			\
					${PKG_MAKEFLAGS_BUILD_EXTRA:-}			\
					${PKG_MAKEFLAGS_PARALLELISE:-}			\
					${_pbc_libtool:+"LIBTOOL=${_pbc_libtool}"}	\
					${_pbc_makeflags_verbosity}			\
					${_pbc_subdir:+-C "${_pbc_subdir}"}		\
					clean;
				_pbc_rc="${?}";
			fi;

			[ "${#_pbc_libtool}" -gt 0 ] && unset MAKE;
			[ "${_pbc_rc}" -ne 0 ] && return 1;
		done;
	fi;
	return 0;
};

# vim:filetype=sh textwidth=0