lib/Tools/mkdir
author paulson
Tue, 10 Feb 2004 12:02:11 +0100
changeset 14378 69c4d5997669
parent 13948 8d5de16583ef
child 14936 a13d5118f628
permissions -rwxr-xr-x
generic of_nat and of_int functions, and generalization of iszero and neg
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
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
     2
#
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
     3
# $Id$
9788
wenzelm
parents: 9656
diff changeset
     4
# Author: Markus Wenzel, TU Muenchen
wenzelm
parents: 9656
diff changeset
     5
# License: GPL (GNU GENERAL PUBLIC LICENSE)
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
     6
#
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
     7
# DESCRIPTION: prepare logic session directory
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
     8
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
     9
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    10
## diagnostics
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    11
10511
wenzelm
parents: 10423
diff changeset
    12
PRG="$(basename "$0")"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    13
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    14
function usage()
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    15
{
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    16
  echo
9237
161fb7f00414 fixed usage;
wenzelm
parents: 8685
diff changeset
    17
  echo "Usage: $PRG [OPTIONS] [LOGIC] NAME"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    18
  echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    19
  echo "  Options are:"
8198
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
    20
  echo "    -I FILE      alternative IsaMakefile output"
8211
714f164f0385 rename -p to -P;
wenzelm
parents: 8199
diff changeset
    21
  echo "    -P           include parent logic target"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    22
  echo "    -b           setup build mode (session outputs heap image)"
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    23
  echo "    -q           quiet mode"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    24
  echo
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    25
  echo "  Prepare session directory, including IsaMakefile and document source"
8199
wenzelm
parents: 8198
diff changeset
    26
  echo "  with parent LOGIC (default ISABELLE_LOGIC=$ISABELLE_LOGIC)"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    27
  echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    28
  exit 1
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    29
}
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    30
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    31
function fail()
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    32
{
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    33
  echo "$1" >&2
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    34
  exit 2
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    35
}
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    36
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    37
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    38
## process command line
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    39
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    40
# options
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    41
8198
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
    42
ISAMAKEFILE="IsaMakefile"
8211
714f164f0385 rename -p to -P;
wenzelm
parents: 8199
diff changeset
    43
PARENT=""
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    44
BUILD=""
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    45
QUIET=""
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    46
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    47
while getopts "I:Pbq" OPT
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    48
do
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    49
  case "$OPT" in
8198
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
    50
    I)
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
    51
      ISAMAKEFILE="$OPTARG"
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
    52
      ;;
8211
714f164f0385 rename -p to -P;
wenzelm
parents: 8199
diff changeset
    53
    P)
714f164f0385 rename -p to -P;
wenzelm
parents: 8199
diff changeset
    54
      PARENT=true
714f164f0385 rename -p to -P;
wenzelm
parents: 8199
diff changeset
    55
      ;;
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    56
    b)
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    57
      BUILD=true
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    58
      ;;
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    59
    q)
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    60
      QUIET=true
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    61
      ;;
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    62
    \?)
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    63
      usage
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    64
      ;;
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    65
  esac
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    66
done
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    67
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    68
shift $(($OPTIND - 1))
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    69
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    70
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    71
# args
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    72
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    73
9788
wenzelm
parents: 9656
diff changeset
    74
if [ "$#" -eq 1 ]; then
8194
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
    75
  LOGIC="$ISABELLE_LOGIC"
8685
05b6e5bcab66 handle dir prefix;
wenzelm
parents: 8579
diff changeset
    76
  DIR_NAME="$1"; shift
9788
wenzelm
parents: 9656
diff changeset
    77
elif [ "$#" -eq 2 ]; then
8194
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
    78
  LOGIC="$1"; shift
8685
05b6e5bcab66 handle dir prefix;
wenzelm
parents: 8579
diff changeset
    79
  DIR_NAME="$1"; shift
8194
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
    80
else
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
    81
  usage
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
    82
fi
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    83
8685
05b6e5bcab66 handle dir prefix;
wenzelm
parents: 8579
diff changeset
    84
DIR=$(dirname "$DIR_NAME")
05b6e5bcab66 handle dir prefix;
wenzelm
parents: 8579
diff changeset
    85
