MARCH ?= rv32imacbzicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt

.PHONY: all dump load clean

all: crosswalk.hex

crosswalk.o: crosswalk.S
	riscv32-none-elf-as -I../rvcontroller-libraries -march=${MARCH} -o crosswalk.o crosswalk.S

crosswalk.elf:  crosswalk.o
	riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o crosswalk.elf crosswalk.o

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

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

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

clean:
	rm -f crosswalk.hex crosswalk.elf crosswalk.o

