-# $Id: Makefile,v 1.2 2003-12-22 10:07:19 rich Exp $
+# $Id: Makefile,v 1.9 2006-10-01 13:06:04 rich Exp $
PACKAGE := ocaml-csv
-VERSION := 1.0.1
+VERSION := 1.1.2
OCAMLC := ocamlc
OCAMLCINCS :=
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 $@ $^
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:
# Clean.
clean:
- rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *~ core
+ rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *~ core csvtool example
# Dependencies.
# Build a distribution.
dist:
- tar zcf $(PACKAGE)-$(VERSION).tar.gz `cat MANIFEST`
\ No newline at end of file
+ $(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