summaryrefslogtreecommitdiff
path: root/c/rrxing/Makefile
diff options
context:
space:
mode:
authorcheapie <cheapiephp@gmail.com>2026-06-17 05:07:47 -0500
committercheapie <cheapiephp@gmail.com>2026-06-17 05:07:47 -0500
commit4dddf8ef2a7284891cdb273a6f0fd25db37099e2 (patch)
tree181bb268c30c0ba34a0195d57fd86ca83fbc302d /c/rrxing/Makefile
parent638c56796678da47fef836fbdd056cfb75a639fc (diff)
downloadrvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.tar
rvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.tar.gz
rvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.tar.bz2
rvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.tar.xz
rvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.zip
Add UK version of railroad crossing
Also fix some Makefile issues
Diffstat (limited to 'c/rrxing/Makefile')
-rw-r--r--c/rrxing/Makefile50
1 files changed, 38 insertions, 12 deletions
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