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-*