From 61222d6bfb2fddd8608bea4056af2e9541819510 Mon Sep 17 00:00:00 2001 From: letouzey Date: Fri, 24 Sep 2010 13:14:08 +0000 Subject: dev/Makefile.oug: how to run the Oug analyser, for instance for finding dead code git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13459 85f007b7-540e-0410-9357-904b9bb8a0f7 --- Makefile.common | 3 +-- dev/Makefile.oug | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 dev/Makefile.oug diff --git a/Makefile.common b/Makefile.common index d18cf73d87..77e4d59f29 100644 --- a/Makefile.common +++ b/Makefile.common @@ -216,8 +216,7 @@ IDECMA:=ide/ide.cma # modules known by the toplevel of Coq -OBJSMOD:=Coq_config \ - $(foreach lib,$(CORECMA),$(shell cat $(lib:.cma=.mllib))) +OBJSMOD:=Coq_config $(shell cat $(CORECMA:.cma=.mllib)) IDEMOD:=$(shell cat ide/ide.mllib) diff --git a/dev/Makefile.oug b/dev/Makefile.oug new file mode 100644 index 0000000000..ee69ea80df --- /dev/null +++ b/dev/Makefile.oug @@ -0,0 +1,74 @@ +####################################################################### +# v # The Coq Proof Assistant / The Coq Development Team # +# " --useless-elements $@ + +core_intf.oug: + $(OUG) --dump-data $@ -rectypes $(MLINCLUDES) $(COREML) $(COREMLI) + +core_intf.useless: core_intf.oug + $(OUG) --load-data $< --no-reduce --print-loc --roots "" --useless-elements $@ + +# Analysis of coqchk, considering only files in the checker/ subdir + +CHECKERML:=$(call local_ml_of_cma,checker/check.cma) +CHECKERMLI:=$(call mli_of_ml,$(CHECKERML)) + +## BUG: in oug, include dirs have reversed priority compared with ocaml, cannot use CHKLIBS +MYCHKINCL:=$(MLINCLUDES) -I checker + +checker.oug: + $(OUG) --dump-data $@ -rectypes $(MYCHKINCL) $(CHECKERML) #$(CHECKERMLI) + +checker.useless: checker.oug + $(OUG) --load-data $< --no-reduce --print-loc --roots "" --useless-elements $@ + +# Analysis of extraction + +EXTRACTIONML:=$(call local_ml_of_cma,$(EXTRACTIONCMA)) +EXTRACTIONMLI:=$(call mli_of_ml,$(EXTRACTIONMLI)) + +extraction.oug: + $(OUG) --dump-data $@ -rectypes $(MLINCLUDES) $(EXTRACTIONML) #$(EXTRACTIONMLI) + +extraction.useless: extraction.oug + $(OUG) --load-data $< --no-reduce --print-loc --useless-elements $@ + +# More to come ... \ No newline at end of file -- cgit v1.2.3