summaryrefslogtreecommitdiff
path: root/c/gol/Makefile
blob: 54e4d4ab11d75f7e0cdfe0b9c42a6512fa636ba6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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