edecf0a729b10208d39b7d78527c54653aca1460
[fw/openocd] / contrib / loaders / flash / fespi / Makefile
1 BIN2C = ../../../../src/helper/bin2char.sh
2
3 CROSS_COMPILE ?= riscv64-unknown-elf-
4
5 RISCV_CC=$(CROSS_COMPILE)gcc
6 RISCV_OBJCOPY=$(CROSS_COMPILE)objcopy
7 RISCV_OBJDUMP=$(CROSS_COMPILE)objdump
8
9 CFLAGS = -nostdlib -nostartfiles -Wall -Werror -Os -fPIC -Wunused-result -g
10 RISCV32_CFLAGS = -march=rv32e -mabi=ilp32e $(CFLAGS)
11 RISCV64_CFLAGS = -march=rv64i -mabi=lp64 $(CFLAGS)
12
13 all: riscv32_fespi.inc riscv64_fespi.inc
14
15 .PHONY: clean
16
17 # .c -> .o
18 riscv32_%.o:  riscv_%.c
19         $(RISCV_CC) -c $(RISCV32_CFLAGS) $^ -o $@
20
21 riscv64_%.o:  riscv_%.c
22         $(RISCV_CC) -c $(RISCV64_CFLAGS) $< -o $@
23
24 # .S -> .o
25 riscv32_%.o:  riscv_%.S
26         $(RISCV_CC) -c $(RISCV32_CFLAGS) $^ -o $@
27
28 riscv64_%.o:  riscv_%.S
29         $(RISCV_CC) -c $(RISCV64_CFLAGS) $^ -o $@
30
31 # .o -> .elf
32 riscv32_%.elf:  riscv32_%.o riscv32_wrapper.o
33         $(RISCV_CC) -T riscv.lds $(RISCV32_CFLAGS) $^ -o $@
34
35 riscv64_%.elf:  riscv64_%.o riscv64_wrapper.o
36         $(RISCV_CC) -T riscv.lds $(RISCV64_CFLAGS) $^ -o $@
37
38 # .elf -> .bin
39 %.bin: %.elf
40         $(RISCV_OBJCOPY) -Obinary $< $@
41
42 # .bin -> .inc
43 %.inc: %.bin
44         $(BIN2C) < $< > $@
45
46 # utility
47 %.lst: %.elf
48         $(RISCV_OBJDUMP) -S $< > $@
49
50 clean:
51         -rm -f *.elf *.o *.lst *.bin *.inc