X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Makefile;h=0fa1d544c274130bfc5cc05f4179eafd5393612d;hb=af6726a634255b49167e1aa90d92103c3769dc90;hp=09f55b8e63f3c9c5c24df9c973b1364923d256ac;hpb=677587e4828c264c36a2ddce644697c9d4b8ac06;p=ocaml-csv.git diff --git a/Makefile b/Makefile index 09f55b8..0fa1d54 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,7 @@ -# $Id: Makefile,v 1.1 2003-12-17 16:05:08 rich Exp $ +# $Id: Makefile,v 1.9 2006-10-01 13:06:04 rich Exp $ + +PACKAGE := ocaml-csv +VERSION := 1.1.2 OCAMLC := ocamlc OCAMLCINCS := @@ -13,7 +16,9 @@ OCAMLOPTLIBS := OBJS := csv.cmo XOBJS := $(OBJS:.cmo=.cmx) -all: csv.cma csv.cmxa +OCAMLDOCFLAGS := -html -stars -sort $(OCAMLCINCS) + +all: csv.cma csv.cmxa example csvtool csv.cma: $(OBJS) $(OCAMLC) $(OCAMLCFLAGS) -a -o $@ $^ @@ -21,10 +26,16 @@ csv.cma: $(OBJS) csv.cmxa: $(XOBJS) $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $@ $^ +example: csv.cma example.ml + $(OCAMLC) $^ -o $@ + test: csv.cma test.ml - $(OCAMLC) csv.cma test.ml -o test + $(OCAMLC) $^ -o $@ ./test +csvtool: csv.cmxa csvtool.ml + $(OCAMLOPT) $^ -o $@ + # Common rules for building OCaml objects. .mli.cmi: @@ -34,10 +45,12 @@ test: csv.cma test.ml .ml.cmx: $(OCAMLOPT) $(OCAMLOPTFLAGS) $(OCAMLOPTINCS) -c $< +.SUFFIXES: .cmo .cmi .cmx .ml .mli + # Clean. clean: - rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *~ core + rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *~ core csvtool example # Dependencies. @@ -51,4 +64,34 @@ ifeq ($(wildcard .depend),.depend) include .depend endif -.SUFFIXES: .cmo .cmi .cmx .ml .mli +# Build a distribution. + +dist: + $(MAKE) check-manifest + rm -rf $(PACKAGE)-$(VERSION) + mkdir $(PACKAGE)-$(VERSION) + tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf - + tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) + rm -rf $(PACKAGE)-$(VERSION) + ls -l $(PACKAGE)-$(VERSION).tar.gz + +check-manifest: + @for d in `find -type d -name CVS | grep -v '^\./debian/'`; \ + do \ + b=`dirname $$d`/; \ + awk -F/ '$$1 != "D" {print $$2}' $$d/Entries | \ + sed -e "s|^|$$b|" -e "s|^\./||"; \ + done | sort > .check-manifest; \ + sort MANIFEST > .orig-manifest; \ + diff -u .orig-manifest .check-manifest; rv=$$?; \ + rm -f .orig-manifest .check-manifest; \ + exit $$rv + +# Developer documentation (in html/ subdirectory). + +doc: + rm -rf html + mkdir html + -ocamlfind ocamldoc $(OCAMLDOCFLAGS) -d html csv.ml{i,} + +.PHONY: depend dist check-manifest doc