diff options
| author | Robert Norton | 2018-03-08 16:49:50 +0000 |
|---|---|---|
| committer | Robert Norton | 2018-03-08 16:51:03 +0000 |
| commit | 7f894658e6cf53a3ebf4dec5ccf788450de53d1e (patch) | |
| tree | fb8a1855311b2d0fdd9ed398bfcd8de70c374321 /mips/Makefile | |
| parent | 9e48920689ed4290f0bf155d604292143d5f5ffa (diff) | |
rename mips_new_tc to mips
Diffstat (limited to 'mips/Makefile')
| -rw-r--r-- | mips/Makefile | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/mips/Makefile b/mips/Makefile new file mode 100644 index 00000000..55d8e986 --- /dev/null +++ b/mips/Makefile @@ -0,0 +1,31 @@ +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 + +SAIL:=$(SAIL_DIR)/sail + +MIPS_PRE:=$(SAIL_LIB_DIR)/flow.sail $(MIPS_SAIL_DIR)/prelude.sail $(MIPS_SAIL_DIR)/mips_prelude.sail +MIPS_TLB:=$(MIPS_SAIL_DIR)/mips_tlb.sail +MIPS_TLB_STUB:=$(MIPS_SAIL_DIR)/mips_tlb_stub.sail +MIPS_SAILS:=$(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_MAIN:=$(MIPS_SAIL_DIR)/main.sail + +mips: $(MIPS_PRE) $(MIPS_TLB) $(MIPS_SAILS) $(MIPS_MAIN) + $(SAIL) -ocaml -o mips $^ + +mips_no_tlb.lem: $(MIPS_PRE) $(MIPS_TLB_STUB) $(MIPS_SAILS) + $(SAIL) -lem -o mips_no_tlb -lem_mwords -lem_lib Mips_extras -undefined_gen $^ +mips_no_tlb_types.lem: mips_no_tlb.lem + +# TODO: Use monomorphisation so that we can switch to machine words +mips.lem: $(MIPS_PRE) $(MIPS_TLB) $(MIPS_SAILS) + $(SAIL) -lem -o mips -lem_lib Mips_extras -undefined_gen $^ +mips_types.lem: mips.lem + +M%.thy: m%.lem m%_types.lem mips_extras.lem + lem -isa -outdir . -lib $(SAIL_DIR)/src/gen_lib -lib $(SAIL_DIR)/src/lem_interp $^ + +clean: + rm -rf mips Mips.thy mips.lem _sbuild |
