summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Norton2017-05-08 15:29:37 +0100
committerRobert Norton2017-05-08 15:29:55 +0100
commitf9c4e2e6d3cf91e4ec2507a093857fd29a42c0c7 (patch)
treeda8d1155a6b524fb34decb7c1866d4ddcad77e8a /src
parent659bb75597fe50eaa8cd96fd97bd83dffcadd56a (diff)
add make rules to (attempt to) build arm and power ml.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/Makefile b/src/Makefile
index 568657b1..732c9688 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -74,17 +74,18 @@ ELFDIR= $(BITBUCKET_ROOT)/linksem
ZARITH_DIR=$(LEMLIBOCAML)/dependencies/zarith
ZARITH_LIB=$(ZARITH_DIR)/zarith.cmxa
-MIPS_SAIL_DIR:=$(BITBUCKET_ROOT)/sail/mips
+SAIL_DIR:=$(BITBUCKET_ROOT)/sail
+MIPS_SAIL_DIR:=$(SAIL_DIR)/mips
MIPS_SAILS_PRE:=$(MIPS_SAIL_DIR)/mips_prelude.sail $(MIPS_SAIL_DIR)/mips_tlb.sail $(MIPS_SAIL_DIR)/mips_wrappers.sail $(MIPS_SAIL_DIR)/mips_insts.sail $(MIPS_SAIL_DIR)/mips_ri.sail $(MIPS_SAIL_DIR)/mips_epilogue.sail
-MIPS_SAILS:=$(MIPS_SAILS_PRE) $(BITBUCKET_ROOT)/sail/etc/regfp.sail $(MIPS_SAIL_DIR)/mips_regfp.sail
+MIPS_SAILS:=$(MIPS_SAILS_PRE) $(SAIL_DIR)/etc/regfp.sail $(MIPS_SAIL_DIR)/mips_regfp.sail
MIPS_NOTLB_SAILS_PRE:=$(MIPS_SAIL_DIR)/mips_prelude.sail $(MIPS_SAIL_DIR)/mips_tlb_stub.sail $(MIPS_SAIL_DIR)/mips_wrappers.sail $(MIPS_SAIL_DIR)/mips_insts.sail $(MIPS_SAIL_DIR)/mips_epilogue.sail
-MIPS_NOTLB_SAILS:=$(MIPS_NOTLB_SAILS_PRE) $(BITBUCKET_ROOT)/sail/etc/regfp.sail $(MIPS_SAIL_DIR)/mips_regfp.sail
+MIPS_NOTLB_SAILS:=$(MIPS_NOTLB_SAILS_PRE) $(SAIL_DIR)/etc/regfp.sail $(MIPS_SAIL_DIR)/mips_regfp.sail
-CHERI_SAIL_DIR:=$(BITBUCKET_ROOT)/sail/cheri
+CHERI_SAIL_DIR:=$(SAIL_DIR)/cheri
CHERI_NOTLB_SAILS:=$(MIPS_SAIL_DIR)/mips_prelude.sail $(MIPS_SAIL_DIR)/mips_tlb_stub.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
@@ -148,7 +149,7 @@ _build/cheri_embed.ml: $(CHERI_SAILS) ./sail.native
cd _build ; \
../sail.native -ocaml -lem -lem_ast -ocaml_lib Mips_extras_ml -o cheri_embed $(CHERI_SAILS)
-_build/cheri128_embed.ml: $(CHERI_SAILS) ./sail.native
+_build/cheri128_embed.ml: $(CHERI128_SAILS) ./sail.native
mkdir -p _build
cd _build ; \
../sail.native -ocaml -lem -lem_ast -ocaml_lib Mips_extras_ml -o cheri128_embed $(CHERI128_SAILS)
@@ -204,6 +205,20 @@ run_cheri128.native: _build/cheri128.ml _build/mips_extras.ml _build/run_with_e
run_embed.native: _build/sail_values.ml _build/mips_extras_ml.ml _build/mips_embed.ml _build/cheri_embed.ml _build/cheri128_embed.ml _build/run_embed.ml
env OCAMLRUNPARAM=l=100M ocamlfind ocamlopt $(OCAML_OPTS) -g -package unix -I $(ZARITH_DIR) -I _build -linkpkg $(ZARITH_LIB) $^ -o $@
+_build/power.ml: $(SAIL_DIR)/src/test/power.sail sail.native
+ cd _build; \
+ ./sail.native -lem_ast -ocaml $< -o $(basename $(@))
+
+_build/power.native: _build/sail_values.ml _build/power.ml
+ env OCAMLRUNPARAM=l=100M ocamlfind ocamlopt $(OCAML_OPTS) -g -package unix -I $(ZARITH_DIR) -I _build -linkpkg $(ZARITH_LIB) $^ -o $@
+
+_build/armv8_embed.ml: sail.native
+ make -C ../arm ocaml
+ cp ../arm/build/armv8_embed.ml $@
+
+_build/arm.native: _build/sail_values.ml _build/armv8_embed.ml
+ env OCAMLRUNPARAM=l=100M ocamlfind ocamlopt $(OCAML_OPTS) -g -package unix -I $(ZARITH_DIR) -I _build -linkpkg $(ZARITH_LIB) $^ -o $@
+
mips_notlb: _build/mips_notlb.ml _build/mips_embed_types.lem _build/mips_extras.ml
true