refactor disassembler, and add hwacha disassembler
[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 hwacha_xcpt.h \
13 decode_hwacha.h \
14 decode_hwacha_ut.h \
15 opcodes_hwacha.h \
16 opcodes_hwacha_ut.h \
17
18 hwacha_srcs = \
19 hwacha.cc \
20 hwacha_disasm.cc \
21 $(hwacha_gen_srcs) \
22 $(hwacha_ut_gen_srcs) \
23
24 hwacha_test_srcs =
25
26 hwacha_gen_srcs = \
27 $(addsuffix .cc, $(call get_insn_list,$(src_dir)/hwacha/opcodes_hwacha.h))
28
29 $(hwacha_gen_srcs): %.cc: insns/%.h insn_template_hwacha.cc
30 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,,$@))/' > $@
31
32 hwacha_ut_gen_srcs = \
33 $(addsuffix .cc, $(call get_insn_list,$(src_dir)/hwacha/opcodes_hwacha_ut.h))
34
35 $(hwacha_ut_gen_srcs): %.cc: insns_ut/%.h insn_template_hwacha_ut.cc
36 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,,$@))/' > $@
37