src/ZF/Makefile
changeset 0 a5a9c433f639
child 33 ab5ed678130d
equal deleted inserted replaced
-1:000000000000 0:a5a9c433f639
       
     1 #########################################################################
       
     2 #									#
       
     3 # 			Makefile for Isabelle (ZF)			#
       
     4 #									#
       
     5 #########################################################################
       
     6 
       
     7 #To make the system, cd to this directory and type
       
     8 #	make -f Makefile 
       
     9 #To make the system and test it on standard examples, type 
       
    10 #	make -f Makefile test
       
    11 
       
    12 #Environment variable ISABELLECOMP specifies the compiler.
       
    13 #Environment variable ISABELLEBIN specifies the destination directory.
       
    14 #For Poly/ML, ISABELLEBIN must begin with a /
       
    15 
       
    16 #Makes FOL if this file is ABSENT -- but not 
       
    17 #if it is out of date, since this Makefile does not know its dependencies!
       
    18 
       
    19 BIN = $(ISABELLEBIN)
       
    20 COMP = $(ISABELLECOMP)
       
    21 FILES = ROOT.ML zf.thy zf.ML upair.ML subset.ML pair.ML domrange.ML \
       
    22 	func.ML simpdata.ML bool.thy bool.ML \
       
    23 	sum.thy sum.ML qpair.thy qpair.ML mono.ML fixedpt.thy fixedpt.ML \
       
    24 	ind-syntax.ML intr-elim.ML indrule.ML inductive.ML co-inductive.ML \
       
    25 	equalities.ML perm.thy perm.ML trancl.thy trancl.ML \
       
    26 	wf.thy wf.ML ordinal.thy ordinal.ML nat.thy nat.ML \
       
    27 	epsilon.thy epsilon.ML arith.thy arith.ML univ.thy univ.ML \
       
    28 	quniv.thy quniv.ML constructor.ML datatype.ML  \
       
    29 	fin.ML list.ML list-fn.thy list-fn.ML
       
    30 
       
    31 #Uses cp rather than make_database because Poly/ML allows only 3 levels
       
    32 $(BIN)/ZF:   $(BIN)/FOL  $(FILES) 
       
    33 	case "$(COMP)" in \
       
    34 	poly*)	cp $(BIN)/FOL $(BIN)/ZF;\
       
    35 		echo 'open PolyML; use"ROOT";' | $(COMP) $(BIN)/ZF ;;\
       
    36 	sml*)	echo 'use"ROOT.ML"; xML"$(BIN)/ZF" banner;' | $(BIN)/FOL;;\
       
    37 	*)	echo Bad value for ISABELLECOMP;;\
       
    38 	esac
       
    39 
       
    40 $(BIN)/FOL:
       
    41 	cd ../FOL;  $(MAKE)
       
    42 
       
    43 test:   ex/ROOT.ML  $(BIN)/ZF
       
    44 	case "$(COMP)" in \
       
    45 	poly*)	echo 'use"ex/ROOT.ML"; quit();' | $(COMP) $(BIN)/ZF ;;\
       
    46 	sml*)	echo 'use"ex/ROOT.ML";' | $(BIN)/ZF;;\
       
    47 	*)	echo Bad value for ISABELLECOMP;;\
       
    48 	esac
       
    49 
       
    50 .PRECIOUS:  $(BIN)/FOL $(BIN)/ZF