src/ZF/Makefile
author lcp
Tue, 09 Nov 1993 16:32:24 +0100
changeset 102 e04cb6295a3f
parent 92 7252e7699e24
child 339 7e67ca1618b7
permissions -rw-r--r--
Target "test" now depends on examples files
clasohm@0
     1
#########################################################################
clasohm@0
     2
#									#
clasohm@0
     3
# 			Makefile for Isabelle (ZF)			#
clasohm@0
     4
#									#
clasohm@0
     5
#########################################################################
clasohm@0
     6
clasohm@0
     7
#To make the system, cd to this directory and type
clasohm@0
     8
#	make -f Makefile 
clasohm@0
     9
#To make the system and test it on standard examples, type 
clasohm@0
    10
#	make -f Makefile test
clasohm@0
    11
clasohm@0
    12
#Environment variable ISABELLECOMP specifies the compiler.
clasohm@0
    13
#Environment variable ISABELLEBIN specifies the destination directory.
clasohm@0
    14
#For Poly/ML, ISABELLEBIN must begin with a /
clasohm@0
    15
clasohm@0
    16
#Makes FOL if this file is ABSENT -- but not 
clasohm@0
    17
#if it is out of date, since this Makefile does not know its dependencies!
clasohm@0
    18
clasohm@0
    19
BIN = $(ISABELLEBIN)
clasohm@0
    20
COMP = $(ISABELLECOMP)
clasohm@0
    21
FILES = ROOT.ML zf.thy zf.ML upair.ML subset.ML pair.ML domrange.ML \
clasohm@0
    22
	func.ML simpdata.ML bool.thy bool.ML \
clasohm@0
    23
	sum.thy sum.ML qpair.thy qpair.ML mono.ML fixedpt.thy fixedpt.ML \
clasohm@92
    24
	ind_syntax.ML intr_elim.ML indrule.ML inductive.ML coinductive.ML \
clasohm@0
    25
	equalities.ML perm.thy perm.ML trancl.thy trancl.ML \
clasohm@52
    26
	wf.thy wf.ML ord.thy ord.ML nat.thy nat.ML \
clasohm@0
    27
	epsilon.thy epsilon.ML arith.thy arith.ML univ.thy univ.ML \
clasohm@0
    28
	quniv.thy quniv.ML constructor.ML datatype.ML  \
clasohm@33
    29
	fin.ML list.ML listfn.thy listfn.ML
clasohm@0
    30
lcp@102
    31
EX_FILES = ex/ROOT.ML ex/acc.ML ex/bin.ML ex/binfn.ML ex/binfn.thy\
lcp@102
    32
	   ex/bt.ML ex/bt_fn.ML ex/bt_fn.thy ex/comb.ML\
lcp@102
    33
	   ex/contract0.ML ex/contract0.thy ex/counit.ML ex/data.ML\
lcp@102
    34
	   ex/enum.ML ex/equiv.ML ex/equiv.thy ex/integ.ML ex/integ.thy\
lcp@102
    35
	   ex/listn.ML ex/llist.ML ex/llist_eq.ML ex/llistfn.ML ex/llistfn.thy\
lcp@102
    36
	   ex/misc.ML ex/parcontract.ML ex/primrec0.ML ex/primrec0.thy\
lcp@102
    37
	   ex/prop.ML ex/proplog.ML ex/proplog.thy ex/ramsey.ML ex/ramsey.thy\
lcp@102
    38
	   ex/rmap.ML ex/term.ML ex/termfn.ML ex/termfn.thy ex/tf.ML\
lcp@102
    39
	   ex/tf_fn.ML ex/tf_fn.thy ex/twos_compl.ML
lcp@102
    40
clasohm@0
    41
#Uses cp rather than make_database because Poly/ML allows only 3 levels
clasohm@0
    42
$(BIN)/ZF:   $(BIN)/FOL  $(FILES) 
clasohm@0
    43
	case "$(COMP)" in \
clasohm@0
    44
	poly*)	cp $(BIN)/FOL $(BIN)/ZF;\
lcp@82
    45
		echo 'open PolyML; use"ROOT";' | $(COMP) $(BIN)/ZF ;;\
clasohm@0
    46
	sml*)	echo 'use"ROOT.ML"; xML"$(BIN)/ZF" banner;' | $(BIN)/FOL;;\
clasohm@0
    47
	*)	echo Bad value for ISABELLECOMP;;\
clasohm@0
    48
	esac
clasohm@0
    49
clasohm@0
    50
$(BIN)/FOL:
clasohm@0
    51
	cd ../FOL;  $(MAKE)
clasohm@0
    52
lcp@102
    53
test:   ex/ROOT.ML  $(BIN)/ZF  $(EX_FILES)
clasohm@0
    54
	case "$(COMP)" in \
lcp@82
    55
	poly*)	echo 'use"ex/ROOT.ML"; quit();' | $(COMP) $(BIN)/ZF ;;\
clasohm@0
    56
	sml*)	echo 'use"ex/ROOT.ML";' | $(BIN)/ZF;;\
clasohm@0
    57
	*)	echo Bad value for ISABELLECOMP;;\
clasohm@0
    58
	esac
clasohm@0
    59
clasohm@0
    60
.PRECIOUS:  $(BIN)/FOL $(BIN)/ZF