Release coccinelle-0.1.5
[bpt/coccinelle.git] / extra / Makefile
CommitLineData
34e49164
C
1TARGET=extra
2
1be43e12 3SOURCES = classic_patch.ml kbuild.ml maintainers.ml
34e49164
C
4
5SYSLIBS = str.cma unix.cma
6
7LIBS=../commons/commons.cma ../parsing_c/parsing_c.cma ../globals/globals.cma
8INCLUDES= -I ../commons -I ../globals -I ../parsing_cocci -I ../parsing_c
9
10#for warning: -w A
11#for profiling: -p -inline 0 with OCAMLOPT
12OCAMLCFLAGS ?= -g -dtypes
13OCAMLC =ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES)
14OCAMLOPT = ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES)
faf9a90c 15OCAMLDEP = ocamldep$(OPTBIN) #$(INCLUDES)
34e49164
C
16OCAMLMKTOP=ocamlmktop -g -custom $(INCLUDES)
17
18
19OBJS = $(SOURCES:.ml=.cmo)
20OPTOBJS = $(SOURCES:.ml=.cmx)
21
22
23all: $(TARGET).cma
24
25all.opt: $(TARGET).cmxa
26
27$(TARGET).byte: $(OBJS) $(LIBS)
28 $(OCAMLC) -o $(TARGET).byte $(SYSLIBS) $(LIBS) $(OBJS)
29
30$(TARGET).opt: $(OPTOBJS) $(LIBS:.cma=.cmxa)
31 $(OCAMLOPT) -o $(TARGET).opt $(SYSLIBS:.cma=.cmxa) $(LIBS:.cma=.cmxa) $(OPTOBJS)
32
33$(TARGET).cma: $(OBJS)
34 $(OCAMLC) -a -o $(TARGET).cma $(OBJS)
35
36$(TARGET).cmxa: $(OPTOBJS) $(LIBS:.cma=.cmxa)
37 $(OCAMLOPT) -a -o $(TARGET).cmxa $(OPTOBJS)
38
39$(TARGET).top: $(OBJS) $(LIBS)
40 $(OCAMLMKTOP) -o $(TARGET).top $(SYSLIBS) $(LIBS) $(OBJS)
41
42clean::
43 rm -f $(TARGET).byte $(TARGET).opt rm -f $(TARGET).top
44
45
46
47.SUFFIXES: .ml .mli .cmo .cmi .cmx
48
49.ml.cmo:
50 $(OCAMLC) -c $<
51.mli.cmi:
52 $(OCAMLC) -c $<
53.ml.cmx:
54 $(OCAMLOPT) -c $<
55
56.ml.mldepend:
57 $(OCAMLC) -i $<
58
59clean::
60 rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot
61
62clean::
63 rm -f *~ .*~ gmon.out #*#
64
65beforedepend::
66
67depend:: beforedepend
68 $(OCAMLDEP) *.mli *.ml > .depend
69
70-include .depend
71
72