-# $Id: Makefile,v 1.4 2005-05-24 13:52:50 rich Exp $
+# $Id: Makefile,v 1.11 2007-05-14 16:20:10 rich Exp $
-PACKAGE := ocaml-csv
-VERSION := 1.0.3
+include Makefile.config
+
+# To enable support for Extlib, also uncomment 'open ExtList' at the top
+# of file csv.ml.
-OCAMLC := ocamlc
OCAMLCINCS :=
-OCAMLCFLAGS := -w s -g
+#OCAMLCINCS := -package extlib
+OCAMLCFLAGS := -g
OCAMLCLIBS :=
+#OCAMLCLIBS := -linkpkg
-OCAMLOPT := ocamlopt
OCAMLOPTINCS := $(OCAMLCINCS)
-OCAMLOPTFLAGS := -w s
+OCAMLOPTFLAGS :=
OCAMLOPTLIBS :=
+#OCAMLOPTLIBS := -linkpkg
OBJS := csv.cmo
XOBJS := $(OBJS:.cmo=.cmx)
+OCAMLDOCFLAGS := -html -stars -sort $(OCAMLCINCS)
+
all: csv.cma csv.cmxa example csvtool
csv.cma: $(OBJS)
- $(OCAMLC) $(OCAMLCFLAGS) -a -o $@ $^
+ ocamlfind ocamlc $(OCAMLCINCS) $(OCAMLCFLAGS) -a -o $@ $^
csv.cmxa: $(XOBJS)
- $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $@ $^
+ ocamlfind ocamlopt $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) -a -o $@ $^
example: csv.cma example.ml
- $(OCAMLC) $^ -o $@
+ ocamlfind ocamlc $(OCAMLCINCS) $(OCAMLCFLAGS) $(OCAMLCLIBS) $^ -o $@
test: csv.cma test.ml
- $(OCAMLC) $^ -o $@
+ ocamlfind ocamlc $^ -o $@
./test
csvtool: csv.cmxa csvtool.ml
- $(OCAMLOPT) $^ -o $@
+ ocamlfind ocamlopt $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) $^ -o $@
# Common rules for building OCaml objects.
.mli.cmi:
- $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
+ ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
.ml.cmo:
- $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
+ ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
.ml.cmx:
- $(OCAMLOPT) $(OCAMLOPTFLAGS) $(OCAMLOPTINCS) -c $<
+ ocamlfind 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.
# Build a distribution.
+install:
+ ocamlfind install csv csv.{cmi,a,cmxa,cma,cmx} META
+
dist:
$(MAKE) check-manifest
rm -rf $(PACKAGE)-$(VERSION)
rm -f .orig-manifest .check-manifest; \
exit $$rv
-.PHONY: depend dist check-manifest
+# 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