]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_disambiguation/Makefile
first moogle template checkin
[helm.git] / helm / ocaml / cic_disambiguation / Makefile
index 11da724694d4c626a927c63a14fd930108aacb1b..932008160ac3e0ab045b91a608322e23782ce34c 100644 (file)
@@ -1,35 +1,52 @@
 
 PACKAGE = cic_textual_parser2
 REQUIRES = \
-       ulex pxp helm-tactics helm-cic helm-logger helm-cic_unification \
-       camlp4.gramlib
-NOTATIONS = logic arit
+       helm-tactics helm-logger helm-cic_unification helm-cic_transformations helm-pxp \
+       ulex camlp4.gramlib
+NOTATIONS = logic arit tex
+# NOTATIONS = logic arit
 INTERFACE_FILES = \
-       ast.mli pp.mli macro.mli lexer.mli disambiguate.mli parser.mli \
-       disambiguate_types.mli
+       disambiguateTypes.mli \
+       disambiguateChoices.mli \
+       macro_table.mli \
+       cicTextualParser2Macro.mli \
+       cicTextualLexer2.mli \
+       cicTextualParser2.mli \
+       disambiguate.mli
 IMPLEMENTATION_FILES = \
-       pp.ml macro.ml lexer.ml disambiguate_struct.ml parser.ml \
-       disambiguate.ml \
-       $(patsubst %,%_notation.ml,$(NOTATIONS)) \
+       $(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.cmo ./pa_unicode_macro.cmo
+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:
 
-lexer.cmo: lexer.ml
+cicTextualLexer2.cmo: cicTextualLexer2.ml
        $(OCAMLC) -pp "camlp4o $(LEXER_P4_OPTS)" -c $<
-parser.cmo: parser.ml macro.cmo pa_unicode_macro.cmo
+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 parser.cmo
+%_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 macro.cmo
+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
@@ -38,11 +55,12 @@ test_lexer: test_lexer.ml $(PACKAGE).cma
 test_parser: test_parser.ml $(PACKAGE).cma
        $(OCAMLC) $(LOCAL_LINKOPTS) -o $@ $<
 make_table: make_table.ml
-       $(OCAMLC) -linkpkg -o $@ $<
+       $(OCAMLFIND) ocamlc -package helm-pxp -linkpkg -o $@ $^
 
-.PHONY: macro_table.dump
-macro_table.dump: make_table
+macro_table.ml: make_table
        ./make_table $@
+macro_table.cmo: macro_table.ml
+       $(OCAMLFIND) ocamlc -c $<
 
 clean: extra_clean
 distclean: extra_clean
@@ -51,11 +69,16 @@ extra_clean:
        rm -f test_lexer test_parser make_table
 
 include ../Makefile.common
+OCAMLARCHIVEOPTIONS += -linkall
 
 .PHONY: depend
-depend: macro.cmi macro.cmo pa_unicode_macro.cmi pa_unicode_macro.cmo
+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
 
-disambiguate_types.cmi: disambiguate_types.mli
+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 $<