1 #=======================================================================
2 # Makefile for riscv-tests/isa
3 #-----------------------------------------------------------------------
10 include $(src_dir
)/rv64ui
/Makefrag
11 include $(src_dir
)/rv64ui
/Makefrag.sv
12 include $(src_dir
)/rv64uc
/Makefrag
13 include $(src_dir
)/rv64uc
/Makefrag.sv
14 include $(src_dir
)/rv64um
/Makefrag
15 include $(src_dir
)/rv64um
/Makefrag.sv
16 include $(src_dir
)/rv64ua
/Makefrag
17 include $(src_dir
)/rv64uf
/Makefrag
18 include $(src_dir
)/rv64uf
/Makefrag.sv
19 include $(src_dir
)/rv64ud
/Makefrag
20 include $(src_dir
)/rv64ud
/Makefrag.sv
21 include $(src_dir
)/rv64si
/Makefrag
22 include $(src_dir
)/rv64mi
/Makefrag
24 include $(src_dir
)/rv32ui
/Makefrag
25 include $(src_dir
)/rv32uc
/Makefrag
26 include $(src_dir
)/rv32um
/Makefrag
27 include $(src_dir
)/rv32um
/Makefrag.sv
28 include $(src_dir
)/rv32ua
/Makefrag
29 include $(src_dir
)/rv32uf
/Makefrag
30 include $(src_dir
)/rv32ud
/Makefrag
31 include $(src_dir
)/rv32si
/Makefrag
32 include $(src_dir
)/rv32mi
/Makefrag
36 #--------------------------------------------------------------------
38 #--------------------------------------------------------------------
40 RISCV_PREFIX ?
= riscv
$(XLEN
)-unknown-elf-
41 RISCV_GCC ?
= $(RISCV_PREFIX
)gcc
42 RISCV_GCC_OPTS ?
= -static
-mcmodel
=medany
-fvisibility
=hidden
-nostdlib
-nostartfiles
43 RISCV_OBJDUMP ?
= $(RISCV_PREFIX
)objdump
--disassemble-all
--disassemble-zeroes
--section
=.text
--section
=.text.startup
--section
=.text.init
--section
=.data
48 #------------------------------------------------------------
49 # Build assembly tests
52 $(RISCV_OBJDUMP
) $< > $@
55 $(RISCV_SIM
) --isa
=rv64gc
$< 2> $@
58 $(RISCV_SIM
) --isa
=rv32gc
$< 2> $@
60 define compile_template
62 $$($(1)_p_tests
): $(1)-p-
%: $(1)/%.S
63 $$(RISCV_GCC
) $(2) $$(RISCV_GCC_OPTS
) -I
$(src_dir
)/..
/env
/p
-I
$(src_dir
)/macros
/scalar
-I
$(src_dir
)/macros
/simplev
-T
$(src_dir
)/..
/env
/p
/link.
ld $$< -o
$$@
64 $(1)_tests
+= $$($(1)_p_tests
)
66 $$($(1)_v_tests
): $(1)-v-
%: $(1)/%.S
67 $$(RISCV_GCC
) $(2) $$(RISCV_GCC_OPTS
) -DENTROPY
=0x
$$(shell echo \
$$@ | md5sum | cut
-c
1-7) -std
=gnu99
-O2
-I
$(src_dir
)/..
/env
/v
-I
$(src_dir
)/macros
/scalar
-I
$(src_dir
)/macros
/simplev
-T
$(src_dir
)/..
/env
/v
/link.
ld $(src_dir
)/..
/env
/v
/entry.S
$(src_dir
)/..
/env
/v
/*.c
$$< -o
$$@
68 $(1)_tests
+= $$($(1)_v_tests
)
70 $(1)_tests_dump
= $$(addsuffix .dump
, $$($(1)_tests
))
72 $(1): $$($(1)_tests_dump
)
76 tests
+= $$($(1)_tests
)
80 $(eval
$(call compile_template
,rv32ui
,-march
=rv32g
-mabi
=ilp32
))
81 $(eval
$(call compile_template
,rv32uc
,-march
=rv32g
-mabi
=ilp32
))
82 $(eval
$(call compile_template
,rv32um
,-march
=rv32g
-mabi
=ilp32
))
83 $(eval
$(call compile_template
,rv32ua
,-march
=rv32g
-mabi
=ilp32
))
84 $(eval
$(call compile_template
,rv32uf
,-march
=rv32g
-mabi
=ilp32
))
85 $(eval
$(call compile_template
,rv32ud
,-march
=rv32g
-mabi
=ilp32
))
86 $(eval
$(call compile_template
,rv32si
,-march
=rv32g
-mabi
=ilp32
))
87 $(eval
$(call compile_template
,rv32mi
,-march
=rv32g
-mabi
=ilp32
))
89 $(eval
$(call compile_template
,rv64ui
,-march
=rv64g
-mabi
=lp64
))
90 $(eval
$(call compile_template
,rv64uc
,-march
=rv64g
-mabi
=lp64
))
91 $(eval
$(call compile_template
,rv64um
,-march
=rv64g
-mabi
=lp64
))
92 $(eval
$(call compile_template
,rv64ua
,-march
=rv64g
-mabi
=lp64
))
93 $(eval
$(call compile_template
,rv64uf
,-march
=rv64g
-mabi
=lp64
))
94 $(eval
$(call compile_template
,rv64ud
,-march
=rv64g
-mabi
=lp64
))
95 $(eval
$(call compile_template
,rv64si
,-march
=rv64g
-mabi
=lp64
))
96 $(eval
$(call compile_template
,rv64mi
,-march
=rv64g
-mabi
=lp64
))
99 tests_dump
= $(addsuffix .dump
, $(tests
))
100 tests_hex
= $(addsuffix .hex
, $(tests
))
101 tests_out
= $(addsuffix .out
, $(spike_tests
))
102 tests32_out
= $(addsuffix .out32
, $(spike32_tests
))
104 run
: $(tests_out
) $(tests32_out
)
106 junk
+= $(tests
) $(tests_dump
) $(tests_hex
) $(tests_out
) $(tests32_out
)
108 #------------------------------------------------------------
113 #------------------------------------------------------------