#########################################################################
#									#
# 		Makefile for Isabelle -- using Poly/ML			#
#									#
#########################################################################

#The pure part is common to all systems.  
#Object-logics (like FOL) are loaded on top of it.

#To make the system, cd to this directory and type  
#	make -f Makefile 

#Environment variable ML_DBASE specifies the initial Poly/ML database, from
#  the Poly/ML distribution directory.
#WARNING: Poly/ML parent databases should not be moved!

#Environment variable ISABELLECOMP specifies the compiler.
#Environment variable ISABELLEBIN specifies the destination directory.
### !!! ISABELLEBIN must be a full pathname (beginning with a /) !!!

ML_FILES =  	ROOT.ML library.ML term.ML symtab.ML sign.ML sequence.ML\
		envir.ML unify.ML logic.ML thm.ML stringtree.ML tctical.ML\
		tactic.ML goals.ML type.ML 

SYNTAX_FILES =  SYNTAX/ROOT.ML		SYNTAX/xgram.ML\
	SYNTAX/extension.ML	SYNTAX/lexicon.ML	SYNTAX/parse_tree.ML\
	SYNTAX/earley0A.ML	SYNTAX/type_ext.ML	SYNTAX/sextension.ML\
	SYNTAX/pretty.ML	SYNTAX/printer.ML	SYNTAX/syntax.ML

# loads the compatibility file POLY.ML 
$(ISABELLEBIN)/Pure:   $(ML_FILES)  $(SYNTAX_FILES)  $(ML_DBASE)
	echo makefile=$${ML_DBASE:?'No Poly/ML database specified'}
	echo 'PolyML.make_database"$(ISABELLEBIN)/Pure";PolyML.quit();' \
		| $(ISABELLECOMP) $(ML_DBASE)
	echo 'PolyML.use"POLY";use"ROOT";' | $(ISABELLECOMP) $(ISABELLEBIN)/Pure 

.PRECIOUS:  $(ISABELLEBIN)/Pure  
.SUFFIXES:
