552187ab19d077a833c416aaf41c8638140b480f
1 get_insn_list
= $(shell grep ^DECLARE_INSN
$(1) | sed
's/DECLARE_INSN(\(.*\),.*,.*)/\1/')
2 get_opcode
= $(shell grep ^DECLARE_INSN.
*\\\
<$(2)\\\
> $(1) | sed
's/DECLARE_INSN(.*,\(.*\),.*)/\1/')
4 riscv_subproject_deps
= \
7 riscv_install_prog_srcs
= \
29 riscv_precompiled_hdrs
= \
257 $(addsuffix .
cc,$(riscv_insn_list
))
259 icache_entries
:= `grep "ICACHE_ENTRIES =" $(src_dir)/riscv/mmu.h | sed 's/.* = \(.*\);/\1/'`
262 $(src_dir
)/riscv
/gen_icache
$(icache_entries
) > $@.tmp
265 insn_list.h
: $(src_dir
)/riscv
/riscv.mk.in
266 for insn in
$(foreach insn
,$(riscv_insn_list
),$(subst .
,_
,$(insn
))) ; do \
267 printf
'DEFINE_INSN(%s)\n' "$${insn}" ; \
271 $(riscv_gen_srcs
): %.
cc: insns
/%.h insn_template.
cc
272 sed
's/NAME/$(subst .cc,,$@)/' $(src_dir
)/riscv
/insn_template.
cc | sed
's/OPCODE/$(call get_opcode,$(src_dir)/riscv/encoding.h,$(subst .cc,,$@))/' > $@