src/ZF/Makefile
author lcp
Tue, 28 Feb 1995 10:50:37 +0100
changeset 917 bd26f536e1fe
parent 798 31ec33d96231
child 956 cc929b9ddc80
permissions -rw-r--r--
Re-organised to perform the tests independently. Now test is defined in terms of separate targets IMP, ex, etc. If ISABELLECOMP is set wrongly then "exit 1" causes the Make to fail. Defines the macro "LOGIC" to refer to the right command for running the object-logic. Uses "suffix substitution" to shorten macro definitions.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     1
#########################################################################
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     2
#									#
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     3
# 			Makefile for Isabelle (ZF)			#
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     4
#									#
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     5
#########################################################################
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     6
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     7
#To make the system, cd to this directory and type
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     8
#	make -f Makefile 
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     9
#To make the system and test it on standard examples, type 
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    10
#	make -f Makefile test
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    11
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    12
#Environment variable ISABELLECOMP specifies the compiler.
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    13
#Environment variable ISABELLEBIN specifies the destination directory.
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    14
#For Poly/ML, ISABELLEBIN must begin with a /
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    15
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    16
#Makes FOL if this file is ABSENT -- but not 
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    17
#if it is out of date, since this Makefile does not know its dependencies!
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    18
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    19
BIN = $(ISABELLEBIN)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    20
COMP = $(ISABELLECOMP)
917
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    21
THYS = ZF.thy upair.thy subset.thy pair.thy domrange.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    22
       func.thy AC.thy simpdata.thy equalities.thy Bool.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    23
       Sum.thy QPair.thy mono.thy Fixedpt.thy ind_syntax.thy add_ind_def.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    24
       constructor.thy intr_elim.thy indrule.thy Inductive.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    25
       Perm.thy Rel.thy EquivClass.thy Trancl.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    26
       WF.thy Order.thy Ordinal.thy Epsilon.thy Arith.thy Univ.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    27
       QUniv.thy Datatype.thy OrderArith.thy OrderType.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    28
       Cardinal.thy CardinalArith.thy Cardinal_AC.thy InfDatatype.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    29
       Zorn.thy Nat.thy Finite.thy List.thy 
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    30
917
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    31
FILES = ROOT.ML thy_syntax.ML ../Pure/section_utils.ML $(THYS) $(THYS:.thy=.ML)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    32
	
102
e04cb6295a3f Target "test" now depends on examples files
lcp
parents: 92
diff changeset
    33
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    34
#Uses cp rather than make_database because Poly/ML allows only 3 levels
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    35
$(BIN)/ZF:   $(BIN)/FOL  $(FILES) 
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    36
	case "$(COMP)" in \
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    37
	poly*)	cp $(BIN)/FOL $(BIN)/ZF;\
82
b9ac34abc054 no longer specifies "-h 15000". Instead $ISABELLECOMP should
lcp
parents: 75
diff changeset
    38
		echo 'open PolyML; use"ROOT";' | $(COMP) $(BIN)/ZF ;;\
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    39
	sml*)	echo 'use"ROOT.ML"; xML"$(BIN)/ZF" banner;' | $(BIN)/FOL;;\
435
ca5356bd315a Addition of cardinals and order types, various tidying
lcp
parents: 363
diff changeset
    40
	*)	echo Bad value for ISABELLECOMP: \
917
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    41
                	$(COMP) is not poly or sml; exit 1;;\
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    42
	esac
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    43
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    44
$(BIN)/FOL:
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    45
	cd ../FOL;  $(MAKE)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    46
917
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    47
#### Testing of ZF
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    48
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    49
#A macro referring to the object-logic (depends on ML compiler)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    50
LOGIC:sh=case $ISABELLECOMP in \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    51
	poly*)	echo "$ISABELLECOMP $ISABELLEBIN/ZF" ;;\
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    52
	sml*)	echo "$ISABELLEBIN/ZF" ;;\
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    53
	*)	echo "echo Bad value for ISABELLECOMP: \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    54
                	$ISABELLEBIN is not poly or sml; exit 1" ;;\
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    55
	esac
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    56
917
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    57
##IMP-semantics example
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    58
IMP_THYS = IMP/Com.thy IMP/Denotation.thy IMP/Equiv.thy
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    59
IMP_FILES = IMP/ROOT.ML $(IMP_THYS) $(IMP_THYS:.thy=.ML)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    60
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    61
IMP:   $(BIN)/ZF  $(IMP_FILES)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    62
	echo 'use"IMP/ROOT.ML";quit();' | $(LOGIC)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    63
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    64
##Coinduction example
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    65
COIND_THYS = Coind/ECR.thy Coind/Language.thy\
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    66
	     Coind/MT.thy Coind/Map.thy Coind/Static.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    67
	     Coind/Types.thy Coind/Values.thy 
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    68
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    69
COIND_FILES = Coind/ROOT.ML Coind/BCR.thy  Coind/Dynamic.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    70
              $(COIND_THYS) $(COIND_THYS:.thy=.ML)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    71
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    72
Coind:  $(BIN)/ZF  $(COIND_FILES)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    73
	echo 'use"Coind/ROOT.ML";quit();' | $(LOGIC)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    74
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    75
##Miscellaneous examples
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    76
EX_THYS = ex/Ramsey.thy ex/Integ.thy ex/twos_compl.thy ex/Bin.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    77
	  ex/BT.thy ex/Term.thy  ex/TF.thy ex/Ntree.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    78
	  ex/Brouwer.thy ex/Data.thy ex/Enum.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    79
	  ex/Rmap.thy ex/PropLog.thy ex/ListN.thy ex/Acc.thy \
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    80
	  ex/Comb.thy ex/Primrec.thy ex/LList.thy ex/CoUnit.thy 
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    81
EX_FILES = ex/ROOT.ML ex/misc.ML $(EX_THYS) $(EX_THYS:.thy=.ML)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    82
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    83
#Test ZF by loading the examples in directory ex
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    84
ex:     $(BIN)/ZF  $(EX_FILES)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    85
	echo 'use"ex/ROOT.ML";quit();' | $(LOGIC)
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    86
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    87
#Full test.
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    88
test:   $(BIN)/ZF IMP Coind ex
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    89
	echo 'Test examples ran successfully' > test
bd26f536e1fe Re-organised to perform the tests independently. Now test
lcp
parents: 798
diff changeset
    90
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    91
.PRECIOUS:  $(BIN)/FOL $(BIN)/ZF