summaryrefslogtreecommitdiff
path: root/c/randomcolor/Makefile
diff options
context:
space:
mode:
authorcheapie <cheapiephp@gmail.com>2026-05-29 13:51:52 -0500
committercheapie <cheapiephp@gmail.com>2026-05-29 13:51:52 -0500
commit6319f57bd1f622aa61e73e172dec25150203ac84 (patch)
treebdd007a7191a501ebce7c6883061c0e6fec11d36 /c/randomcolor/Makefile
parent8ae725e76f5032ea216673a87a43b5e3ba8358d6 (diff)
downloadrvcontroller-6319f57bd1f622aa61e73e172dec25150203ac84.tar
rvcontroller-6319f57bd1f622aa61e73e172dec25150203ac84.tar.gz
rvcontroller-6319f57bd1f622aa61e73e172dec25150203ac84.tar.bz2
rvcontroller-6319f57bd1f622aa61e73e172dec25150203ac84.tar.xz
rvcontroller-6319f57bd1f622aa61e73e172dec25150203ac84.zip
Add random-color display example
Diffstat (limited to 'c/randomcolor/Makefile')
-rw-r--r--c/randomcolor/Makefile34
1 files changed, 34 insertions, 0 deletions
diff --git a/c/randomcolor/Makefile b/c/randomcolor/Makefile
new file mode 100644
index 0000000..fbf70fd
--- /dev/null
+++ b/c/randomcolor/Makefile
@@ -0,0 +1,34 @@
+CC ?= clang
+CFLAGS_MARCH ?= -march=rv32imacbzicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt
+CFLAGS_OPT ?= -O3
+CFLAGS ?= ${CFLAGS_MARCH} ${CFLAGS_OPT}
+
+# Big-endian just for the sake of being weird
+
+ifeq (${CC}, clang)
+ CC := ${CC} -target riscv32be-none-elf
+endif
+
+.PHONY: all dump load clean
+
+all: randomcolor.hex
+
+randomcolor.o: randomcolor.c
+ ${CC} -I../rvcontroller-libraries ${CFLAGS} -ffreestanding -c -o randomcolor.o randomcolor.c
+
+
+randomcolor.elf: ../rvcontroller-libraries/rvcontroller-init-be.o ../rvcontroller-libraries/rvcontroller-ecalls-be.o randomcolor.o
+ ${CC} -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o randomcolor.elf ../rvcontroller-libraries/rvcontroller-init-be.o ../rvcontroller-libraries/rvcontroller-ecalls-be.o randomcolor.o
+
+dump: randomcolor.elf
+ riscv32be-none-elf-objdump -d randomcolor.elf
+
+randomcolor.hex: randomcolor.elf
+ riscv32be-none-elf-objcopy -O ihex randomcolor.elf randomcolor.hex
+
+load: randomcolor.hex
+ bash -c "wl-copy < randomcolor.hex"
+
+clean:
+ rm -f randomcolor.bin randomcolor.elf randomcolor.o
+