1 # SPDX-License-Identifier: GPL-2.0-or-later
3 BIN2C = ../../../../src/helper/bin2char.sh
5 CROSS_COMPILE ?= riscv64-unknown-elf-
7 RISCV_CC=$(CROSS_COMPILE)gcc
8 RISCV_OBJCOPY=$(CROSS_COMPILE)objcopy
9 RISCV_OBJDUMP=$(CROSS_COMPILE)objdump
11 CFLAGS = -nostdlib -nostartfiles -Wall -Werror -Os -fPIC -Wunused-result -g
12 RISCV32_CFLAGS = -march=rv32e -mabi=ilp32e $(CFLAGS)
13 RISCV64_CFLAGS = -march=rv64i -mabi=lp64 $(CFLAGS)
15 all: riscv32_fespi.inc riscv64_fespi.inc
20 riscv32_%.o: riscv_%.c
21 $(RISCV_CC) -c $(RISCV32_CFLAGS) $^ -o $@
23 riscv64_%.o: riscv_%.c
24 $(RISCV_CC) -c $(RISCV64_CFLAGS) $< -o $@
27 riscv32_%.o: riscv_%.S
28 $(RISCV_CC) -c $(RISCV32_CFLAGS) $^ -o $@
30 riscv64_%.o: riscv_%.S
31 $(RISCV_CC) -c $(RISCV64_CFLAGS) $^ -o $@
34 riscv32_%.elf: riscv32_%.o riscv32_wrapper.o
35 $(RISCV_CC) -T riscv.lds $(RISCV32_CFLAGS) $^ -o $@
37 riscv64_%.elf: riscv64_%.o riscv64_wrapper.o
38 $(RISCV_CC) -T riscv.lds $(RISCV64_CFLAGS) $^ -o $@
42 $(RISCV_OBJCOPY) -Obinary $< $@
50 $(RISCV_OBJDUMP) -S $< > $@
53 -rm -f *.elf *.o *.lst *.bin *.inc