all: rrxing.hex

rrxing.o: rrxing.c
	riscv32-none-elf-gcc -I../rvcontroller-libraries -march=rv32imcb_zicsr_zbkx -ffreestanding -O3 -c -o rrxing.o rrxing.c

rrxing.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o rrxing.o
	riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o rrxing.elf ../rvcontroller-libraries/rvcontroller-init.o rrxing.o ../rvcontroller-libraries/rvcontroller-ecalls.o

dump: rrxing.elf
	riscv32-none-elf-objdump -d rrxing.elf

rrxing.hex: rrxing.elf
	riscv32-none-elf-objcopy -O ihex rrxing.elf rrxing.hex

load: rrxing.hex
	bash -c "wl-copy < rrxing.hex"

clean:
	rm -f rrxing.bin rrxing.elf rrxing.o init.o

