1 ifneq ($(MAKECMDGOALS
),distclean)
2 include ..
/Makefile.config
7 SOURCES
= classic_patch.ml kbuild.ml maintainers.ml
9 SYSLIBS
= str.cma unix.cma
11 LIBS
=..
/commons
/commons.cma ..
/parsing_c
/parsing_c.cma ..
/globals
/globals.cma
12 INCLUDES
= -I ..
/commons
-I ..
/globals
-I ..
/parsing_cocci
-I ..
/parsing_c
15 #for profiling: -p -inline 0 with OCAMLOPT
19 OCAMLC_CMD
=$(OCAMLC
) $(OCAMLCFLAGS
) $(INCLUDES
)
20 OCAMLOPT_CMD
=$(OCAMLOPT
) $(OPTFLAGS
) $(INCLUDES
)
21 OCAMLDEP_CMD
=$(OCAMLDEP
) $(INCLUDESDEP
)
22 OCAMLMKTOP_CMD
=$(OCAMLMKTOP
) -g
-custom
$(INCLUDES
)
24 OBJS
= $(SOURCES
:.ml
=.cmo
)
25 OPTOBJS
= $(SOURCES
:.ml
=.cmx
)
27 ifneq ($(FEATURE_OCAMLBUILD
),yes
)
31 @
$(MAKE
) $(TARGET
).cmxa BUILD_OPT
=yes
33 $(TARGET
).byte
: $(OBJS
) $(LIBS
)
34 $(OCAMLC_CMD
) -o
$(TARGET
).byte
$(SYSLIBS
) $(LIBS
) $(OBJS
)
36 $(TARGET
).opt
: $(OPTOBJS
) $(LIBS
:.cma
=.cmxa
)
37 $(OCAMLOPT_CMD
) -o
$(TARGET
).opt
$(SYSLIBS
:.cma
=.cmxa
) $(LIBS
:.cma
=.cmxa
) $(OPTOBJS
)
39 $(TARGET
).cma
: $(OBJS
)
40 $(OCAMLC_CMD
) -a
-o
$(TARGET
).cma
$(OBJS
)
42 $(TARGET
).cmxa
: $(OPTOBJS
) $(LIBS
:.cma
=.cmxa
)
43 $(OCAMLOPT_CMD
) -a
-o
$(TARGET
).cmxa
$(OPTOBJS
)
45 $(TARGET
).top
: $(OBJS
) $(LIBS
)
46 $(OCAMLMKTOP_CMD
) -o
$(TARGET
).top
$(SYSLIBS
) $(LIBS
) $(OBJS
)
49 rm -f
$(TARGET
).byte
$(TARGET
).opt
rm -f
$(TARGET
).top
52 cd ..
&& $(OCAMLBUILD
) extra
/extra.cma
55 cd ..
&& $(OCAMLBUILD
) extra
/extra.cmxa
58 cd ..
&& $(OCAMLBUILD
) -clean
62 .SUFFIXES
: .ml .mli .cmo .cmi .cmx
76 rm -f
*.cm
[ioxa
] *.o
*.a
*.cmxa
*.annot
77 rm -f
*~ .
*~ gmon.out
#*#
83 $(OCAMLDEP_CMD
) *.mli
*.ml
> .depend
85 ifneq ($(MAKECMDGOALS
),clean)
86 ifneq ($(MAKECMDGOALS
),distclean)
87 ifneq ($(FEATURE_OCAMLBUILD
),yes
)
93 include ..
/Makefile.common