From bb79d5eb914a1fa227ef4026b79531da87658fa8 Mon Sep 17 00:00:00 2001 From: Virgile Prevosto <virgile.prevosto@m4x.org> Date: Wed, 28 Sep 2022 18:20:18 +0200 Subject: [PATCH] [wookey] don't use an intermediate file, rely on a loader.meta dir This looks more like analysis.mk does, and the intermediate file (as opposed to the intermediate Frama-C state) does not retain the status of deduced properties --- case_studies/wookey/loader/GNUmakefile | 27 ++++++++++---------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/case_studies/wookey/loader/GNUmakefile b/case_studies/wookey/loader/GNUmakefile index 35c5c48..937c27b 100644 --- a/case_studies/wookey/loader/GNUmakefile +++ b/case_studies/wookey/loader/GNUmakefile @@ -78,36 +78,29 @@ WP_CUSTOM ?= WP_FLAGS= -wp-par $(CORES) -wp-timeout 20 -wp-no-warn-memory-model -wp-cache update $(WP_CUSTOM) META_FLAGS= #-meta-keep-proof-files -OUT_FILE= gen.c - IMPORT_FILE = spec-annots.acsl ALL_FILES = $(filter-out $(EXCLUDE), $(wildcard $(SRCS))) FRAMAC_EXEC := frama-c FRAMAC = $(FRAMAC_EXEC) $(FCFLAGS) META = -meta $(META_FLAGS) -IMPORT = -acsl-import $(IMPORT_FILE) +IMPORT = -acsl-import $(IMPORT_FILE) parse: $(MAIN_TARGET).parse -gen_prove: $(MAIN_TARGET).parse +$(MAIN_TARGET).meta: $(MAIN_TARGET).parse + mkdir -p $@ $(FRAMAC) -load $^/framac.sav \ -then-on translation -set-project-as-default \ - -then $(IMPORT) -then -wp $(WP_FLAGS) -gen: $(OUT_FILE) - -$(OUT_FILE): $(MAIN_TARGET).parse - $(FRAMAC) -load $^/framac.sav \ - -then-on translation -set-project-as-default \ - -then $(IMPORT) -then -ocode $(OUT_FILE) -print - -wp: $(OUT_FILE) - $(FRAMAC) $(OUT_FILE) -wp $(WP_FLAGS) + -then $(IMPORT) -then -wp $(WP_FLAGS) \ + -then -save $@/framac.sav \ + -then -ocode $@/result.c -print \ + -then -report-csv $@/result.csv \ + | tee $@/framac.log -prove_gui: $(OUT_FILE) - $(FRAMAC_EXEC)-gui $(OUT_FILE) -wp $(WP_FLAGS) +meta: $(MAIN_TARGET).meta clean:: - rm -f $(OUT_FILE) rm -rf $(MAIN_TARGET).parse + rm -rf $(MAIN_TARGET).meta include $(shell $(FRAMAC)-config -print-lib-path)/analysis-scripts/epilogue.mk -- GitLab