Makefile 517 B

1234567891011121314151617181920212223242526272829303132
  1. PREFIX=/opt/ddca_asm/riscv/bin/riscv32-unknown-elf
  2. CC=${PREFIX}-gcc
  3. AS=${PREFIX}-as
  4. LD=${PREFIX}-ld -N --section-start=.text=0x0 -no-relex
  5. AR=${PREFIX}-ar
  6. OBJCOPY=${PREFIX}-objcopy
  7. FILES=$(wildcard *.S)
  8. all: $(FILES:.S=.imem.mif) $(FILES:.S=.dmem.mif)
  9. %.o: %.S
  10. ${AS} $< -o $@
  11. %.elf: %.o
  12. ${LD} $^ -o $@
  13. %.imem.hex : %.elf
  14. ${OBJCOPY} -j .text -O ihex $< $@
  15. %.dmem.hex : %.elf
  16. ${OBJCOPY} -j .rodata -O ihex $< $@
  17. %.mif : %.hex
  18. ./hex2mif.pl < $< > $@
  19. clean:
  20. rm -rf *.o *.elf *.hex *.mif
  21. .PHONY: clean all