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