#!/usr/bin/env bash
#
# $Id: makeall,v 1.19 2005/04/26 17:50:14 wenzelm Exp $
# Author: Markus Wenzel, TU Muenchen
#
# DESCRIPTION: apply make utility to all logics

## global settings

ALL_LOGICS="Pure FOL HOL ZF CCL CTT Cube FOLP HOLCF LCF Sequents"


## diagnostics

PRG="$(basename "$0")"

function usage()
{
  echo
  echo "Usage: $PRG [ARGS ...]"
  echo
  echo "  Apply isatool make to all logics (passing ARGS)."
  echo
  exit 1
}

function fail()
{
  echo "$1" >&2
  exit 2
}

## main

[ "$1" = "-?" ] && usage

FAIL=""

echo "Started at $(date) ($ML_IDENTIFIER on $(hostname))"

for L in $ALL_LOGICS
do
  ( cd "$ISABELLE_HOME/src/$L"; "$ISATOOL" make "$@" ) || FAIL="$FAIL$L "
done

echo -n "Finished at "; date

ELAPSED=$("$ISABELLE_HOME/lib/scripts/showtime" "$SECONDS")
echo "$ELAPSED total elapsed time"

[ "$FAIL" = "" ] || fail "Logics ${FAIL}FAILED!"
