summaryrefslogtreecommitdiffhomepage
path: root/build.sh
diff options
context:
space:
mode:
authorlalbornoz <l.illanes@gmx.de>2016-02-04 13:18:07 +0100
committerLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-02-05 23:43:34 +0100
commit340f4c17dc61d2fe9077bce1c4e6934bffd5eb9b (patch)
tree111a24449cc58c170e3b3ef514044c5519874e4a /build.sh
downloadmidipix_build-340f4c17dc61d2fe9077bce1c4e6934bffd5eb9b.tar.bz2
midipix_build-340f4c17dc61d2fe9077bce1c4e6934bffd5eb9b.tar.xz
Initial commit
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/build.sh b/build.sh
new file mode 100755
index 00000000..e4931044
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+{
+unset AR ARFLAGS CC CFLAGS CXX CXXFLAGS LD LDFLAGS;
+. ./build.vars; . ./build.subr;
+check_prereqs git make sed tar wget;
+log_msg info "Build started by ${USER}@$(hostname).";
+#trap
+(set -o errexit; mkdir -p "${PREFIX}" "${WORKDIR}");
+BUILD_NFINI=${BUILD_NSKIP:=${BUILD_NFAIL:=${_nbuild:=0}}};
+for BUILD_LVL in 0 1 2; do
+ for BUILD_SCRIPT_FNAME in ${BUILD_LVL}[0-9][0-9].*.build; do
+ if [ -n "${DEBUG_SCRIPT}" ]\
+ && [ "x${DEBUG_SCRIPT}" != "x${BUILD_SCRIPT_FNAME}" ]; then
+ continue;
+ elif [ ! -f "${BUILD_SCRIPT_FNAME}" ]; then
+ continue;
+ else
+ unset BUILD_SCRIPT_RC; : $((_nbuild+=1));
+ log_msg info "Invoking build script \`${BUILD_SCRIPT_FNAME}'";
+ (set -o errexit -- $(split "." "${BUILD_SCRIPT_FNAME%.build}"); \
+ SCRIPT_FNAME="${BUILD_SCRIPT_FNAME}"; _pwd="$(pwd)"; \
+ cd "${WORKDIR}"; . "${_pwd}/build.subr"; \
+ . "${_pwd}/${BUILD_SCRIPT_FNAME}");
+ case ${BUILD_SCRIPT_RC:=${?}} in
+ 0) log_msg succ "Finished build script \`${BUILD_SCRIPT_FNAME}'.";
+ : $((BUILD_NFINI+=1)); continue; ;;
+ 212) log_msg info "Skipped build script \`${BUILD_SCRIPT_FNAME}' (already built.)";
+ : $((BUILD_NSKIP+=1)); BUILD_SCRIPT_RC=0; continue; ;;
+ *) log_msg fail "Build failed in build script \`${BUILD_SCRIPT_FNAME}' (last return code ${BUILD_SCRIPT_RC}.).";
+ : $((BUILD_NFAIL+=1)); break; ;;
+ esac;
+ fi;
+ done;
+ if [ ${BUILD_SCRIPT_RC:-0} != 0 ]; then
+ break;
+ fi;
+done;
+log_msg info "${BUILD_NFINI} finished, ${BUILD_NSKIP} skipped, and ${BUILD_NFAIL} failed builds in ${_nbuild} build script(s).";
+exit ${BUILD_SCRIPT_RC};
+} 2>&1 | tee build.log;
+
+# vim:filetype=sh