ARCHIVE = $(PACKAGE)
DLL = dll$(ARCHIVE).so
-TESTDIR = ./test
-TMPDIR = .test
-TMPPKGDIR = $(TMPDIR)/$(PACKAGE)
-
-all: $(ARCHIVE).cma
-opt: $(ARCHIVE).cmxa
-test: $(TESTDIR)/test
-test.opt: $(TESTDIR)/test.opt
+TESTDIR = test
+
+all: $(ARCHIVE).cma $(TESTDIR)/test
+opt: $(ARCHIVE).cmxa $(TESTDIR)/test.opt
+
world: all opt
+.PHONY: test/test test/test.opt
+test/test.opt:
+ $(MAKE) -C $(TESTDIR) test.opt
+test/test:
+ $(MAKE) -C $(TESTDIR) test
+
dist:
rm -rf $(DIST_DIR)/
mkdir $(DIST_DIR)/
$(ARCHIVE).cmxa $(ARCHIVE).a: $(OBJECTS_OPT)
$(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(OBJECTS_C) $(SHARED_LIBS)
-$(TESTDIR)/test: $(OBJECTS_C) $(ARCHIVE).cma $(TESTDIR)/test.ml
- mkdir -p $(TMPPKGDIR)
- cp $(OBJECTS_C) $(DLL) $(ARCHIVE).cma $(INST) $(TMPPKGDIR)
- cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make
- rm -r $(TMPDIR)
-
-$(TESTDIR)/test.opt: $(OBJECTS_C) $(ARCHIVE).a $(ARCHIVE).cmxa $(TESTDIR)/test.ml
- mkdir -p $(TMPPKGDIR)
- cp $(OBJECTS_C) $(ARCHIVE).a $(ARCHIVE).cmxa $(INST) $(TMPPKGDIR)
- cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make opt
- rm -r $(TMPDIR)
-
install:
test ! -f $(ARCHIVE).cmxa || extra="$(ARCHIVE).a $(ARCHIVE).cmxa" ; \
if [ "$(PREFIX)" = "" ]; then \
clean:
rm -f *.[ao] *.cm[iaxo] *.cmxa *.so $(GENERATED_FILES)
- cd $(TESTDIR) ; make clean
- rm -rf $(TMPDIR)
+ make -C $(TESTDIR) clean
distclean: clean
rm -f config.log config.cache config.status Makefile META