NAME=$(basename "$DIR_NAME")
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    86
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    87
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    88
## main
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    89
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    90
[ -z "$QUIET" ] && echo "Preparing session \"$NAME\" ..."
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    91
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
    92
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    93
# IsaMakefile
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
    94
8685
05b6e5bcab66 handle dir prefix;
wenzelm
parents: 8579
diff changeset
    95
mkdir -p "$DIR" || fail "Bad directory: $DIR"
05b6e5bcab66 handle dir prefix;
wenzelm
parents: 8579
diff changeset
    96
cd "$DIR"
05b6e5bcab66 handle dir prefix;
wenzelm
parents: 8579
diff changeset
    97
8244
c587f5ac4a98 basic source deps;
wenzelm
parents: 8211
diff changeset
    98
DOCUMENT_ROOT=""
11846
2ce611f870e0 option -q also excludes -v true in generated stuff;
wenzelm
parents: 11836
diff changeset
    99
VERBOSE=""
2ce611f870e0 option -q also excludes -v true in generated stuff;
wenzelm
parents: 11836
diff changeset
   100
[ -z "$QUIET" ] && VERBOSE="-v true "
8244
c587f5ac4a98 basic source deps;
wenzelm
parents: 8211
diff changeset
   101
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   102
if [ -n "$BUILD" ]; then
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   103
  IMAGES="$NAME"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   104
  TEST=""
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   105
  TARGET="\$(OUT)/$NAME"
8244
c587f5ac4a98 basic source deps;
wenzelm
parents: 8211
diff changeset
   106
  ROOT_ML="ROOT.ML"
8579
81ef0fc80822 tuned targets;
wenzelm
parents: 8501
diff changeset
   107
  SOURCES="*.thy"
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   108
  DOCUMENT_ROOT="document/root.tex"
8194
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
   109
  USEDIR="\$(USEDIR) -b -P http://isabelle.in.tum.de/library"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   110
else
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   111
  IMAGES=""
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   112
  TEST="$NAME"
8211
714f164f0385 rename -p to -P;
wenzelm
parents: 8199
diff changeset
   113
  TARGET="\$(LOG)/$LOGIC-$NAME.gz"
8244
c587f5ac4a98 basic source deps;
wenzelm
parents: 8211
diff changeset
   114
  ROOT_ML="$NAME/ROOT.ML"
8579
81ef0fc80822 tuned targets;
wenzelm
parents: 8501
diff changeset
   115
  SOURCES="$NAME/*.thy"
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   116
  DOCUMENT_ROOT="$NAME/document/root.tex"
8194
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
   117
  USEDIR="\$(USEDIR)"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   118
fi
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   119
8198
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
   120
if [ "$ISAMAKEFILE" != - -a -f "$ISAMAKEFILE" ]; then
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   121
  echo "keeping $DIR/$ISAMAKEFILE" >&2
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   122
else
11650
wenzelm
parents: 11578
diff changeset
   123
  [ -z "$QUIET" -a -n "$ISAMAKEFILE" -a "$ISAMAKEFILE" != - ] && \
