contrib: add GPL license tag on files that miss it
[fw/openocd] / contrib / loaders / flash / fespi / Makefile
1 # SPDX-License-Identifier: GPL-2.0-or-later
2
3 BIN2C = ../../../../src/helper/bin2char.sh
4
5 CROSS_COMPILE ?= riscv64-unknown-elf-
6
7 RISCV_CC=$(CROSS_COMPILE)gcc
8 RISCV_OBJCOPY=$(CROSS_COMPILE)objcopy
9 RISCV_OBJDUMP=$(CROSS_COMPILE)objdump
10
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)
14
15 all: riscv32_fespi.inc riscv64_fespi.inc
16
17 .PHONY: clean
18
19 # .c -> .o
20 riscv32_%.o:  riscv_%.c
21         $(RISCV_CC) -c $(RISCV32_CFLAGS) $^ -o $@
22
23 riscv64_%.o:  riscv_%.c
24         $(RISCV_CC) -c $(RISCV64_CFLAGS) $< -o $@
25
26 # .S -> .o
27 riscv32_%.o:  riscv_%.S
28         $(RISCV_CC) -c $(RISCV32_CFLAGS) $^ -o $@
29
30 riscv64_%.o:  riscv_%.S
31         $(RISCV_CC) -c $(RISCV64_CFLAGS) $^ -o $@
32
33 # .o -> .elf
34 riscv32_%.elf:  riscv32_%.o riscv32_wrapper.o
35         $(RISCV_CC) -T riscv.lds $(RISCV32_CFLAGS) $^ -o $@
36
37 riscv64_%.elf:  riscv64_%.o riscv64_wrapper.o
38         $(RISCV_CC) -T riscv.lds $(RISCV64_CFLAGS) $^ -o $@
39
40 # .elf -> .bin
41 %.bin: %.elf
42         $(RISCV_OBJCOPY) -Obinary $< $@
43
44 # .bin -> .inc
45 %.inc: %.bin
46         $(BIN2C) < $< > $@
47
48 # utility
49 %.lst: %.elf
50         $(RISCV_OBJDUMP) -S $< > $@
51
52 clean:
53         -rm -f *.elf *.o *.lst *.bin *.inc