/ test / external / riscv-tests / Makefile
Makefile
 1  
 2  ISA_TESTS_DIR := riscv-tests/isa
 3  ENV_DIR := environment/custom
 4  
 5  include riscv-tests/isa/rv32ui/Makefrag
 6  include riscv-tests/isa/rv32um/Makefrag
 7  include riscv-tests/isa/rv32ua/Makefrag
 8  include riscv-tests/isa/rv32uc/Makefrag
 9  include riscv-tests/isa/rv32uzba/Makefrag
10  include riscv-tests/isa/rv32uzbb/Makefrag
11  include riscv-tests/isa/rv32uzbc/Makefrag
12  include riscv-tests/isa/rv32uzbs/Makefrag
13  
14  RISCV_PREFIX ?= riscv64-unknown-elf-
15  RISCV_GCC ?= $(RISCV_PREFIX)gcc
16  RISCV_GCC_OPTS ?= -static -mcmodel=medany -fvisibility=hidden -nostdlib -nostartfiles
17  
18  define compile_template
19  
20  test-$(1)-%: $${ISA_TESTS_DIR}/$(1)/%.S
21  	$${RISCV_GCC} $${RISCV_GCC_OPTS} $(2) -I$${ISA_TESTS_DIR}/macros/scalar -I$${ENV_DIR} -T$${ENV_DIR}/link.ld $$< -o $$@
22  
23  endef
24  
25  $(eval $(call compile_template,rv32ui,-mabi=ilp32 -march=rv32i_zifencei))
26  $(eval $(call compile_template,rv32um,-mabi=ilp32 -march=rv32im_zifencei))
27  $(eval $(call compile_template,rv32ua,-mabi=ilp32 -march=rv32ia_zifencei))
28  $(eval $(call compile_template,rv32uc,-mabi=ilp32 -march=rv32ic_zifencei))
29  $(eval $(call compile_template,rv32uzba,-mabi=ilp32 -march=rv32i_zba_zifencei))
30  $(eval $(call compile_template,rv32uzbb,-mabi=ilp32 -march=rv32i_zbb_zifencei))
31  $(eval $(call compile_template,rv32uzbc,-mabi=ilp32 -march=rv32i_zbc_zifencei))
32  $(eval $(call compile_template,rv32uzbs,-mabi=ilp32 -march=rv32i_zbs_zifencei))
33  
34  all: $(addprefix test-rv32ui-,${rv32ui_sc_tests}) $(addprefix test-rv32um-,${rv32um_sc_tests}) $(addprefix test-rv32ua-,${rv32ua_sc_tests}) $(addprefix test-rv32uc-,${rv32uc_sc_tests}) $(addprefix test-rv32uzba-,${rv32uzba_sc_tests}) $(addprefix test-rv32uzbb-,${rv32uzbb_sc_tests}) $(addprefix test-rv32uzbc-,${rv32uzbc_sc_tests}) $(addprefix test-rv32uzbs-,${rv32uzbs_sc_tests})
35  
36  clean:
37  	rm test-*