revamp hwacha; now runs in physical mode
[riscv-isa-sim.git] / hwacha / hwacha.mk.in
1 get_insn_list = $(shell cat $(1) | sed 's/DECLARE_INSN(\(.*\),.*,.*)/\1/')
2 get_opcode = $(shell grep \\\<$(2)\\\> $(1) | sed 's/DECLARE_INSN(.*,\(.*\),.*)/\1/')
3
4 hwacha_subproject_deps = \
5 riscv \
6 softfloat \
7
8 hwacha_install_prog_srcs = \
9
10 hwacha_hdrs = \
11 hwacha.h \
12 decode_hwacha.h \
13 decode_hwacha_ut.h \
14 opcodes_hwacha.h \
15 opcodes_hwacha_ut.h \
16
17 hwacha_srcs = \
18 hwacha.cc \
19 $(hwacha_gen_srcs) \
20 $(hwacha_ut_gen_srcs) \
21
22 hwacha_test_srcs =
23
24 hwacha_gen_srcs = \
25 $(addsuffix .cc, $(call get_insn_list,$(src_dir)/hwacha/opcodes_hwacha.h))
26
27 $(hwacha_gen_srcs): %.cc: insns/%.h insn_template_hwacha.cc
28 sed 's/NAME/$(subst .cc,,$@)/' $(src_dir)/hwacha/insn_template_hwacha.cc | sed 's/OPCODE/$(call get_opcode,$(src_dir)/hwacha/opcodes_hwacha.h,$(subst .cc,,$@))/' > $@
29
30 hwacha_ut_gen_srcs = \
31 $(addsuffix .cc, $(call get_insn_list,$(src_dir)/hwacha/opcodes_hwacha_ut.h))
32
33 $(hwacha_ut_gen_srcs): %.cc: insns_ut/%.h insn_template_hwacha_ut.cc
34 sed 's/NAME/$(subst .cc,,$@)/' $(src_dir)/hwacha/insn_template_hwacha_ut.cc | sed 's/OPCODE/$(call get_opcode,$(src_dir)/hwacha/opcodes_hwacha_ut.h,$(subst .cc,,$@))/' > $@
35