X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Makefile;h=3619f01e3700d93d61787fb97178ebc44afcf2de;hb=eed732850571438657c80b760a3f7a40c62384d7;hp=24a0ce90710e0381d73de79e8a01c198d336e3a2;hpb=773470c05431f3f5b5c80e9ef1be2d8ce4bb6cd0;p=ocaml-ancient.git diff --git a/Makefile b/Makefile index 24a0ce9..3619f01 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Mark objects as 'ancient' so they are taken out of the OCaml heap. -# $Id: Makefile,v 1.2 2006-09-27 12:09:02 rich Exp $ +# $Id: Makefile,v 1.6 2006-09-27 16:01:47 rich Exp $ include Makefile.config @@ -16,17 +16,47 @@ OCAMLOPTLIBS := OCAMLDOCFLAGS := -html -stars -sort $(OCAMLCPACKAGES) -all: ancient.cma ancient.cmxa test_ancient.opt META +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 := mmalloc ancient.cma ancient.cmxa META \ + test_ancient.opt test_ancient_shared.opt + +ifeq ($(TEST_WEBLOGS),1) +TARGETS += test_ancient_weblogs.opt +endif + +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) $(OCAMLOPTLIBS) -o $@ $^ + ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $(OCAMLOPTLIBS) -o $@ $^ + +test_ancient_shared.opt: ancient.cmxa test_ancient_shared.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 + 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. @@ -40,14 +70,15 @@ test_ancient.opt: ancient.cmxa test_ancient.cmx # Findlib META file. META: META.in Makefile.config - $(SED) -e 's/@PACKAGE@/$(PACKAGE)/' \ - -e 's/@VERSION@/$(VERSION)/' \ - < $< > $@ + sed -e 's/@PACKAGE@/$(PACKAGE)/' \ + -e 's/@VERSION@/$(VERSION)/' \ + < $< > $@ # Clean. clean: rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *~ core META *.opt + $(MAKE) -C mmalloc clean # Dependencies. @@ -120,6 +151,6 @@ doc: 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