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