1 # $Id: Makefile,v 1.11 2007-05-14 16:20:10 rich Exp $
3 include Makefile.config
5 # To enable support for Extlib, also uncomment 'open ExtList' at the top
9 #OCAMLCINCS := -package extlib
12 #OCAMLCLIBS := -linkpkg
14 OCAMLOPTINCS := $(OCAMLCINCS)
17 #OCAMLOPTLIBS := -linkpkg
20 XOBJS := $(OBJS:.cmo=.cmx)
22 OCAMLDOCFLAGS := -html -stars -sort $(OCAMLCINCS)
24 all: csv.cma csv.cmxa example csvtool
27 ocamlfind ocamlc $(OCAMLCINCS) $(OCAMLCFLAGS) -a -o $@ $^
30 ocamlfind ocamlopt $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) -a -o $@ $^
32 example: csv.cma example.ml
33 ocamlfind ocamlc $(OCAMLCINCS) $(OCAMLCFLAGS) $(OCAMLCLIBS) $^ -o $@
36 ocamlfind ocamlc $^ -o $@
39 csvtool: csv.cmxa csvtool.ml
40 ocamlfind ocamlopt $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) $^ -o $@
42 # Common rules for building OCaml objects.
45 ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
47 ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
49 ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTINCS) -c $<
51 .SUFFIXES: .cmo .cmi .cmx .ml .mli
56 rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *~ core csvtool example
62 .depend: $(wildcard *.mli) $(wildcard *.ml)
66 ifeq ($(wildcard .depend),.depend)
70 # Build a distribution.
73 ocamlfind install csv csv.{cmi,a,cmxa,cma,cmx} META
76 $(MAKE) check-manifest
77 rm -rf $(PACKAGE)-$(VERSION)
78 mkdir $(PACKAGE)-$(VERSION)
79 tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf -
80 tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
81 rm -rf $(PACKAGE)-$(VERSION)
82 ls -l $(PACKAGE)-$(VERSION).tar.gz
85 @for d in `find -type d -name CVS | grep -v '^\./debian/'`; \
88 awk -F/ '$$1 != "D" {print $$2}' $$d/Entries | \
89 sed -e "s|^|$$b|" -e "s|^\./||"; \
90 done | sort > .check-manifest; \
91 sort MANIFEST > .orig-manifest; \
92 diff -u .orig-manifest .check-manifest; rv=$$?; \
93 rm -f .orig-manifest .check-manifest; \
96 # Developer documentation (in html/ subdirectory).
101 -ocamlfind ocamldoc $(OCAMLDOCFLAGS) -d html csv.ml{i,}
103 .PHONY: depend dist check-manifest doc