summaryrefslogtreecommitdiff
path: root/cheri/Makefile
diff options
context:
space:
mode:
authorRobert Norton2018-02-28 16:00:40 +0000
committerRobert Norton2018-03-01 16:34:45 +0000
commita14174b0e3f9c7829e0f3f48354ac191b05fcafd (patch)
tree1e6d430d0d4cb007c20076e5fc76630f539657e3 /cheri/Makefile
parent34d6d58424a57bc5193ee5649c035f3e96838924 (diff)
cheri wip.
Diffstat (limited to 'cheri/Makefile')
-rw-r--r--cheri/Makefile22
1 files changed, 21 insertions, 1 deletions
diff --git a/cheri/Makefile b/cheri/Makefile
index 813902a2..a443d123 100644
--- a/cheri/Makefile
+++ b/cheri/Makefile
@@ -1,5 +1,25 @@
-EXTRACT_INST=sed -n "/START_${1}\b/,/END_${1}\b/p" cheri_insts.sail | sed 's/^ //;1d;$$d' > inst_$1.sail
+THIS_MAKEFILE := $(realpath $(lastword $(MAKEFILE_LIST)))
+SAIL_DIR:=$(realpath $(dir $(THIS_MAKEFILE))..)
+export SAIL_DIR
+SAIL_LIB_DIR:=$(SAIL_DIR)/lib
+MIPS_SAIL_DIR:=$(SAIL_DIR)/mips_new_tc
+CHERI_SAIL_DIR:=$(SAIL_DIR)/cheri
+SAIL:=$(SAIL_DIR)/sail
+SAIL_LIB_HEADERS:=$(SAIL_LIB_DIR)/flow.sail
+
+MIPS_SAILS:=$(SAIL_LIB_HEADERS) $(MIPS_SAIL_DIR)/prelude.sail $(MIPS_SAIL_DIR)/mips_prelude.sail $(MIPS_SAIL_DIR)/mips_tlb.sail $(MIPS_SAIL_DIR)/mips_wrappers.sail $(MIPS_SAIL_DIR)/mips_ast_decl.sail $(MIPS_SAIL_DIR)/mips_insts.sail $(MIPS_SAIL_DIR)/mips_ri.sail $(MIPS_SAIL_DIR)/mips_epilogue.sail $(MIPS_SAIL_DIR)/main.sail
+
+CHERI_SAILS:=$(SAIL_LIB_HEADERS) $(MIPS_SAIL_DIR)/prelude.sail $(MIPS_SAIL_DIR)/mips_prelude.sail $(MIPS_SAIL_DIR)/mips_tlb.sail $(CHERI_SAIL_DIR)/cheri_types.sail $(CHERI_SAIL_DIR)/cheri_prelude_256.sail $(CHERI_SAIL_DIR)/cheri_prelude_common.sail $(MIPS_SAIL_DIR)/mips_insts.sail $(CHERI_SAIL_DIR)/cheri_insts.sail $(MIPS_SAIL_DIR)/mips_ri.sail $(MIPS_SAIL_DIR)/mips_epilogue.sail
+
+CHERI128_SAILS:=$(SAIL_LIB_HEADERS) $(MIPS_SAIL_DIR)/prelude.sail $(MIPS_SAIL_DIR)/mips_prelude.sail $(MIPS_SAIL_DIR)/mips_tlb.sail $(CHERI_SAIL_DIR)/cheri_types.sail $(CHERI_SAIL_DIR)/cheri_prelude_128.sail $(CHERI_SAIL_DIR)/cheri_prelude_common.sail $(MIPS_SAIL_DIR)/mips_insts.sail $(CHERI_SAIL_DIR)/cheri_insts.sail $(MIPS_SAIL_DIR)/mips_ri.sail $(MIPS_SAIL_DIR)/mips_epilogue.sail
+cheri: $(CHERI_SAILS)
+ $(SAIL) -ocaml -o cheri $(CHERI_SAILS)
+
+clean:
+ rm -rf _sbuild
+
+EXTRACT_INST=sed -n "/START_${1}\b/,/END_${1}\b/p" cheri_insts.sail | sed 's/^ //;1d;$$d' > inst_$1.sail
extract: cheri_insts.sail
$(call EXTRACT_INST,CGetPerms)
$(call EXTRACT_INST,CGetType)