summaryrefslogtreecommitdiff
path: root/aarch64/Makefile
blob: 07bc67aeb3e2bf02b54702dbcae03a55e19c205e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
THIS_MAKEFILE := $(realpath $(lastword $(MAKEFILE_LIST)))
SAIL_DIR:=$(realpath $(dir $(THIS_MAKEFILE))..)
export SAIL_DIR
SAIL_LIB_DIR:=$(SAIL_DIR)/lib
SAIL:=$(SAIL_DIR)/sail

aarch64.c: no_vector.sail
	$(SAIL) $^ -c -O -undefined_gen -no_lexp_bounds_check -memo_z3 1> aarch64.c

aarch64_c: aarch64.c
	gcc -O2 $^ -o aarch64_c -lgmp -I $(SAIL_DIR)/lib

aarch64: no_vector.sail
	$(SAIL) $^ -o aarch64 -ocaml -undefined_gen -no_lexp_bounds_check -memo_z3

aarch64.lem: no_vector.sail
	$(SAIL) $^ -o aarch64 -lem -lem_lib Aarch64_extras -memo_z3 -undefined_gen -no_lexp_bounds_check
aarch64_types.lem: aarch64.lem

Aarch64.thy: aarch64_extras.lem aarch64_types.lem aarch64.lem
	lem -isa -outdir . -lib $(SAIL_DIR)/src/gen_lib -lib $(SAIL_DIR)/src/lem_interp $^

LOC_FILES:=prelude.sail full/spec.sail decode_start.sail full/decode.sail decode_end.sail main.sail
include ../etc/loc.mk