3 SOURCES
= classic_patch.ml kbuild.ml maintainers.ml c_info.ml
5 SYSLIBS
= str.cma unix.cma
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
11 #for profiling: -p -inline 0 with OCAMLOPT
12 OCAMLCFLAGS ?
= -g
-dtypes
13 OCAMLC
=ocamlc
$(OPTBIN
) $(OCAMLCFLAGS
) $(INCLUDES
)
14 OCAMLOPT
= ocamlopt
$(OPTBIN
) $(OPTFLAGS
) $(INCLUDES
)
15 OCAMLDEP
= ocamldep
$(OPTBIN
) $(INCLUDES
)
16 OCAMLMKTOP
=ocamlmktop
-g
-custom
$(INCLUDES
)
19 OBJS
= $(SOURCES
:.ml
=.cmo
)
20 OPTOBJS
= $(SOURCES
:.ml
=.cmx
)
25 all.opt
: $(TARGET
).cmxa
27 $(TARGET
).byte
: $(OBJS
) $(LIBS
)
28 $(OCAMLC
) -o
$(TARGET
).byte
$(SYSLIBS
) $(LIBS
) $(OBJS
)
30 $(TARGET
).opt
: $(OPTOBJS
) $(LIBS
:.cma
=.cmxa
)
31 $(OCAMLOPT
) -o
$(TARGET
).opt
$(SYSLIBS
:.cma
=.cmxa
) $(LIBS
:.cma
=.cmxa
) $(OPTOBJS
)
33 $(TARGET
).cma
: $(OBJS
)
34 $(OCAMLC
) -a
-o
$(TARGET
).cma
$(OBJS
)
36 $(TARGET
).cmxa
: $(OPTOBJS
) $(LIBS
:.cma
=.cmxa
)
37 $(OCAMLOPT
) -a
-o
$(TARGET
).cmxa
$(OPTOBJS
)
39 $(TARGET
).top
: $(OBJS
) $(LIBS
)
40 $(OCAMLMKTOP
) -o
$(TARGET
).top
$(SYSLIBS
) $(LIBS
) $(OBJS
)
43 rm -f
$(TARGET
).byte
$(TARGET
).opt
rm -f
$(TARGET
).top
47 .SUFFIXES
: .ml .mli .cmo .cmi .cmx
60 rm -f
*.cm
[ioxa
] *.o
*.a
*.cmxa
*.annot
63 rm -f
*~ .
*~ gmon.out
#*#
68 $(OCAMLDEP
) *.mli
*.ml
> .depend