Use findlib.
[ocaml-csv.git] / Makefile
index e1d5992..f6531f5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,54 +1,59 @@
-# $Id: Makefile,v 1.4 2005-05-24 13:52:50 rich Exp $
+# $Id: Makefile,v 1.10 2006-11-24 09:43:15 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.
 
@@ -85,4 +90,11 @@ check-manifest:
        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