Release coccinelle-0.1.4
[bpt/coccinelle.git] / globals / Makefile
1 ##############################################################################
2 # Variables
3 ##############################################################################
4 TARGET=globals
5
6 SRC= flag.ml config.ml
7
8 LIBS=
9 INCLUDES=
10
11 ##############################################################################
12 # Generic variables
13 ##############################################################################
14 OCAMLCFLAGS ?= -g -dtypes
15 OCAMLC =ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES)
16 OCAMLOPT = ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES)
17 OCAMLDEP = ocamldep$(OPTBIN) #$(INCLUDES)
18 OCAMLMKTOP=ocamlmktop -g -custom $(INCLUDES)
19
20 OBJS= $(SRC:.ml=.cmo)
21 OPTOBJS= $(SRC:.ml=.cmx)
22
23
24 ##############################################################################
25 # Top rules
26 ##############################################################################
27 all: $(TARGET).cma
28
29 all.opt: $(TARGET).cmxa
30
31 $(TARGET).cma: $(OBJS) $(LIBS)
32 $(OCAMLC) -a -o $(TARGET).cma $(OBJS)
33
34 $(TARGET).cmxa: $(OPTOBJS) $(LIBS:.cma=.cmxa)
35 $(OCAMLOPT) -a -o $(TARGET).cmxa $(OPTOBJS)
36
37
38
39 ##############################################################################
40 # Developer rules
41 ##############################################################################
42 .SUFFIXES: .ml .mli .cmo .cmi .cmx
43
44 .ml.cmo:
45 $(OCAMLC) -c $<
46 .mli.cmi:
47 $(OCAMLC) -c $<
48 .ml.cmx:
49 $(OCAMLOPT) -c $<
50
51 .ml.mldepend:
52 $(OCAMLC) -i $<
53
54 clean::
55 rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot
56
57 clean::
58 rm -f *~ .*~ gmon.out #*#
59
60 beforedepend::
61
62 depend:: beforedepend
63 $(OCAMLDEP) *.mli *.ml > .depend
64
65 -include .depend
66
67
68
69