Commit | Line | Data |
---|---|---|
34e49164 C |
1 | TARGET=extra |
2 | ||
1be43e12 | 3 | SOURCES = classic_patch.ml kbuild.ml maintainers.ml |
34e49164 C |
4 | |
5 | SYSLIBS = str.cma unix.cma | |
6 | ||
7 | LIBS=../commons/commons.cma ../parsing_c/parsing_c.cma ../globals/globals.cma | |
8 | INCLUDES= -I ../commons -I ../globals -I ../parsing_cocci -I ../parsing_c | |
9 | ||
10 | #for warning: -w A | |
11 | #for profiling: -p -inline 0 with OCAMLOPT | |
12 | OCAMLCFLAGS ?= -g -dtypes | |
13 | OCAMLC =ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES) | |
14 | OCAMLOPT = ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES) | |
faf9a90c | 15 | OCAMLDEP = ocamldep$(OPTBIN) #$(INCLUDES) |
34e49164 C |
16 | OCAMLMKTOP=ocamlmktop -g -custom $(INCLUDES) |
17 | ||
18 | ||
19 | OBJS = $(SOURCES:.ml=.cmo) | |
20 | OPTOBJS = $(SOURCES:.ml=.cmx) | |
21 | ||
22 | ||
23 | all: $(TARGET).cma | |
24 | ||
25 | all.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 | ||
42 | clean:: | |
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 | ||
59 | clean:: | |
60 | rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot | |
61 | ||
62 | clean:: | |
63 | rm -f *~ .*~ gmon.out #*# | |
64 | ||
65 | beforedepend:: | |
66 | ||
67 | depend:: beforedepend | |
68 | $(OCAMLDEP) *.mli *.ml > .depend | |
69 | ||
70 | -include .depend | |
71 | ||
72 |