src/CTT/Makefile
author paulson
Wed, 27 Nov 1996 10:31:05 +0100
changeset 2235 866dbb04816c
parent 2117 292df12bace5
child 2822 50bac845de6f
permissions -rw-r--r--
Makefile improvements by Thomas Santen and Stephan Herrmann Should be more portable across different versions of make
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1294
1358dc040edb added calls of init_html and make_chart;
clasohm
parents: 953
diff changeset
     1
# $Id$
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     2
#########################################################################
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     3
#									#
2094
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
     4
#			Makefile for Isabelle (CTT)			#
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     5
#									#
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     6
#########################################################################
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     7
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     8
#To make the system, cd to this directory and type  
1294
1358dc040edb added calls of init_html and make_chart;
clasohm
parents: 953
diff changeset
     9
#	make
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    10
#To make the system and test it on standard examples, type  
1294
1358dc040edb added calls of init_html and make_chart;
clasohm
parents: 953
diff changeset
    11
#	make test
1358dc040edb added calls of init_html and make_chart;
clasohm
parents: 953
diff changeset
    12
#To generate HTML files for every theory, set the environment variable
1358dc040edb added calls of init_html and make_chart;
clasohm
parents: 953
diff changeset
    13
#MAKE_HTML or add the parameter "MAKE_HTML=".
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    14
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    15
#Environment variable ISABELLECOMP specifies the compiler.
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    16
#Environment variable ISABELLEBIN specifies the destination directory.
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    17
#For Poly/ML, ISABELLEBIN must begin with a /
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    18
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    19
#Makes pure Isabelle (Pure) if this file is ABSENT -- but not 
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    20
#if it is out of date, since this Makefile does not know its dependencies!
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    21
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    22
BIN = $(ISABELLEBIN)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    23
COMP = $(ISABELLECOMP)
2094
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    24
FILES =		ROOT.ML CTT.thy CTT.ML Bool.thy Bool.ML \
335
5623ca25803f renamed theory files
clasohm
parents: 101
diff changeset
    25
		Arith.thy Arith.ML rew.ML ../Provers/typedsimp.ML
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    26
101
d4730dd72226 Target "test" now depends on examples files
lcp
parents: 0
diff changeset
    27
EX_FILES = ex/ROOT.ML ex/elim.ML ex/equal.ML ex/synth.ML ex/typechk.ML
d4730dd72226 Target "test" now depends on examples files
lcp
parents: 0
diff changeset
    28
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    29
$(BIN)/CTT:   $(BIN)/Pure  $(FILES) 
2117
292df12bace5 ISABELLECOMP may now have a leading pathname
paulson
parents: 2094
diff changeset
    30
	@if [ -d $${ISABELLEBIN:?}/Pure ];\
2094
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    31
		then echo Bad value for ISABELLEBIN: \
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    32
			$(BIN) is the Isabelle source directory; \
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    33
			exit 1; \
2117
292df12bace5 ISABELLECOMP may now have a leading pathname
paulson
parents: 2094
diff changeset
    34
	fi
2235
866dbb04816c Makefile improvements by Thomas Santen and Stephan Herrmann
paulson
parents: 2117
diff changeset
    35
	@case `basename "$(COMP)"` in \
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    36
	poly*)	echo 'make_database"$(BIN)/CTT"; quit();'  \
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    37
			| $(COMP) $(BIN)/Pure;\
2094
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    38
		if [ "$${MAKE_HTML}" = "true" ]; \
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    39
		then echo 'open PolyML; make_html := true; exit_use_dir".";' \
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    40
		       | $(COMP) $(BIN)/CTT;\
1491
38a14548baad make_html now only remains set if MAKE_HTML=true
clasohm
parents: 1361
diff changeset
    41
		elif [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
2094
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    42
		then echo 'open PolyML; make_html := true; exit_use_dir".";				  make_html := false;' | $(COMP) $(BIN)/CTT;\
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    43
		else echo 'open PolyML; exit_use_dir".";' \
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    44
		       | $(COMP) $(BIN)/CTT;\
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    45
		fi;\
2023
aa25f20c5d8b Calls discgarb -c to realize dramatic space savings!
paulson
parents: 1491
diff changeset
    46
		discgarb -c $(BIN)/CTT;;\
1491
38a14548baad make_html now only remains set if MAKE_HTML=true
clasohm
parents: 1361
diff changeset
    47
	sml*)	if [ "$${MAKE_HTML}" = "true" ]; \
2094
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    48
		then echo 'make_html := true; exit_use_dir".";						  xML"$(BIN)/CTT" banner;' | $(BIN)/Pure;\
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    49
		elif [ "$${MAKE_HTML-undefined}" != "undefined" ];\
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    50
		then echo 'make_html := true; exit_use_dir".";						  make_html := false; xML"$(BIN)/CTT" banner;' \
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    51
		       | $(BIN)/Pure;\
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    52
		else echo 'exit_use_dir"."; xML"$(BIN)/CTT" banner;' \
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    53
		       | $(BIN)/Pure;\
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    54
		fi;;\
409
54fcef4db0db added test for $ISABELLEBIN=source directory, to
lcp
parents: 335
diff changeset
    55
	*)	echo Bad value for ISABELLECOMP: \
2117
292df12bace5 ISABELLECOMP may now have a leading pathname
paulson
parents: 2094
diff changeset
    56
			\"$(COMP)\" is not poly or sml;;\
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    57
	esac
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    58
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    59
$(BIN)/Pure:
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    60
	cd ../Pure;  $(MAKE)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    61
2094
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    62
test:	ex/ROOT.ML $(BIN)/CTT  $(EX_FILES) 
2235
866dbb04816c Makefile improvements by Thomas Santen and Stephan Herrmann
paulson
parents: 2117
diff changeset
    63
	@case `basename "$(COMP)"` in \
953
17d7fad9c9a2 Now calls exit_use instead of use, for prompt failure if errors are detected.
lcp
parents: 409
diff changeset
    64
	poly*)	echo 'exit_use"ex/ROOT.ML"; quit();' | $(COMP) $(BIN)/CTT ;;\
17d7fad9c9a2 Now calls exit_use instead of use, for prompt failure if errors are detected.
lcp
parents: 409
diff changeset
    65
	sml*)	echo 'exit_use"ex/ROOT.ML";' | $(BIN)/CTT;;\
409
54fcef4db0db added test for $ISABELLEBIN=source directory, to
lcp
parents: 335
diff changeset
    66
	*)	echo Bad value for ISABELLECOMP: \
2117
292df12bace5 ISABELLECOMP may now have a leading pathname
paulson
parents: 2094
diff changeset
    67
			\"$(COMP)\" is not poly or sml;;\
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    68
	esac
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    69
2094
2061df98aab5 Removed extraneous spaces from all Makefiles
paulson
parents: 2023
diff changeset
    70
.PRECIOUS:  $(BIN)/Pure	 $(BIN)/CTT