aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorPrashanth Mundkur <prashanth.mundkur@gmail.com>2018-07-08 21:31:09 -0700
committerPrashanth Mundkur <prashanth.mundkur@gmail.com>2018-07-08 21:31:09 -0700
commit5ec2b82b57862d3f89acbcadd96ab8f3ec1c5821 (patch)
tree81620731ed93680e54016f62bf215255f4f073fa /Makefile
parent8e750c39fd4ec47994d905a5214836ec5631183b (diff)
downloadsail-riscv-5ec2b82b57862d3f89acbcadd96ab8f3ec1c5821.zip
sail-riscv-5ec2b82b57862d3f89acbcadd96ab8f3ec1c5821.tar.gz
sail-riscv-5ec2b82b57862d3f89acbcadd96ab8f3ec1c5821.tar.bz2
Add a riscv coverage target using bisect-ppx.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile14
1 files changed, 13 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 22f8033..621754b 100644
--- a/Makefile
+++ b/Makefile
@@ -17,9 +17,21 @@ _sbuild/platform_main.native: _sbuild/riscv.ml _tags $(PLATFORM_OCAML_SRCS) Make
cp _tags $(PLATFORM_OCAML_SRCS) _sbuild
cd _sbuild && ocamlbuild -use-ocamlfind platform_main.native
+_sbuild/coverage.native: _sbuild/riscv.ml _tags.bisect $(PLATFORM_OCAML_SRCS) Makefile
+ cp $(PLATFORM_OCAML_SRCS) _sbuild
+ cp _tags.bisect _sbuild/_tags
+ cd _sbuild && ocamlbuild -use-ocamlfind platform_main.native && cp -L platform_main.native coverage.native
+
platform: _sbuild/platform_main.native
rm -f $@ && ln -s $^ $@
+coverage: _sbuild/coverage.native
+ rm -f platform && ln -s $^ platform # since the test scripts runs this file
+ rm -rf bisect*.out bisect coverage
+ ../test/riscv/run_tests.sh # this will generate bisect*.out files in this directory
+ mkdir bisect && mv bisect*.out bisect/
+ mkdir coverage && bisect-ppx-report -html coverage/ -I _sbuild/ bisect/bisect*.out
+
tracecmp: tracecmp.ml
ocamlfind ocamlopt -annot -linkpkg -package unix $^ -o $@
@@ -69,6 +81,6 @@ clean:
Riscv_extras.thy
-rm -f Riscv_duopod.thy Riscv_duopod_types.thy riscv_duopod.lem riscv_duopod_types.lem
-rm -f riscvScript.sml riscv_typesScript.sml riscv_extrasScript.sml
- -rm -f platform_main.native platform
+ -rm -f platform_main.native platform coverage.native
-Holmake cleanAll
ocamlbuild -clean