From 4dddf8ef2a7284891cdb273a6f0fd25db37099e2 Mon Sep 17 00:00:00 2001 From: cheapie Date: Wed, 17 Jun 2026 05:07:47 -0500 Subject: Add UK version of railroad crossing Also fix some Makefile issues --- c/rrxing/Makefile | 50 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 12 deletions(-) (limited to 'c/rrxing/Makefile') diff --git a/c/rrxing/Makefile b/c/rrxing/Makefile index 96dba5c..0bc0608 100644 --- a/c/rrxing/Makefile +++ b/c/rrxing/Makefile @@ -1,20 +1,46 @@ -all: rrxing.hex +CC ?= clang +CFLAGS_MARCH ?= -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt +CFLAGS_OPT ?= -O3 +CFLAGS ?= ${CFLAGS_MARCH} ${CFLAGS_OPT} -rrxing.o: rrxing.c - clang -target riscv32-none-elf -I../rvcontroller-libraries -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt -ffreestanding -O3 -c -o rrxing.o rrxing.c +ifeq (${CC}, clang) + CC := ${CC} -target riscv32-none-elf +endif -rrxing.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o rrxing.o - clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o rrxing.elf ../rvcontroller-libraries/rvcontroller-init.o rrxing.o ../rvcontroller-libraries/rvcontroller-ecalls.o +.PHONY: all dump load-uk load-de clean -dump: rrxing.elf - riscv32-none-elf-objdump -d rrxing.elf +all: rrxing-de.hex rrxing-uk.hex -rrxing.hex: rrxing.elf - riscv32-none-elf-objcopy -O ihex rrxing.elf rrxing.hex +rrxing-de.o: rrxing.c + clang -target riscv32-none-elf -I../rvcontroller-libraries -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt -ffreestanding -O3 -c -DRRXING_DE -o rrxing-de.o rrxing.c -load: rrxing.hex - bash -c "wl-copy < rrxing.hex" +rrxing-de.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o rrxing-de.o + clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o rrxing-de.elf ../rvcontroller-libraries/rvcontroller-init.o rrxing-de.o ../rvcontroller-libraries/rvcontroller-ecalls.o + +dump-de: rrxing-de.elf + riscv32-none-elf-objdump -d rrxing-de.elf + +rrxing-de.hex: rrxing-de.elf + riscv32-none-elf-objcopy -O ihex rrxing-de.elf rrxing-de.hex + +load-de: rrxing-de.hex + bash -c "wl-copy < rrxing-de.hex" + +rrxing-uk.o: rrxing.c + clang -target riscv32-none-elf -I../rvcontroller-libraries -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt -ffreestanding -O3 -c -DRRXING_UK -o rrxing-uk.o rrxing.c + +rrxing-uk.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o rrxing-uk.o + clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o rrxing-uk.elf ../rvcontroller-libraries/rvcontroller-init.o rrxing-uk.o ../rvcontroller-libraries/rvcontroller-ecalls.o + +dump-uk: rrxing-uk.elf + riscv32-none-elf-objdump -d rrxing-uk.elf + +rrxing-uk.hex: rrxing-uk.elf + riscv32-none-elf-objcopy -O ihex rrxing-uk.elf rrxing-uk.hex + +load-uk: rrxing-uk.hex + bash -c "wl-copy < rrxing-uk.hex" clean: - rm -f rrxing.bin rrxing.elf rrxing.o init.o + rm -f rrxing-de.hex rrxing-de.elf rrxing-de.o rrxing-uk.hex rrxing-uk.elf rrxing-uk.o init.o -- cgit v1.2.3