lib/Tools/makeall
author skalberg
Fri, 04 Mar 2005 15:07:34 +0100
changeset 15574 b1d1b5bfc464
parent 14981 e73f8140af78
child 15845 e84b1842a7a5
permissions -rwxr-xr-x
Removed practically all references to Library.foldr.
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
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
     5
#
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
     6
# DESCRIPTION: apply make utility to all logics
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
     7
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
     8
## global settings
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
     9
14281
a8c4a1e63071 make Pure first to avoid race conditions on multiprocessor machines
kleing
parents: 13834
diff changeset
    10
ALL_LOGICS="Pure CCL CTT Cube FOL FOLP HOL HOLCF LCF Pure Sequents ZF"
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    11
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    12
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    13
## diagnostics
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    14
10511
wenzelm
parents: 9788
diff changeset
    15
PRG="$(basename "$0")"
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    16
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    17
function usage()
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    18
{
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    19
  echo
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    20
  echo "Usage: $PRG [ARGS ...]"
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    21
  echo
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    22
  echo "  Apply isatool make to all logics (passing ARGS)."
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    23
  echo
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    24
  exit 1
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    25
}
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    26
13229
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    27
function fail()
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    28
{
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    29
  echo "$1" >&2
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    30
  exit 2
a2b09d99e5cf fail early
kleing
parents: 10555
diff changeset
    31
}
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    32
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    33
## main
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    34
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    35
[ "$1" = "-?" ] && usage
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    36
13235
c26fc3baeffc fail not so early, but produce correct exit code in the end
kleing
parents: 13229
diff changeset
    37
FAIL=""
c26fc3baeffc fail not so early, but produce correct exit code in the end
kleing
parents: 13229
diff changeset
    38
10511
wenzelm
parents: 9788
diff changeset
    39
echo "Started at $(date) ($ML_IDENTIFIER on $(hostname))"
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    40
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    41
for L in $ALL_LOGICS
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    42
do
13235
c26fc3baeffc fail not so early, but produce correct exit code in the end
kleing
parents: 13229
diff changeset
    43
  ( cd "$ISABELLE_HOME/src/$L"; "$ISATOOL" make "$@" ) || FAIL="$FAIL$L "
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    44
done
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    45
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    46
echo -n "Finished at "; date
2502
dcf928805273 make all Isabelle systems afresh;
wenzelm
parents:
diff changeset
    47
9788
wenzelm
parents: 7277
diff changeset
    48
ELAPSED=$("$ISABELLE_HOME/lib/scripts/showtime" "$SECONDS")
4456
44e57a6d947d new version;
wenzelm
parents: 3957
diff changeset
    49
echo "$ELAPSED total elapsed time"
13235
c26fc3baeffc fail not so early, but produce correct exit code in the end
kleing
parents: 13229
diff changeset
    50
13834
4d50cf8ea3d7 == -> =
kleing
parents: 13235
diff changeset
    51
[ "$FAIL" = "" ] || fail "Logics ${FAIL}FAILED!"