PACKAGE = cic_textual_parser2 REQUIRES = \ helm-tactics helm-logger helm-cic_unification helm-cic_transformations helm-pxp \ ulex camlp4.gramlib NOTATIONS = logic arit tex # NOTATIONS = logic arit INTERFACE_FILES = \ disambiguateTypes.mli \ disambiguateChoices.mli \ macro_table.mli \ cicTextualParser2Macro.mli \ cicTextualLexer2.mli \ cicTextualParser2.mli \ disambiguate.mli IMPLEMENTATION_FILES = \ $(patsubst %.mli, %.ml, $(INTERFACE_FILES)) \ $(patsubst %,%_notation.ml,$(NOTATIONS)) ULEXDIR := $(shell ocamlfind query ulex) LEXER_P4_OPTS = -I $(ULEXDIR) pa_ulex.cma PARSER_P4_OPTS = \ pa_extend.cmo \ ./macro_table.cmo \ ./cicTextualParser2Macro.cmo \ ./pa_unicode_macro.cmo PA_P4_OPTS = q_MLast.cmo pa_extend.cmo all: cicTextualLexer2.cmo: cicTextualLexer2.ml $(OCAMLC) -pp "camlp4o $(LEXER_P4_OPTS)" -c $< cicTextualParser2.cmo: cicTextualParser2.ml cicTextualParser2Macro.cmo pa_unicode_macro.cmo $(OCAMLC) -pp "camlp4o $(PARSER_P4_OPTS)" -c $< cicTextualLexer2.cmx: cicTextualLexer2.ml $(OCAMLOPT) -pp "camlp4o $(LEXER_P4_OPTS)" -c $< cicTextualParser2.cmx: cicTextualParser2.ml cicTextualParser2Macro.cmo pa_unicode_macro.cmo $(OCAMLOPT) -pp "camlp4o $(PARSER_P4_OPTS)" -c $< %_notation.cmo: %_notation.ml cicTextualParser2.cmo $(OCAMLC) -pp "camlp4o $(PARSER_P4_OPTS)" -c $< %_notation.cmx: %_notation.ml cicTextualParser2.cmx $(OCAMLOPT) -pp "camlp4o $(PARSER_P4_OPTS)" -c $< pa_unicode_macro.cmo: pa_unicode_macro.ml cicTextualParser2Macro.cmo $(OCAMLC) -pp "camlp4o $(PA_P4_OPTS)" -c $< pa_unicode_macro.cmx: pa_unicode_macro.ml cicTextualParser2Macro.cmx $(OCAMLOPT) -pp "camlp4o $(PA_P4_OPTS)" -c $< LOCAL_LINKOPTS = -linkpkg $(PACKAGE).cma test: test_lexer test_parser test_lexer: test_lexer.ml $(PACKAGE).cma $(OCAMLC) $(LOCAL_LINKOPTS) -o $@ $< test_parser: test_parser.ml $(PACKAGE).cma $(OCAMLC) $(LOCAL_LINKOPTS) -o $@ $< make_table: make_table.ml $(OCAMLFIND) ocamlc -package helm-pxp -linkpkg -o $@ $^ macro_table.ml: make_table ./make_table $@ macro_table.cmo: macro_table.ml $(OCAMLFIND) ocamlc -c $< clean: extra_clean distclean: extra_clean rm -f macro_table.dump extra_clean: rm -f test_lexer test_parser make_table include ../Makefile.common OCAMLARCHIVEOPTIONS += -linkall .PHONY: depend depend: cicTextualParser2Macro.cmi cicTextualParser2Macro.cmo pa_unicode_macro.cmi pa_unicode_macro.cmo $(OCAMLDEP) -pp "camlp4o $(PARSER_P4_OPTS) $(LEXER_P4_OPTS)" $(INTERFACE_FILES) $(IMPLEMENTATION_FILES) > .depend disambiguateTypes.cmi: disambiguateTypes.mli $(OCAMLC) -c -rectypes $< disambiguateTypes.cmo: disambiguateTypes.ml disambiguateTypes.cmi $(OCAMLC) -c -rectypes $< disambiguateTypes.cmx: disambiguateTypes.ml disambiguateTypes.cmi $(OCAMLOPT) -c -rectypes $<