X-Git-Url: http://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/17ba07880e1838028b4516ba7a2db2147b3aa1c9..d6ce1786f27a05efa53cabeca92fc8e744a4b239:/tools/Makefile diff --git a/tools/Makefile b/tools/Makefile index 35a7364..e86f2fb 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -22,30 +22,35 @@ # Coccinelle under other licenses. --include ../Makefile.config +ifneq ($(MAKECMDGOALS),distclean) +include ../Makefile.config +endif + +OCAMLCFLAGS ?= -g -dtypes +OPTFLAGS ?= -g -dtypes PROGS=spp gitgrep splitpatch extract_c_and_res #generate_dependencies all: $(SUBDIRS) $(PROGS) -# for recursive make -all.opt: $(PROGS) +all.opt: + @$(MAKE) $(PROGS) BUILD_OPT=yes gitgrep: gitgrep.ml - ocamlopt -o gitgrep str.cmxa gitgrep.ml + $(OCAMLOPT) -o gitgrep str.cmxa gitgrep.ml gitsort: gitsort.ml - ocamlopt -o gitsort str.cmxa gitsort.ml + $(OCAMLOPT) -o gitsort str.cmxa gitsort.ml isoprof: process_isoprofile.ml - ocamlc -g -o isoprof str.cma process_isoprofile.ml + $(OCAMLC) -g -o isoprof str.cma process_isoprofile.ml alloc_free: alloc_free.ml - ocamlopt -o alloc_free str.cmxa alloc_free.ml + $(OCAMLOPT) -o alloc_free str.cmxa alloc_free.ml # more flexible version of alloc_free bridge: bridge.ml - ocamlopt -o bridge str.cmxa dumper.mli dumper.ml bridge.ml + $(OCAMLOPT) -o bridge str.cmxa dumper.mli dumper.ml bridge.ml install_bridge: bridge cp -f bridge /usr/local/bin @@ -59,46 +64,48 @@ INCLUDE=-I ../commons -I ../extra -I ../parsing_c LIBS=../commons/commons.cma ../globals/globals.cma \ ../parsing_c/parsing_c.cma ../extra/extra.cma -OCAMLC=ocamlc$(OPTBIN) -g -dtypes $(INCLUDE) -OCAMLOPT=ocamlopt$(OPTBIN) $(INCLUDE) $(OPTFLAGS) -#OCAMLLEX=ocamllex$(OPTBIN) -ml -OCAMLLEX=ocamllex$(OPTBIN) -OCAMLYACC=ocamlyacc -v -OCAMLDEP=ocamldep$(OPTBIN) $(INCLUDE) -OCAMLMKTOP=ocamlmktop -g -custom $(INCLUDE) +OCAMLC_CMD=$(OCAMLC) -thread $(OCAMLCFLAGS) $(INCLUDE) +OCAMLOPT_CMD=$(OCAMLOPT) -thread $(OPTFLAGS) $(INCLUDE) +OCAMLDEP_CMD=$(OCAMLDEP) $(INCLUDE) +OCAMLMKTOP_CMD=$(OCAMLMKTOP) -g -custom $(INCLUDE) +OCAMLYACC_CMD=$(OCAMLYACC) -v spp: spp.ml - $(OCAMLC) -o $@ $(SYSLIBS) $(INCLUDE) $(LIBS) $+ -# ocamlc -I ../commons/ -o spp str.cma unix.cma bigarray.cma ../commons/common.cmo spp.ml + $(OCAMLC_CMD) -o $@ $(SYSLIBS) $(INCLUDE) $(LIBS) $+ splitpatch: splitpatch.cmo - $(OCAMLC) -o $@ $(SYSLIBS) $(INCLUDE) $+ + $(OCAMLC_CMD) -o $@ $(SYSLIBS) $(INCLUDE) $+ extract_c_and_res: extract_c_and_res.cmo - $(OCAMLC) -o $@ $(SYSLIBS) $(INCLUDE) $(LIBS) $+ + $(OCAMLC_CMD) -o $@ $(SYSLIBS) $(INCLUDE) $(LIBS) $+ generate_dependencies: generate_dependencies.cmo - $(OCAMLC) -o $@ $(SYSLIBS) $(INCLUDE) $(LIBS) $+ + $(OCAMLC_CMD) -o $@ $(SYSLIBS) $(INCLUDE) $(LIBS) $+ .SUFFIXES: .ml .mli .cmo .cmi .cmx .ml.cmo: - $(OCAMLC) -c $< + $(OCAMLC_CMD) -c $< .mli.cmi: - $(OCAMLC) -c $< + $(OCAMLC_CMD) -c $< .ml.cmx: - $(OCAMLOPT) -c $< + $(OCAMLOPT_CMD) -c $< clean: rm -f $(PROGS) rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot + rm -f .depend -beforedepend:: +distclean: clean -depend:: beforedepend - ocamldep $(INCLUDE) *.mli *.ml > .depend - -distclean:: clean - rm -f .depend +.PHONEY: depend +.depend depend: beforedepend + ocamldep $(INCLUDE) *.mli *.ml > .depend +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(MAKECMDGOALS),distclean) -include .depend +endif +endif + +include ../Makefile.common