-include ../Makefile.config TARGET=extra SOURCES = classic_patch.ml kbuild.ml maintainers.ml SYSLIBS = str.cma unix.cma LIBS=../commons/commons.cma ../parsing_c/parsing_c.cma ../globals/globals.cma INCLUDES= -I ../commons -I ../globals -I ../parsing_cocci -I ../parsing_c #for warning: -w A #for profiling: -p -inline 0 with OCAMLOPT OCAMLCFLAGS ?= -g -dtypes OCAMLC =ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES) OCAMLOPT = ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES) OCAMLDEP = ocamldep$(OPTBIN) $(INCLUDES) OCAMLMKTOP=ocamlmktop -g -custom $(INCLUDES) OBJS = $(SOURCES:.ml=.cmo) OPTOBJS = $(SOURCES:.ml=.cmx) all: $(TARGET).cma all.opt: $(TARGET).cmxa $(TARGET).byte: $(OBJS) $(LIBS) $(OCAMLC) -o $(TARGET).byte $(SYSLIBS) $(LIBS) $(OBJS) $(TARGET).opt: $(OPTOBJS) $(LIBS:.cma=.cmxa) $(OCAMLOPT) -o $(TARGET).opt $(SYSLIBS:.cma=.cmxa) $(LIBS:.cma=.cmxa) $(OPTOBJS) $(TARGET).cma: $(OBJS) $(OCAMLC) -a -o $(TARGET).cma $(OBJS) $(TARGET).cmxa: $(OPTOBJS) $(LIBS:.cma=.cmxa) $(OCAMLOPT) -a -o $(TARGET).cmxa $(OPTOBJS) $(TARGET).top: $(OBJS) $(LIBS) $(OCAMLMKTOP) -o $(TARGET).top $(SYSLIBS) $(LIBS) $(OBJS) clean:: rm -f $(TARGET).byte $(TARGET).opt rm -f $(TARGET).top .SUFFIXES: .ml .mli .cmo .cmi .cmx .ml.cmo: $(OCAMLC) -c $< .mli.cmi: $(OCAMLC) -c $< .ml.cmx: $(OCAMLOPT) -c $< .ml.mldepend: $(OCAMLC) -i $< clean:: rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot rm -f *~ .*~ gmon.out #*# distclean:: rm -f .depend beforedepend:: depend:: beforedepend $(OCAMLDEP) *.mli *.ml > .depend -include .depend