2022-08-30 17:20:16 -05:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2016-05-08 13:41:51 -05:00
|
|
|
BIN2C = ../../../src/helper/bin2char.sh
|
|
|
|
|
|
|
|
ARM_CROSS_COMPILE ?= arm-none-eabi-
|
|
|
|
ARM_AS ?= $(ARM_CROSS_COMPILE)as
|
|
|
|
ARM_OBJCOPY ?= $(ARM_CROSS_COMPILE)objcopy
|
|
|
|
|
2016-05-21 17:41:15 -05:00
|
|
|
ARM_AFLAGS = -EL
|
|
|
|
|
2021-03-03 14:41:03 -06:00
|
|
|
RISCV_CROSS_COMPILE ?= riscv64-unknown-elf-
|
|
|
|
RISCV_CC ?= $(RISCV_CROSS_COMPILE)gcc
|
|
|
|
RISCV_OBJCOPY ?= $(RISCV_CROSS_COMPILE)objcopy
|
|
|
|
RISCV32_CFLAGS = -march=rv32e -mabi=ilp32e -nostdlib -nostartfiles -Os -fPIC
|
|
|
|
RISCV64_CFLAGS = -march=rv64i -mabi=lp64 -nostdlib -nostartfiles -Os -fPIC
|
|
|
|
|
|
|
|
all: arm riscv
|
|
|
|
|
2016-05-08 13:12:12 -05:00
|
|
|
arm: armv4_5_crc.inc armv7m_crc.inc
|
|
|
|
|
2021-03-03 14:41:03 -06:00
|
|
|
riscv: riscv32_crc.inc riscv64_crc.inc
|
|
|
|
|
2016-05-08 13:12:12 -05:00
|
|
|
armv4_5_%.elf: armv4_5_%.s
|
2016-05-21 17:41:15 -05:00
|
|
|
$(ARM_AS) $(ARM_AFLAGS) $< -o $@
|
2016-05-08 13:12:12 -05:00
|
|
|
|
|
|
|
armv4_5_%.bin: armv4_5_%.elf
|
|
|
|
$(ARM_OBJCOPY) -Obinary $< $@
|
|
|
|
|
2016-05-08 13:41:51 -05:00
|
|
|
armv7m_%.elf: armv7m_%.s
|
2016-05-21 17:41:15 -05:00
|
|
|
$(ARM_AS) $(ARM_AFLAGS) $< -o $@
|
2016-05-08 13:41:51 -05:00
|
|
|
|
|
|
|
armv7m_%.bin: armv7m_%.elf
|
|
|
|
$(ARM_OBJCOPY) -Obinary $< $@
|
|
|
|
|
2021-03-03 14:41:03 -06:00
|
|
|
%.inc: %.bin
|
2016-05-08 13:41:51 -05:00
|
|
|
$(BIN2C) < $< > $@
|
|
|
|
|
2021-03-03 14:41:03 -06:00
|
|
|
riscv32_%.elf: riscv_%.c
|
|
|
|
$(RISCV_CC) $(RISCV32_CFLAGS) $< -o $@
|
|
|
|
|
|
|
|
riscv64_%.elf: riscv_%.c
|
|
|
|
$(RISCV_CC) $(RISCV64_CFLAGS) $< -o $@
|
|
|
|
|
|
|
|
riscv%.bin: riscv%.elf
|
|
|
|
$(RISCV_OBJCOPY) -Obinary $< $@
|
|
|
|
|
2016-05-08 13:41:51 -05:00
|
|
|
clean:
|
|
|
|
-rm -f *.elf *.bin *.inc
|