Added 'make dist' rule.
[ocaml-csv.git] / Makefile
1 # $Id: Makefile,v 1.2 2003-12-22 10:07:19 rich Exp $
2
3 PACKAGE         := ocaml-csv
4 VERSION         := 1.0.1
5
6 OCAMLC          := ocamlc
7 OCAMLCINCS      :=
8 OCAMLCFLAGS     := -w s -g
9 OCAMLCLIBS      :=
10
11 OCAMLOPT        := ocamlopt
12 OCAMLOPTINCS    := $(OCAMLCINCS)
13 OCAMLOPTFLAGS   := -w s
14 OCAMLOPTLIBS    :=
15
16 OBJS            := csv.cmo
17 XOBJS           := $(OBJS:.cmo=.cmx)
18
19 all: csv.cma csv.cmxa
20
21 csv.cma: $(OBJS)
22         $(OCAMLC) $(OCAMLCFLAGS) -a -o $@ $^
23
24 csv.cmxa: $(XOBJS)
25         $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $@ $^
26
27 test:   csv.cma test.ml
28         $(OCAMLC) csv.cma test.ml -o test
29         ./test
30
31 # Common rules for building OCaml objects.
32
33 .mli.cmi:
34         $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
35 .ml.cmo:
36         $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
37 .ml.cmx:
38         $(OCAMLOPT) $(OCAMLOPTFLAGS) $(OCAMLOPTINCS) -c $<
39
40 .SUFFIXES:      .cmo .cmi .cmx .ml .mli
41
42 # Clean.
43
44 clean:
45         rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *~ core
46
47 # Dependencies.
48
49 depend: .depend
50
51 .depend: $(wildcard *.mli) $(wildcard *.ml)
52         rm -f .depend
53         ocamldep $^ > $@
54
55 ifeq ($(wildcard .depend),.depend)
56 include .depend
57 endif
58
59 # Build a distribution.
60
61 dist:
62         tar zcf $(PACKAGE)-$(VERSION).tar.gz `cat MANIFEST`