Improved test.
[ocaml-bitstring.git] / Makefile.in
index a28fb92..a697d39 100644 (file)
@@ -25,6 +25,9 @@ OCAMLMKLIB    = @OCAMLMKLIB@
 OCAMLDOC       = @OCAMLDOC@
 INSTALL                = @INSTALL@
 
+pkg_cil                = @pkg_cil@
+pkg_extlib     = @pkg_extlib@
+
 OCAMLCFLAGS    = -g
 OCAMLCPACKAGES =
 OCAMLOPTFLAGS  =
@@ -34,8 +37,10 @@ OCAMLDOCFLAGS        = -html -sort
 
 SUBDIRS                =
 ifneq ($(pkg_cil),no)
+ifneq ($(pkg_extlib),no)
 SUBDIRS                += cil-tools
 endif
+endif
 
 EXAMPLES       = $(patsubst %.ml,%,$(wildcard examples/*.ml))
 
@@ -43,7 +48,8 @@ TESTS         = $(patsubst %.ml,%,$(wildcard tests/*.ml))
 
 all:   bitmatch.cma bitmatch_persistent.cma \
        bitmatch.cmxa bitmatch_persistent.cmxa \
-       pa_bitmatch.cmo
+       pa_bitmatch.cmo \
+       bitmatch-objinfo
        @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
 
 bitmatch.cma: bitmatch_types.cmo bitmatch_config.cmo bitmatch.cmo
@@ -74,11 +80,16 @@ pa_bitmatch.cmo: pa_bitmatch.ml bitmatch.cma bitmatch_persistent.cma
        $(OCAMLFIND) ocamlc bitmatch.cma -I +camlp4 camlp4lib.cma \
          -pp camlp4of -c $< -o $@
 
+bitmatch-objinfo: bitmatch_objinfo.cmo bitmatch.cma bitmatch_persistent.cma
+       $(OCAMLFIND) ocamlc -I +camlp4 unix.cma camlp4lib.cma \
+         bitmatch.cma bitmatch_persistent.cma \
+         $< -o $@
+
 # Tests and examples.
 
 PP     = -pp "camlp4o bitmatch.cma bitmatch_persistent.cma pa_bitmatch.cmo"
 
-test: pa_bitmatch.cmo bitmatch.cma bitmatch_persistent.cma
+test: pa_bitmatch.cmo bitmatch.cma bitmatch_persistent.cma tests/test.bmpp
        @for f in $(TESTS); do \
          echo Building $$f; \
          $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(PP) \
@@ -90,10 +101,24 @@ test: pa_bitmatch.cmo bitmatch.cma bitmatch_persistent.cma
        done
        @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
 
+tests/test.bmpp: create_test_pattern
+       ./$< $@.new
+       mv $@.new $@
+
+create_test_pattern: create_test_pattern.cmo
+       $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \
+         unix.cma -I +camlp4 camlp4lib.cma \
+         -I . bitmatch.cma bitmatch_persistent.cma $< -o $@
+
+create_test_pattern.cmo: create_test_pattern.ml
+       $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \
+         unix.cma -I +camlp4 \
+         -I . -c $< -o $@
+
 examples: pa_bitmatch.cmo bitmatch.cma bitmatch_persistent.cma
        @for f in $(EXAMPLES); do \
          echo Building $$f; \
-         $(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(PP) \
+         $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(PP) \
            -package unix -linkpkg -I . bitmatch.cma $$f.ml -o $$f; \
          if [ $$? -ne 0 ]; then exit 1; fi; \
        done
@@ -136,8 +161,8 @@ ifneq ($(OCAMLDOC),)
 doc:
        rm -rf html
        mkdir html
-       $(OCAMLDOC) $(OCAMLDOCFLAGS) -d html bitmatch.mli bitmatch.ml \
-         bitmatch_persistent.mli bitmatch_persistent.ml
+       $(OCAMLDOC) $(OCAMLDOCFLAGS) -d html -I +camlp4 \
+         bitmatch.mli bitmatch_persistent.mli
 endif
 
 # Install.
@@ -161,11 +186,17 @@ install:
 depend: .depend
        @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
 
-.depend: bitmatch.ml bitmatch.mli bitmatch_persistent.ml bitmatch_persistent.mli
+.depend: bitmatch.ml bitmatch.mli \
+         bitmatch_persistent.ml bitmatch_persistent.mli \
+         bitmatch_objinfo.ml \
+         create_test_pattern.ml
        rm -f .depend
-       $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) bitmatch.ml bitmatch.mli >> $@
+       $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) \
+         bitmatch.ml bitmatch.mli \
+         bitmatch_objinfo.ml >> $@
        $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) -pp camlp4of \
-         bitmatch_persistent.ml bitmatch_persistent.mli >> $@
+         bitmatch_persistent.ml bitmatch_persistent.mli \
+         create_test_pattern.ml >> $@
 
 ifeq ($(wildcard .depend),.depend)
 include .depend