summaryrefslogtreecommitdiff
path: root/aarch64_small
diff options
context:
space:
mode:
authorJon French2019-05-13 16:07:38 +0100
committerJon French2019-05-13 16:07:38 +0100
commit99d3f4d6458704dad2bf6c31198def63a60fed94 (patch)
tree1d9b05fd732f6f42d9e74f8fea82a577b1d81933 /aarch64_small
parent8213af2f61a2c363afab94d5fb67774f9768f4dc (diff)
aarch64_small: add to Makefile parts for RMEM
Diffstat (limited to 'aarch64_small')
-rw-r--r--aarch64_small/Makefile29
1 files changed, 19 insertions, 10 deletions
diff --git a/aarch64_small/Makefile b/aarch64_small/Makefile
index b9abec80..fe4c5841 100644
--- a/aarch64_small/Makefile
+++ b/aarch64_small/Makefile
@@ -1,7 +1,7 @@
-SAIL:=../src/sail.native
+SAIL:=../sail -Ofast_undefined
LEM:=../../lem/lem
-default: armV8_embed.lem
+default: all
# the order of the files is important
SOURCES=prelude.sail\
@@ -13,24 +13,33 @@ SOURCES=prelude.sail\
armV8_lib.h.sail\
armV8_common_lib.sail\
armV8_A64_lib.sail\
- armV8.sail
+ armV8.sail\
+ ../lib/regfp.sail\
+ aarch64_regfp.sail
-all: armV8.lem armV8.ml armV8_embed.lem
+all: armV8.lem for-rmem/armV8.lem for-rmem/armV8_toFromInterp2.ml for-rmem/armV8.defs
armV8.lem: $(SOURCES)
- $(SAIL) -lem_ast -o armV8 $(SOURCES)
+# also generates armV8_embed_sequential.lem, armV8_embed_types.lem, armV8_toFromInterp.lem
+ $(SAIL) $(SAILFLAGS) -lem -lem_lib ArmV8_extras_embed -o armV8 $^
-armV8.ml: armV8.lem ../src/lem_interp/interp_ast.lem
- $(LEM) -ocaml -lib ../src/lem_interp/ $<
+for-rmem/armV8.lem: $(SOURCES)
+ mkdir -p $(dir $@)
+# We do not need the isabelle .thy files, but sail always generates them
+ $(SAIL) -lem -lem_lib ArmV8_extras_embed -lem_output_dir $(dir $@) -isa_output_dir $(dir $@) -o $(notdir $(basename $@)) $^
+for-rmem/armV8_toFromInterp2.ml: $(SOURCES)
+ mkdir -p $(dir $@)
+ $(SAIL) -tofrominterp -tofrominterp_lem -tofrominterp_output_dir $(dir $@) -o armV8 $^
-armV8_embed.lem: $(SOURCES) ../lib/regfp.sail aarch64_regfp.sail
-# also generates armV8_embed_sequential.lem, armV8_embed_types.lem, armV8_toFromInterp.lem
- $(SAIL) $(SAILFLAGS) -lem -lem_lib ArmV8_extras_embed -o armV8 $^
+for-rmem/armV8.defs: $(SOURCES)
+ mkdir -p $(dir $@)
+ $(SAIL) -marshal -o $(basename $@) $^
clean:
rm -f armV8.lem armV8.ml
rm -f armV8_embed*.lem armV8_toFromInterp.lem
+ rm -f for-rmem/*
######################################################################
ETCDIR=../etc