Cherry pick use of menhir features from branch feature/menhir.
[tatoo.git] / Remakefile.in
index 97234fb..2a32aa2 100644 (file)
@@ -22,13 +22,10 @@ OCAMLOPTFLAGS = @OCAMLOPTFLAGS@
 OCAMLCFLAGS = @OCAMLCFLAGS@
 MENHIR = @MENHIR@
 
-.PHONY: clean distclean
+.PHONY:clean real_test test_native test
 
 all: $(BIN)
 
-src/xpath/xpath_internal_parser.cmx: OCAMLFINDFLAGS = $(OCAMLFINDFLAGSNOSYNTAX)
-src/xpath/xpath_internal_parser.cmo: OCAMLFINDFLAGS = $(OCAMLFINDFLAGSNOSYNTAX)
-
 tools: tools/xml_diff.native$(EXE) tools/XPathEval.class tools/split_path.native$(EXE)
 
 Remakefile: Remakefile.in config.status
@@ -68,9 +65,9 @@ distclean: clean test_clean
 
 %.native$(EXE):
        $(REMAKE) OCAMLNATIVE="-native" $*.cmx $*.depx
-       objects=`cat $*.depx | xargs | sed 's/[.]depx/.cmx/g'` 
+       objects=`cat $*.depx | xargs | sed 's/[.]depx/.cmx/g'`
        $(REMAKE) OCAMLNATIVE="-native" $objects #ensure all objects have been built
-       $(OCAMLOPT) -o $@  $(OCAMLFLAGS) $(OCAMLOPTFLAGS) $(OCAMLFINDLINKFLAGS) $(OCAMLFINDFLAGS) $objects $*.cmx 
+       $(OCAMLOPT) -o $@  $(OCAMLFLAGS) $(OCAMLOPTFLAGS) $(OCAMLFINDLINKFLAGS) $(OCAMLFINDFLAGS) $objects $*.cmx
 
 
 %.byte$(EXE):
@@ -82,7 +79,11 @@ distclean: clean test_clean
 %.ml:
        if test -f $*.mly; then
                $(REMAKE) $*.mly
-               $(MENHIR) $*.mly
+               #Work around menhir warning
+               $(MENHIR) $*.mly 2>&1 | grep -v -- 'you are\|--infer'
+               #Work around crazy ulex chocking on identifier 'lexer', generated by menhir.
+               cat $*.ml | sed -e 's/\blexer\b/__lexer/g' > $*.tmp
+               mv $*.tmp $*.ml
        elif test -f $*.mll; then
                $(REMAKE) $*.mll
                $(OCAMLLEX) $*.mll
@@ -105,6 +106,7 @@ distclean: clean test_clean
        COMPILE="$(OCAMLOPT) $(OCAMLFLAGS) $(OCAMLOPTFLAGS) $(OCAMLFINDFLAGS)"
        . tools/ocamldriver.sh
 
+
 %.cmo %.depo:
        base=$*
        target=$@
@@ -113,7 +115,7 @@ distclean: clean test_clean
        OCAMLDEP="$(OCAMLDEP) $(OCAMLFINDFLAGS)"
        OCAMLNATIVE=$(OCAMLNATIVE)
        SRC=$(SRC)
-       COMPILE="$(OCAMLC) $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFIND_EXTRAFLAGS) "
+       COMPILE="$(OCAMLC) $(OCAMLFLAGS) $(OCAMLCFLAGS) $(OCAMLFINDFLAGS)"
        . tools/ocamldriver.sh
 
 %.cmi:
@@ -134,15 +136,9 @@ distclean: clean test_clean
 
 ## Tests
 
-test_byte: tools $(BYTE)
-       $(REMAKE) TEST=$(BYTE) real_test
-
-test_native: tools $(BIN)
-       $(REMAKE) TEST=$(BIN) real_test
-
-test: test_native
 
 real_test:
+       echo $(TEST)
        for i in tests/*.xml
        do
          for j in 1 2 3
@@ -151,10 +147,18 @@ real_test:
          done
        done
 
+test_byte:
+        $(REMAKE) TEST=$(BYTE) real_test
+test_native:
+       $(REMAKE) TEST=$(BIN) real_test
+
+test: test_native
+
 test_clean:
        rm -rf tests/*.summary tests/*.results/*_"$(PACKAGE)"_*.*
 
 %.summary:
+       $(REMAKE) tools $(TEST)
        target=$@
        base=$*
        test=${base#*.xml.}