all: bigfib.hex

bigfib.o: bigfib.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 bigfib.o bigfib.c

bigfib.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o bigfib.o
	clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o bigfib.elf ../rvcontroller-libraries/rvcontroller-init.o bigfib.o ../rvcontroller-libraries/rvcontroller-ecalls.o

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

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

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

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