wenzelm
parents: 11578
diff changeset
   124
    echo "creating $DIR/$ISAMAKEFILE" >&2
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   125
  { echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   126
    echo "## targets"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   127
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   128
    echo "default: $NAME"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   129
    echo "images: $IMAGES"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   130
    echo "test: $TEST"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   131
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   132
    echo "all: images test"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   133
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   134
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   135
    echo "## global settings"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   136
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   137
    echo "SRC = \$(ISABELLE_HOME)/src"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   138
    echo "OUT = \$(ISABELLE_OUTPUT)"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   139
    echo "LOG = \$(OUT)/log"
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   140
    echo
12477
8f5e0a335ca7 option "-d pdf" by default (accomodates pdf bias of Mac OS X);
wenzelm
parents: 12336
diff changeset
   141
    echo "USEDIR = \$(ISATOOL) usedir ${VERBOSE}-i true -d pdf  ## -D generated"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   142
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   143
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   144
    echo "## $NAME"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   145
    echo ""
8162
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   146
    if [ -n "$PARENT" ]; then
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   147
      echo "$NAME: $LOGIC $TARGET"
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   148
      echo
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   149
      echo "$LOGIC:"
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   150
      echo -e "\t@cd \$(SRC)/$LOGIC; \$(ISATOOL) make $LOGIC"
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   151
      echo
13946
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   152
      echo "$TARGET: \$(OUT)/$LOGIC $ROOT_ML $DOCUMENT_ROOT ## $SOURCES"
8194
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
   153
      echo -e "\t@$USEDIR \$(OUT)/$LOGIC $NAME"
8162
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   154
    else
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   155
      echo "$NAME: $TARGET"
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   156
      echo
13946
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   157
      echo "$TARGET: ## $ROOT_ML $DOCUMENT_ROOT $SOURCES"
8194
0c5d9d23b715 misc improvements;
wenzelm
parents: 8162
diff changeset
   158
      echo -e "\t@$USEDIR $LOGIC $NAME"
8162
020e384e67dd -p option;
wenzelm
parents: 8159
diff changeset
   159
    fi
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   160
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   161
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   162
    echo "## clean"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   163
    echo
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   164
    echo "clean:"
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   165
    echo -e "\t@rm -f $TARGET"
8198
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
   166
  } | {
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
   167
    if [ -z "$ISAMAKEFILE" -o "$ISAMAKEFILE" = - ]; then
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
   168
      cat
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
   169
    else
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
   170
      cat > "$ISAMAKEFILE"
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
   171
    fi
73a5877ca517 -I option;
wenzelm
parents: 8194
diff changeset
   172
  }
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   173
fi
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   174
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   175
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   176
# base directory
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   177
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   178
if [ -z "$BUILD" ]; then
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   179
  mkdir -p "$NAME" || fail "Bad directory: $DIR/$NAME"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   180
  cd "$NAME"
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   181
  PREFIX="$DIR/$NAME"
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   182
else
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   183
  PREFIX="$DIR"
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   184
fi
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   185
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   186
if [ -f ROOT.ML ]; then
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   187
  echo "keeping $PREFIX/ROOT.ML" >&2
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   188
else
11650
wenzelm
parents: 11578
diff changeset
   189
  [ -z "$QUIET" ] && echo "creating $PREFIX/ROOT.ML" >&2
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   190
  cat >ROOT.ML <<EOF
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   191
(*
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   192
  no_document use_thy "ThisTheory";
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   193
  use_thy "ThatTheory";
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   194
*)
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   195
EOF
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   196
fi
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   197
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   198
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   199
# document directory
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   200
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   201
#set by configure
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   202
AUTO_PERL=perl
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   203
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   204
if [ -e document ]; then
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   205
  echo "keeping $PREFIX/document" >&2
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   206
else
11650
wenzelm
parents: 11578
diff changeset
   207
  [ -z "$QUIET" ] && echo "creating $PREFIX/document" >&2
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   208
  mkdir document || fail "Bad directory: $PREFIX/document"
11650
wenzelm
parents: 11578
diff changeset
   209
wenzelm
parents: 11578
diff changeset
   210
  [ -z "$QUIET" ] && echo "creating $PREFIX/document/root.tex" >&2
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   211
  TITLE=$(echo "$NAME" | tr _ -)
12477
8f5e0a335ca7 option "-d pdf" by default (accomodates pdf bias of Mac OS X);
wenzelm
parents: 12336
diff changeset
   212
  AUTHOR=$("$AUTO_PERL" -e "@pw = getpwnam(\"$USER\"); print @pw[6]" | tr _ -)
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   213
  cat >document/root.tex <<EOF
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   214
\documentclass[11pt,a4paper]{article}
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   215
\usepackage{isabelle,isabellesym}
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   216
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   217
% further packages required for unusual symbols (see also isabellesym.sty)
13946
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   218
% use only when needed
13948
8d5de16583ef reduced package dependencies,
kleing
parents: 13946
diff changeset
   219
%\usepackage{amssymb}                  % for \<leadsto>, \<box>, \<diamond>,
13946
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   220
                                       % \<sqsupset>, \<mho>, \<Join>, 
13948
8d5de16583ef reduced package dependencies,
kleing
parents: 13946
diff changeset
   221
                                       % \<lhd>, \<lesssim>, \<greatersim>,
13946
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   222
                                       % \<lessapprox>, \<greaterapprox>,
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   223
                                       % \<triangleq>, \<yen>, \<lozenge>
13948
8d5de16583ef reduced package dependencies,
kleing
parents: 13946
diff changeset
   224
