X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Makefile;h=3619f01e3700d93d61787fb97178ebc44afcf2de;hb=eed732850571438657c80b760a3f7a40c62384d7;hp=491bb0ec22a446bd8cb25f4c479d127a6d33421b;hpb=c11b96a1e248665beb9f969d38daa9487955f7f5;p=ocaml-ancient.git diff --git a/Makefile b/Makefile index 491bb0e..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.3 2006-09-27 12:10:18 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. @@ -48,6 +78,7 @@ META: META.in Makefile.config 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