summaryrefslogtreecommitdiff
path: root/src/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile')
-rw-r--r--src/Makefile30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/Makefile b/src/Makefile
index 21e821ea..cc651e21 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -7,15 +7,37 @@ full: sail lib power doc test
sail:
ocamlbuild sail.native sail_lib.cma sail_lib.cmxa
-test: sail
+interpreter:
+ ocamlbuild lem_interp/extract.cmxa
+ ocamlbuild lem_interp/extract.cma
+
+test: sail interpreter
ocamlbuild test/run_tests.native
./run_tests.native
-power: sail
- ocamlbuild test/run_power.native
+LEM = ~/bitbucket/lem/lem
+LEMLIB = ~/bitbucket/lem/ocaml-lib/_build/
+
+install_elf:
+ cp -p ../../system-v-abi/src/*.lem elf_model/
+ cp -p ../../system-v-abi/src/*.ml elf_model/
+
+power: sail interpreter
+ mkdir -p _build/test
+ mkdir -p _build/elf_model
+ cp -p test/* _build/test/
+ cp -p elf_model/* _build/elf_model
+ cd _build/elf_model ;\
+ $(LEM) -ocaml -only_changed_output missing_pervasives.lem show.lem endianness.lem bitstring.lem elf_types.lem elf_interpreted_segment.lem elf_header.lem elf_file1.lem elf_program_header_table.lem elf_executable_file2.lem elf_section_header_table.lem elf_executable_file3.lem string_table.lem elf_executable_file4.lem elf_executable_file5.lem sail_interface.lem main.lem ;\
+ ocamlfind ocamlopt -package bitstring.syntax -package batteries -package uint -package bitstring -syntax camlp4o -I $(LEMLIB) nat_num.cmx lem.cmx lem_function.cmx lem_list.cmx -linkpkg missing_pervasives.ml show.ml endianness.ml error.ml ml_bindings.ml bitstring_local.ml elf_types.ml elf_header.ml elf_file1.ml elf_program_header_table.ml elf_executable_file2.ml string_table.ml elf_section_header_table.ml elf_executable_file3.ml elf_executable_file4.ml elf_interpreted_segment.ml elf_executable_file5.ml sail_interface.ml main.ml ;\
+ ocamlfind ocamlopt -package batteries -package uint -package bitstring -I $(LEMLIB) -a -o elf_extract.cmxa nat_num.cmx lem.cmx lem_function.cmx lem_list.cmx missing_pervasives.cmx show.cmx endianness.cmx error.cmx ml_bindings.cmx bitstring_local.cmx elf_types.cmx elf_header.cmx elf_file1.cmx elf_program_header_table.cmx elf_executable_file2.cmx
+ cd _build/test ;\
+ ../../sail.native -lem_ast power.sail ;\
+ $(LEM) -ocaml -only_changed_output -lib ../lem_interp/ power.lem;\
+ ocamlfind ocamlopt -package num -package bitstring -package batteries -package uint -I $(LEMLIB) -I ../lem_interp/ -I ../elf_model/ -linkpkg $(LEMLIB)extract.cmxa ../pprint/src/PPrintLib.cmxa ../lem_interp/extract.cmxa elf_extract.cmxa power.ml run_power.ml -o run_power.native
+ ln -fs _build/test/run_power.native run_power.native
test_power: power
- #../../../rsem/idl/power/binary/run.sh
./run_power.native --file ../../../rsem/idl/power/binary/main.bin
test_power_interactive: power