%\usepackage[greek,english]{babel}     % greek for \<euro>,
8d5de16583ef reduced package dependencies,
kleing
parents: 13946
diff changeset
   225
                                       % english for \<guillemotleft>, 
8d5de16583ef reduced package dependencies,
kleing
parents: 13946
diff changeset
   226
                                       %             \<guillemotright>
8d5de16583ef reduced package dependencies,
kleing
parents: 13946
diff changeset
   227
                                       % default language = last
13946
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   228
%\usepackage[latin1]{inputenc}         % for \<onesuperior>, \<onequarter>,
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   229
                                       % \<twosuperior>, \<onehalf>,
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   230
                                       % \<threesuperior>, \<threequarters>,
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   231
                                       % \<degree>
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   232
%\usepackage[only,bigsqcap]{stmaryrd}  % for \<Sqinter>
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   233
%\usepackage{eufrak}                   % for \<AA> ... \<ZZ>, \<aa> ... \<zz>
13948
8d5de16583ef reduced package dependencies,
kleing
parents: 13946
diff changeset
   234
                                       % (only needed if amssymb not used)
8d5de16583ef reduced package dependencies,
kleing
parents: 13946
diff changeset
   235
%\usepackage{textcomp}                 % for \<cent>, \<currency>
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   236
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   237
% this should be the last package used
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   238
\usepackage{pdfsetup}
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   239
13946
b75562218711 more documentation for packages in root.tex
kleing
parents: 12477
diff changeset
   240
% urls in roman style, theory text in math-similar italics
10021
6d5d618b302c best-style made default;
wenzelm
parents: 9788
diff changeset
   241
\urlstyle{rm}
6d5d618b302c best-style made default;
wenzelm
parents: 9788
diff changeset
   242
\isabellestyle{it}
9656
a3d868043c49 %\urlstyle{rm}
wenzelm
parents: 9237
diff changeset
   243
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   244
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   245
\begin{document}
10353
b1b3f25750f4 tuned tex template;
wenzelm
parents: 10308
diff changeset
   246
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   247
\title{$TITLE}
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   248
\author{$AUTHOR}
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   249
\maketitle
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   250
10308
c50fc8023ac0 make sure default document works;
wenzelm
parents: 10021
diff changeset
   251
\tableofcontents
10353
b1b3f25750f4 tuned tex template;
wenzelm
parents: 10308
diff changeset
   252
b1b3f25750f4 tuned tex template;
wenzelm
parents: 10308
diff changeset
   253
\parindent 0pt\parskip 0.5ex
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   254
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   255
% include generated text of all theories
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   256
\input{session}
10353
b1b3f25750f4 tuned tex template;
wenzelm
parents: 10308
diff changeset
   257
12104
c058fd42b5fc \bibliographystyle{abbrv};
wenzelm
parents: 11878
diff changeset
   258
%\bibliographystyle{abbrv}
10353
b1b3f25750f4 tuned tex template;
wenzelm
parents: 10308
diff changeset
   259
%\bibliography{root}
b1b3f25750f4 tuned tex template;
wenzelm
parents: 10308
diff changeset
   260
8159
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   261
\end{document}
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   262
EOF
64c272504383 mkdir: prepare logic session directory;
wenzelm
parents:
diff changeset
   263
fi
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   264
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   265
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   266
# notes
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   267
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   268
if [ -z "$QUIET" ]; then
11650
wenzelm
parents: 11578
diff changeset
   269
  cat >&2 <<EOF
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   270
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   271
Notes:
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   272
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   273
  * 'isatool make' processes the session (including document preparation)
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   274
11650
wenzelm
parents: 11578
diff changeset
   275
  * $DIR/IsaMakefile contains compilation options and file dependencies
wenzelm
parents: 11578
diff changeset
   276
11846
2ce611f870e0 option -q also excludes -v true in generated stuff;
wenzelm
parents: 11836
diff changeset
   277
  * $PREFIX/document/root.tex contains the LaTeX master document setup
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   278
11846
2ce611f870e0 option -q also excludes -v true in generated stuff;
wenzelm
parents: 11836
diff changeset
   279
  * $PREFIX/ROOT.ML needs to contain ML code to load all theories
11578
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   280
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   281
EOF
43c6735080b8 removed option -d (now standard behaviour);
wenzelm
parents: 10576
diff changeset
   282
fi