summaryrefslogtreecommitdiff
path: root/riscv/Makefile
diff options
context:
space:
mode:
authorBrian Campbell2018-08-13 13:37:59 +0100
committerBrian Campbell2018-08-13 13:37:59 +0100
commit0de3a32ed759773bf1e8ff4460d21371c0a715e8 (patch)
treedddb9a0aa8398465c835ece629917841e5f3b998 /riscv/Makefile
parenta8fc6f2480790149a689e58d55a9dd3d6818dd3c (diff)
Basic Coq support for RISC-V
Note that constraints have been added to ensure that all bitvector types are inhabited.
Diffstat (limited to 'riscv/Makefile')
-rw-r--r--riscv/Makefile9
1 files changed, 9 insertions, 0 deletions
diff --git a/riscv/Makefile b/riscv/Makefile
index 4805c8b2..5093c41e 100644
--- a/riscv/Makefile
+++ b/riscv/Makefile
@@ -77,6 +77,14 @@ riscvScript.sml : riscv.lem riscv_extras.lem
riscvTheory.uo riscvTheory.ui: riscvScript.sml
Holmake riscvTheory.uo
+COQ_LIBS = -R ../../bbv/theories bbv -R ../lib/coq Sail
+
+riscv.v riscv_types.v: $(SAIL_SRCS)
+ $(SAIL) $(SAIL_FLAGS) -dcoq_undef_axioms -coq -o riscv -coq_lib riscv_extras $(SAIL_SRCS)
+%.vo: %.v
+ coqc $(COQ_LIBS) $<
+riscv.vo: riscv_types.vo riscv_extras.vo
+
# we exclude prelude.sail here, most code there should move to sail lib
LOC_FILES:=$(SAIL_SRCS) main.sail
include ../etc/loc.mk
@@ -89,5 +97,6 @@ clean:
-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 coverage.native
+ -rm -f riscv.vo riscv_types.vo riscv_extras.vo riscv.v riscv_types.v
-Holmake cleanAll
ocamlbuild -clean