clasohm@0: ######################################################################### clasohm@0: # # clasohm@0: # Makefile for Isabelle (FOL) # clasohm@0: # # clasohm@0: ######################################################################### clasohm@0: clasohm@0: #To make the system, cd to this directory and type clasohm@0: # make -f Makefile clasohm@0: #To make the system and test it on standard examples, type clasohm@0: # make -f Makefile test clasohm@0: clasohm@0: #Environment variable ISABELLECOMP specifies the compiler. clasohm@0: #Environment variable ISABELLEBIN specifies the destination directory. clasohm@0: #For Poly/ML, ISABELLEBIN must begin with a / clasohm@0: clasohm@0: #Makes pure Isabelle (Pure) if this file is ABSENT -- but not clasohm@0: #if it is out of date, since this Makefile does not know its dependencies! clasohm@0: clasohm@0: BIN = $(ISABELLEBIN) clasohm@0: COMP = $(ISABELLECOMP) clasohm@336: FILES = ROOT.ML IFOL.thy IFOL.ML FOL.thy FOL.ML intprover.ML simpdata.ML \ clasohm@0: ../Provers/classical.ML ../Provers/simplifier.ML ../Provers/ind.ML clasohm@0: clasohm@336: EX_FILES = ex/ROOT.ML ex/cla.ML ex/foundn.ML ex/If.ML ex/If.thy ex/int.ML\ clasohm@336: ex/intro.ML ex/List.ML ex/List.thy ex/Nat.ML ex/Nat.thy\ clasohm@336: ex/Nat2.ML ex/Nat2.thy ex/Prolog.ML ex/Prolog.thy ex/prop.ML\ lcp@101: ex/quant.ML lcp@101: clasohm@0: $(BIN)/FOL: $(BIN)/Pure $(FILES) lcp@409: if [ -d $${ISABELLEBIN:?}/Pure ];\ lcp@409: then echo Bad value for ISABELLEBIN: \ lcp@409: $(BIN) is the Isabelle source directory; \ lcp@409: exit 1; \ lcp@409: fi;\ clasohm@0: case "$(COMP)" in \ clasohm@0: poly*) echo 'make_database"$(BIN)/FOL"; quit();' \ clasohm@0: | $(COMP) $(BIN)/Pure;\ clasohm@0: echo 'open PolyML; use"ROOT";' | $(COMP) $(BIN)/FOL;;\ clasohm@0: sml*) echo 'use"ROOT.ML"; xML"$(BIN)/FOL" banner;' | $(BIN)/Pure;;\ lcp@409: *) echo Bad value for ISABELLECOMP: \ lcp@409: $(COMP) is not poly or sml;;\ clasohm@0: esac clasohm@0: clasohm@0: $(BIN)/Pure: clasohm@0: cd ../Pure; $(MAKE) clasohm@0: lcp@101: test: ex/ROOT.ML $(BIN)/FOL $(EX_FILES) clasohm@0: case "$(COMP)" in \ clasohm@0: poly*) echo 'use"ex/ROOT.ML"; quit();' | $(COMP) $(BIN)/FOL ;;\ clasohm@0: sml*) echo 'use"ex/ROOT.ML";' | $(BIN)/FOL;;\ lcp@409: *) echo Bad value for ISABELLECOMP: \ lcp@409: $(COMP) is not poly or sml;;\ clasohm@0: esac clasohm@0: clasohm@0: .PRECIOUS: $(BIN)/Pure $(BIN)/FOL