summaryrefslogtreecommitdiff
path: root/c/gol/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'c/gol/Makefile')
-rw-r--r--c/gol/Makefile20
1 files changed, 20 insertions, 0 deletions
diff --git a/c/gol/Makefile b/c/gol/Makefile
new file mode 100644
index 0000000..54e4d4a
--- /dev/null
+++ b/c/gol/Makefile
@@ -0,0 +1,20 @@
+all: gol.hex
+
+gol.o: gol.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 gol.o gol.c
+
+gol.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o gol.o
+ riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o gol.elf ../rvcontroller-libraries/rvcontroller-init.o gol.o ../rvcontroller-libraries/rvcontroller-ecalls.o
+
+dump: gol.elf
+ riscv32-none-elf-objdump -d gol.elf
+
+gol.hex: gol.elf
+ riscv32-none-elf-objcopy -O ihex gol.elf gol.hex
+
+load: gol.hex
+ bash -c "wl-copy < gol.hex"
+
+clean:
+ rm -f gol.bin gol.elf gol.o init.o
+