src/CTT/Makefile
author clasohm
Sat Feb 10 19:04:21 1996 +0100 (1996-02-10)
changeset 1491 38a14548baad
parent 1361 90d615b599d9
child 2023 aa25f20c5d8b
permissions -rw-r--r--
make_html now only remains set if MAKE_HTML=true
     1 # $Id$
     2 #########################################################################
     3 #									#
     4 # 			Makefile for Isabelle (CTT)			#
     5 #									#
     6 #########################################################################
     7 
     8 #To make the system, cd to this directory and type  
     9 #	make
    10 #To make the system and test it on standard examples, type  
    11 #	make test
    12 #To generate HTML files for every theory, set the environment variable
    13 #MAKE_HTML or add the parameter "MAKE_HTML=".
    14 
    15 #Environment variable ISABELLECOMP specifies the compiler.
    16 #Environment variable ISABELLEBIN specifies the destination directory.
    17 #For Poly/ML, ISABELLEBIN must begin with a /
    18 
    19 #Makes pure Isabelle (Pure) if this file is ABSENT -- but not 
    20 #if it is out of date, since this Makefile does not know its dependencies!
    21 
    22 BIN = $(ISABELLEBIN)
    23 COMP = $(ISABELLECOMP)
    24 FILES = 	ROOT.ML CTT.thy CTT.ML Bool.thy Bool.ML \
    25 		Arith.thy Arith.ML rew.ML ../Provers/typedsimp.ML
    26 
    27 EX_FILES = ex/ROOT.ML ex/elim.ML ex/equal.ML ex/synth.ML ex/typechk.ML
    28 
    29 $(BIN)/CTT:   $(BIN)/Pure  $(FILES) 
    30 	if [ -d $${ISABELLEBIN:?}/Pure ];\
    31            	then echo Bad value for ISABELLEBIN: \
    32                 	$(BIN) is the Isabelle source directory; \
    33                 	exit 1; \
    34            	fi;\
    35 	case "$(COMP)" in \
    36 	poly*)	echo 'make_database"$(BIN)/CTT"; quit();'  \
    37 			| $(COMP) $(BIN)/Pure;\
    38                 if [ "$${MAKE_HTML}" = "true" ]; \
    39                 then echo 'open PolyML; make_html := true; exit_use_dir".";' \
    40                        | $(COMP) $(BIN)/CTT;\
    41 		elif [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    42                 then echo 'open PolyML; make_html := true; exit_use_dir".";                               make_html := false;' | $(COMP) $(BIN)/CTT;\
    43                 else echo 'open PolyML; exit_use_dir".";' \
    44                        | $(COMP) $(BIN)/CTT;\
    45                 fi;;\
    46 	sml*)	if [ "$${MAKE_HTML}" = "true" ]; \
    47                 then echo 'make_html := true; exit_use_dir".";                                            xML"$(BIN)/CTT" banner;' | $(BIN)/Pure;\
    48                 elif [ "$${MAKE_HTML-undefined}" != "undefined" ];\
    49                 then echo 'make_html := true; exit_use_dir".";                                            make_html := false; xML"$(BIN)/CTT" banner;' \
    50                        | $(BIN)/Pure;\
    51                 else echo 'exit_use_dir"."; xML"$(BIN)/CTT" banner;' \
    52                        | $(BIN)/Pure;\
    53                 fi;;\
    54 	*)	echo Bad value for ISABELLECOMP: \
    55                 	$(COMP) is not poly or sml;;\
    56 	esac
    57 
    58 $(BIN)/Pure:
    59 	cd ../Pure;  $(MAKE)
    60 
    61 test:   ex/ROOT.ML $(BIN)/CTT  $(EX_FILES) 
    62 	case "$(COMP)" in \
    63 	poly*)	echo 'exit_use"ex/ROOT.ML"; quit();' | $(COMP) $(BIN)/CTT ;;\
    64 	sml*)	echo 'exit_use"ex/ROOT.ML";' | $(BIN)/CTT;;\
    65 	*)	echo Bad value for ISABELLECOMP: \
    66                 	$(COMP) is not poly or sml;;\
    67 	esac
    68 
    69 .PRECIOUS:  $(BIN)/Pure  $(BIN)/CTT