CROSS = riscv-none-embed- CC = $(CROSS)gcc OBJCOPY = $(CROSS)objcopy ICEPROG = iceprog CFLAGS=-Wall -Os -march=rv32i -mabi=ilp32 -ffreestanding -nostartfiles HEADERS=\ mini-printf.h \ io.h \ usb_desc.h \ usb_desc_data.h SOURCES=\ start.S \ firmware.c \ io.c \ mini-printf.c \ usb_desc.c firmware.elf: lnk-app.lds $(HEADERS) $(SOURCES) $(CC) $(CFLAGS) -Wl,-Bstatic,-T,lnk-app.lds,--strip-debug -o $@ $(SOURCES) boot.elf: lnk-boot.lds boot.S $(CC) $(CFLAGS) -Wl,-Bstatic,-T,lnk-boot.lds,--strip-debug -o $@ boot.S %.hex: %.bin ./bin2hex.py $< $@ %.bin: %.elf $(OBJCOPY) -O binary $< $@ prog_fw: firmware.bin $(ICEPROG) -o 1M $< clean: rm -f *.bin *.hex *.elf