Re-add Hwacha header file
[riscv-isa-sim.git] / hwacha / hwacha.mk.in
1 get_insn_list = $(shell sed 's/DECLARE_INSN(\(.*\),.*,.*)/\1/' $(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 decode_hwacha_ut_half.h \
16 opcodes_hwacha.h \
17 opcodes_hwacha_ut.h \
18 opcodes_hwacha_ut_half.h \
19
20 hwacha_srcs = \
21 hwacha.cc \
22 hwacha_disasm.cc \
23 $(hwacha_gen_srcs) \
24 $(hwacha_ut_gen_srcs) \
25 $(hwacha_ut_half_gen_srcs) \
26
27 hwacha_test_srcs =
28
29 hwacha_gen_srcs = \
30 $(addsuffix .cc, $(call get_insn_list,$(src_dir)/hwacha/opcodes_hwacha.h))
31
32 $(hwacha_gen_srcs): %.cc: insns/%.h insn_template_hwacha.cc
33 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,,$@))/' > $@
34
35 hwacha_ut_gen_srcs = \
36 $(addsuffix .cc, $(call get_insn_list,$(src_dir)/hwacha/opcodes_hwacha_ut.h))
37
38 $(hwacha_ut_gen_srcs): %.cc: insns_ut/%.h insn_template_hwacha_ut.cc
39 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,,$@))/' > $@
40
41 hwacha_ut_half_gen_srcs = \
42 $(addsuffix .cc, $(call get_insn_list,$(src_dir)/hwacha/opcodes_hwacha_ut_half.h))
43
44 $(hwacha_ut_half_gen_srcs): %.cc: insns_ut_half/%.h insn_template_hwacha_ut_half.cc
45 sed 's/NAME/$(subst .cc,,$@)/' $(src_dir)/hwacha/insn_template_hwacha_ut_half.cc | sed 's/OPCODE/$(call get_opcode,$(src_dir)/hwacha/opcodes_hwacha_ut_half.h,$(subst .cc,,$@))/' > $@