623e42576edce4fb8c02199cd3cd7211177d7007
[fw/openocd] / contrib / loaders / checksum / Makefile
1 BIN2C = ../../../src/helper/bin2char.sh
2
3 ARM_CROSS_COMPILE ?= arm-none-eabi-
4 ARM_AS      ?= $(ARM_CROSS_COMPILE)as
5 ARM_OBJCOPY ?= $(ARM_CROSS_COMPILE)objcopy
6
7 ARM_AFLAGS = -EL
8
9 RISCV_CROSS_COMPILE ?= riscv64-unknown-elf-
10 RISCV_CC      ?= $(RISCV_CROSS_COMPILE)gcc
11 RISCV_OBJCOPY ?= $(RISCV_CROSS_COMPILE)objcopy
12 RISCV32_CFLAGS = -march=rv32e -mabi=ilp32e -nostdlib -nostartfiles -Os -fPIC
13 RISCV64_CFLAGS = -march=rv64i -mabi=lp64 -nostdlib -nostartfiles -Os -fPIC
14
15 all:    arm riscv
16
17 arm: armv4_5_crc.inc armv7m_crc.inc
18
19 riscv:  riscv32_crc.inc riscv64_crc.inc
20
21 armv4_5_%.elf: armv4_5_%.s
22         $(ARM_AS) $(ARM_AFLAGS) $< -o $@
23
24 armv4_5_%.bin: armv4_5_%.elf
25         $(ARM_OBJCOPY) -Obinary $< $@
26
27 armv7m_%.elf: armv7m_%.s
28         $(ARM_AS) $(ARM_AFLAGS) $< -o $@
29
30 armv7m_%.bin: armv7m_%.elf
31         $(ARM_OBJCOPY) -Obinary $< $@
32
33 %.inc: %.bin
34         $(BIN2C) < $< > $@
35
36 riscv32_%.elf:  riscv_%.c
37         $(RISCV_CC) $(RISCV32_CFLAGS) $< -o $@
38
39 riscv64_%.elf:  riscv_%.c
40         $(RISCV_CC) $(RISCV64_CFLAGS) $< -o $@
41
42 riscv%.bin:     riscv%.elf
43         $(RISCV_OBJCOPY) -Obinary $< $@
44
45 clean:
46         -rm -f *.elf *.bin *.inc