# Mark objects as 'ancient' so they are taken out of the OCaml heap.
-# $Id: Makefile,v 1.4 2006-09-27 14:05:07 rich Exp $
+# $Id: Makefile,v 1.7 2006-10-06 12:26:31 rich Exp $
include Makefile.config
OCAMLDOCFLAGS := -html -stars -sort $(OCAMLCPACKAGES)
-ifeq ($(TEST_WEBLOGS),1)
-# For testing with large amount of weblogs data.
-OCAMLCPACKAGES := -package calendar,pcre,extlib -I ../../freeware/weblogs
-OCAMLCLIBS := -linkpkg weblogs.cma
-OCAMLOPTPACKAGES := $(OCAMLCPACKAGES)
-OCAMLOPTLIBS := -linkpkg weblogs.cmxa
-endif
-
-TARGETS := ancient.cma ancient.cmxa META test_ancient.opt
-
-ifeq ($(TEST_WEBLOGS),1)
-TARGETS += test_ancient_weblogs.opt
-endif
+TARGETS := mmalloc ancient.cma ancient.cmxa META \
+ test_ancient.opt test_ancient_shared.opt
all: $(TARGETS)
ancient.cma: ancient.cmo ancient_c.o
- ocamlmklib -o ancient $^
+ ocamlmklib -o ancient -Lmmalloc -lmmalloc $^
ancient.cmxa: ancient.cmx ancient_c.o
- ocamlmklib -o ancient $^
+ ocamlmklib -o ancient -Lmmalloc -lmmalloc $^
test_ancient.opt: ancient.cmxa test_ancient.cmx
LIBRARY_PATH=.:$$LIBRARY_PATH \
ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $(OCAMLOPTLIBS) -o $@ $^
-ifeq ($(TEST_WEBLOGS),1)
-test_ancient_weblogs.opt: ancient.cmxa test_ancient_weblogs.cmx
+test_ancient_shared.opt: ancient.cmxa test_ancient_shared.cmx
LIBRARY_PATH=.:$$LIBRARY_PATH \
ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $(OCAMLOPTLIBS) -o $@ $^
-endif
+
+# Build the mmalloc library.
+
+mmalloc:
+ $(MAKE) -C mmalloc
# Common rules for building OCaml objects.
clean:
rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *~ core META *.opt
+ $(MAKE) -C mmalloc clean
# Dependencies.
install:
rm -rf $(DESTDIR)$(OCAMLLIBDIR)/ancient
- install -c -m 0755 -d $(DESTDIR)$(OCAMLLIBDIR)/weblogs
+ install -c -m 0755 -d $(DESTDIR)$(OCAMLLIBDIR)/ancient
install -c -m 0644 *.cmi *.mli *.cma *.cmxa *.a META \
$(DESTDIR)$(OCAMLLIBDIR)/ancient
mkdir html
-ocamlfind ocamldoc $(OCAMLDOCFLAGS) -d html ancient.ml{i,}
-.PHONY: depend dist check-manifest dpkg doc
+.PHONY: depend dist check-manifest dpkg doc mmalloc
.SUFFIXES: .cmo .cmi .cmx .ml .mli