LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
-all: styles gTopLevel
-opt: styles gTopLevel.opt
+all: styles gTopLevel regtest
+opt: styles gTopLevel.opt regtest.opt
start:
$(MAKE) -C ../hbugs/ start
INTERFACE_FILES = \
proofEngine.mli logicalOperations.mli oldDisambiguate.mli \
- disambiguatingParser.mli termEditor.mli xmlDiff.mli chosenTransformer.mli \
- termViewer.mli invokeTactics.mli hbugs.mli chosenTermEditor.mli
-# texTermEditor.mli
+ disambiguatingParser.mli termEditor.mli texTermEditor.mli xmlDiff.mli \
+ chosenTransformer.mli termViewer.mli invokeTactics.mli hbugs.mli \
+ chosenTermEditor.mli
-DEPOBJS = $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) gTopLevel.ml
+DEPOBJS = \
+ $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \
+ gTopLevel.ml regtest.ml batchParser.ml batchParser.mli
TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) gTopLevel.cmo
+REGTESTOBJS = \
+ $(INTERFACE_FILES:%.mli=%.cmo) batchParser.cmo regtest.cmo
$(INTERFACE_FILES:%.mli=%.cmo): $(LIBRARIES)
$(INTERFACE_FILES:%.mli=%.cmx): $(LIBRARIES_OPT)
$(OCAMLDEP) $(DEPOBJS) > .depend
gTopLevel: $(TOPLEVELOBJS) $(LIBRARIES)
- $(OCAMLC) -linkpkg -o gTopLevel $(TOPLEVELOBJS)
-
+ $(OCAMLC) -linkpkg -o $@ $(TOPLEVELOBJS)
gTopLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT)
- $(OCAMLOPT) -linkpkg -o gTopLevel.opt $(TOPLEVELOBJS:.cmo=.cmx)
+ $(OCAMLOPT) -linkpkg -o $@ $(TOPLEVELOBJS:.cmo=.cmx)
+
+regtest: $(REGTESTOBJS) $(LIBRARIES)
+ $(OCAMLC) -linkpkg -o $@ $(REGTESTOBJS)
+regtest.opt: $(REGTESTOBJS:.cmo=.cmx) $(LIBRARIES)
+ $(OCAMLOPT) -linkpkg -o $@ $(REGTESTOBJS:.cmo=.cmx)
.SUFFIXES: .ml .mli .cmo .cmi .cmx
.ml.cmo:
$(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
clean:
- rm -f *.cm[iox] *.o gTopLevel gTopLevel.opt
-
+ rm -f *.cm[iox] *.o gTopLevel{,.opt} regtest{,.opt}
install:
cp gTopLevel gTopLevel.opt $(BIN_DIR)
-
uninstall:
rm -f $(BIN_DIR)/gTopLevel $(BIN_DIR)/gTopLevel.opt
-.PHONY: install uninstall clean
+.PHONY: install uninstall clean test
+
+INTESTS := $(wildcard tests/*.cic)
+OUTTESTS := $(patsubst %, %.test, $(INTESTS))
+gentest: $(OUTTESTS)
+cleantest:
+ rm -f $(OUTTESTS)
+tests/%.cic.test: tests/%.cic regtest
+ time ./regtest -gen $<
+test:
+ ./regtest $(INTESTS) 2> /dev/null
+envtest:
+ ./regtest -dump $(INTESTS) 2> /dev/null
ifneq ($(MAKECMDGOALS), depend)
include .depend