summaryrefslogtreecommitdiffhomepage
path: root/subr.pkg/pkg_build_clean.subr
blob: 5344261ef7290c08591975522afd6223fee27535 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#
# 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}";

			rtl_run_cmd_unsplit "${PKG_MAKE}"			\
				${PKG_MAKEFLAGS_BUILD:-}			\
				${PKG_MAKEFLAGS_BUILD_EXTRA:-}			\
				${_pbc_libtool:+"LIBTOOL=${_pbc_libtool}"}	\
				${_pbc_makeflags_verbosity}			\
				${_pbc_subdir:+-C "${_pbc_subdir}"}		\
				clean; _pbc_rc="${?}";

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

# vim:filetype=sh textwidth=0