Csv.concat - arranges CSV subfiles in columns.
[ocaml-csv.git] / Makefile
index 09f55b8..0fa1d54 100644 (file)
--- 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