- examples/parsedate examples/parsedate.opt
-
-examples/test: examples/test.cmo
- $(OCAMLC) $(OCAMLCFLAGS) perl4caml.cma $^ -o $@
-
-examples/test.opt: examples/test.cmx
- $(OCAMLOPT) $(OCAMLOPTFLAGS) -cclib -L. perl4caml.cmxa \
- $(DYNALOADER_HACK) $^ -o $@
-
-examples/loadpage: examples/loadpage.cmo
- $(OCAMLC) $(OCAMLCFLAGS) perl4caml.cma $^ -o $@
-
-examples/loadpage.opt: examples/loadpage.cmx
- $(OCAMLOPT) $(OCAMLOPTFLAGS) -cclib -L. perl4caml.cmxa \
- $(DYNALOADER_HACK) $^ -o $@
-
-examples/google: examples/google.cmo
- $(OCAMLC) $(OCAMLCFLAGS) perl4caml.cma $^ -o $@
-
-examples/google.opt: examples/google.cmx
- $(OCAMLOPT) $(OCAMLOPTFLAGS) -cclib -L. perl4caml.cmxa \
- $(DYNALOADER_HACK) $^ -o $@
+ examples/parsedate.bc examples/parsedate.opt
+
+TEST_PROGRAMS := $(patsubst %.ml,%.bc,$(wildcard test/*.ml)) \
+ $(patsubst %.ml,%.opt,$(wildcard test/*.ml))
+
+test: $(TEST_PROGRAMS) run-tests
+
+check: test
+
+run-tests:
+ @fails=0; count=0; \
+ export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; \
+ for prog in $(TEST_PROGRAMS); do \
+ if ! $$prog; then \
+ echo Test $$prog failed; \
+ fails=$$(($$fails+1)); \
+ fi; \
+ count=$$(($$count+1)); \
+ done; \
+ if [ $$fails -eq 0 ]; then \
+ echo All tests succeeded.; \
+ exit 0; \
+ else \
+ echo $$fails/$$count tests failed.; \
+ exit 1; \
+ fi