#!/bin/sh set -e OUTPUT=$(tools/outdir) PRODUCTS=$(dirname "$OUTPUT") # We know which target pathnames are used here, because they are encoded in # tools/myacprep when specific build targets are requested (such as gcov). function build_and_test() { NAME=--$1 echo %%% Configuring $NAME %%% if ! tools/myacprep $NAME; then echo %%% FAILED to configure $NAME %%% exit 1 fi DIR=$PRODUCTS/ledger-$1 echo %%% Cleaning $NAME %%% if ! (cd $DIR && make clean); then echo %%% FAILED to clean $NAME %%% exit 1 fi echo %%% Building $NAME %%% if ! (cd $DIR && make); then echo %%% FAILED to build $NAME %%% exit 1 fi if [ "$NAME" = "--gcov" ]; then echo %%% Testing $NAME %%% if ! (cd $DIR && make check); then echo %%% FAILED to test $NAME %%% exit 1 fi else echo %%% Testing $NAME %%% if ! (cd $DIR && make fullcheck); then echo %%% FAILED to test $NAME %%% exit 1 fi fi } echo %%% Removing old opt %%% rm -fr $PRODUCTS/ledger-opt build_and_test opt echo %%% Removing old gcov %%% rm -fr $PRODUCTS/ledger-gcov build_and_test gcov echo %%% Removing old std %%% rm -fr $PRODUCTS/ledger-std build_and_test std echo %%% Removing old debug %%% rm -fr $PRODUCTS/ledger-debug build_and_test debug echo %%% Building release-distcheck %%% if ! (cd $PRODUCTS/ledger-std && make release-distcheck); then echo %%% FAILED to build release-distcheck %%% exit 1 fi