run gmake -w -j $(detectNumCPUs) "$@"
}
+function autogen () {
+ run autoreconf -v -i -f
+}
+
function configure () {
if [[ ! -f configure.ac && ! -f configure.in ]]; then
echo "ERROR: Neither configure.ac nor configure.in exists in the current directory." >&2
fi
if [[ ! -f configure ]]; then
- run autoreconf -v -i -f
+ autogen
fi
if [[ ! -f "_build/Makefile" ]]; then
run mkdir -p _build
run pushd _build
- run ../configure "${configArgs[@]}"
+ run ../configure --prefix="$prefix" "${configArgs[@]}"
run popd
fi
}
runMake -C "_build" install "$@"
}
+function other () {
+ runMake -C "_build" "$@"
+}
+
function usage () {
cat <<EOF >&2
Usage: $0 [COMMAND]
Commands:
build run "$0 configure" then make(1)
- check [ARG] run "$0 build" then "make check [ARG]"
- configure run autoreconf(1) and "./configure" if necessary
+ check [ARGS] run "$0 build" then "make check [ARGS]"
+ autogen run autoreconf(1)
+ configure run "$0 autogen" and "./configure" if necessary
clean run "rm -rf _build"
dist run "make dist"
distcheck run "$0 configure" then "make distcheck"
doc similar to "$0 build" but only build the documentation
help print this message
- install [ARG] run "$0 build" then "make install [ARG]"
+ install [ARGS] run "$0 build" then "make install [ARGS]"
+ -- [ARGS] run "make [ARGS]"
Please report any bugs, feature requests, and pull requests (the most
preferred!) to the maintainer presented in the preamble of the "$0" itself.
local cmd
case "$1" in
""|"build" ) cmd="build" ;;
+ "autogen" ) cmd="autogen" ;;
"configure") cmd="configure";;
"doc" ) cmd="doc" ;;
"check" ) cmd="check" ;;
"distcheck") cmd="distcheck";;
"help" ) cmd="usage" ;;
"install" ) cmd="install" ;;
+ "--" ) cmd="other" ;;
*) cmd="usage" ;;
esac
if (( $# > 0 )); then