Implement RoCC and add a dummy RoCC
[riscv-isa-sim.git] / riscv / riscv.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 riscv_subproject_deps = \
5 softfloat_riscv \
6 softfloat \
7
8 riscv_install_prog_srcs = \
9 spike.cc \
10 xspike.cc \
11 termios-xspike.cc \
12
13 riscv_hdrs = \
14 htif.h \
15 common.h \
16 decode.h \
17 mmu.h \
18 processor.h \
19 sim.h \
20 trap.h \
21 opcodes.h \
22 cachesim.h \
23 memtracer.h \
24 extension.h \
25 rocc.h \
26 dummy-rocc.h \
27
28 riscv_srcs = \
29 htif.cc \
30 processor.cc \
31 sim.cc \
32 interactive.cc \
33 trap.cc \
34 cachesim.cc \
35 mmu.cc \
36 disasm.cc \
37 extension.cc \
38 rocc.cc \
39 $(riscv_gen_srcs) \
40
41 riscv_test_srcs =
42
43 riscv_gen_hdrs = \
44
45 riscv_gen_srcs = \
46 $(addsuffix .cc, $(call get_insn_list,$(src_dir)/riscv/opcodes.h))
47
48 $(riscv_gen_srcs): %.cc: insns/%.h insn_template.cc
49 sed 's/NAME/$(subst .cc,,$@)/' $(src_dir)/riscv/insn_template.cc | sed 's/OPCODE/$(call get_opcode,$(src_dir)/riscv/opcodes.h,$(subst .cc,,$@))/' > $@
50
51 riscv_junk = \
52 $(riscv_gen_srcs) \