Release coccinelle-0.1
[bpt/coccinelle.git] / globals / Makefile
1 ##############################################################################
2 # Variables
3 ##############################################################################
4 TARGET=globals
5
6 SRC= flag.ml config.ml
7
8 LIBS=../commons/commons.cma
9 INCLUDES= -I ../commons
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
32 $(TARGET).cma: $(OBJS) $(LIBS)
33 $(OCAMLC) -a -o $(TARGET).cma $(OBJS)
34
35 $(TARGET).cmxa: $(OPTOBJS) $(LIBS:.cma=.cmxa)
36 $(OCAMLOPT) -a -o $(TARGET).cmxa $(OPTOBJS)
37
38
39
40 ##############################################################################
41 # Developer rules
42 ##############################################################################
43 .SUFFIXES: .ml .mli .cmo .cmi .cmx
44
45 .ml.cmo:
46 $(OCAMLC) -c $<
47 .mli.cmi:
48 $(OCAMLC) -c $<
49 .ml.cmx:
50 $(OCAMLOPT) -c $<
51
52 .ml.mldepend:
53 $(OCAMLC) -i $<
54
55 clean::
56 rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot
57
58 clean::
59 rm -f *~ .*~ gmon.out #*#
60
61 beforedepend::
62
63 depend:: beforedepend
64 $(OCAMLDEP) *.mli *.ml > .depend
65
66 -include .depend
67
68
69
70