lib/Tools/makeall
author paulson
Tue, 19 Aug 2003 13:53:58 +0200
changeset 14152 12f6f18e7afc
parent 13834 4d50cf8ea3d7
child 14281 a8c4a1e63071
permissions -rwxr-xr-x
For the Isar version of the ZF logics manual
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10555
2323ec838401 /usr/bin/env bash;
wenzelm
parents: 10511
diff changeset
     1
#!/usr/bin/env bash
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
     2
#
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
     3
# $Id$
9788
wenzelm
parents: 7277
diff changeset
     4
# Author: Markus Wenzel, TU Muenchen
wenzelm
parents: 7277
diff changeset
     5
# License: GPL (GNU GENERAL PUBLIC LICENSE)
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
     6
#
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
     7
# DESCRIPTION: apply make utility to all logics
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
     8
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
     9
## global settings
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    10
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    11
ALL_LOGICS="CCL CTT Cube FOL FOLP HOL HOLCF LCF Pure Sequents ZF"
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    12
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    13
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    14
## diagnostics
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    15
10511
wenzelm
parents: 9788
diff changeset
    16
PRG="$(basename "$0")"
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    17
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    18
function usage()
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    19
{
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    20
  echo
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    21
  echo "Usage: $PRG [ARGS ...]"
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    22
  echo
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    23
  echo "  Apply isatool make to all logics (passing ARGS)."
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    24
  echo
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    25
  exit 1
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    26
}
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    27
13229
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    28
function fail()
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    29
{
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    30
  echo "$1" >&2
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    31
  exit 2
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    32
}
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    33
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    34
## main
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    35
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    36
[ "$1" = "-?" ] && usage
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    37
13235
c26fc3baeffc fail not so early, but produce correct exit code in the end
kleing
parents: 13229
diff changeset
    38
FAIL=""
c26fc3baeffc fail not so early, but produce correct exit code in the end
kleing
parents: 13229
diff changeset
    39
10511
wenzelm
parents: 9788
diff changeset
    40
echo "Started at $(date) ($ML_IDENTIFIER on $(hostname))"
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    41
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    42
for L in $ALL_LOGICS
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    43
do
13235
c26fc3baeffc fail not so early, but produce correct exit code in the end
kleing
parents: 13229
diff changeset
    44
  ( cd "$ISABELLE_HOME/src/$L"; "$ISATOOL" make "$@" ) || FAIL="$FAIL$L "
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    45
done
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    46
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    47
echo -n "Finished at "; date
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    48
9788
wenzelm
parents: 7277
diff changeset
    49
ELAPSED=$("$ISABELLE_HOME/lib/scripts/showtime" "$SECONDS")
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    50
echo "$ELAPSED total elapsed time"
13235
c26fc3baeffc fail not so early, but produce correct exit code in the end
kleing
parents: 13229
diff changeset
    51
13834
4d50cf8ea3d7 == -> =
kleing
parents: 13235
diff changeset
    52
[ "$FAIL" = "" ] || fail "Logics ${FAIL}FAILED!"