Makefile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. CROSS_COMPILE=riscv32-unknown-elf-
  2. CC=$(CROSS_COMPILE)gcc
  3. LD=$(CROSS_COMPILE)gcc
  4. AR=$(CROSS_COMPILE)ar
  5. AS=$(CROSS_COMPILE)gcc
  6. LSCRIPT=RISCV/env_Eclipse/GD32VF103xB.lds
  7. #LSCRIPT=target.ld
  8. LDFLAGS+=-T $(LSCRIPT) -Wl,-gc-sections -Wl,-Map=image.map -ffreestanding -nostartfiles -fdata-sections -ffunction-sections
  9. CFLAGS+=-fno-builtin-printf -DUSE_M_TIME -g -march=rv32imac -mabi=ilp32 -mcmodel=medlow -fmessage-length=0
  10. #CFLAGS+=--specs=nosys.specs
  11. CFLAGS+=--specs=nano.specs
  12. CFLAGS+=-Os
  13. CFLAGS+=-DGD32VF103C_START
  14. CFLAGS+=-IGD32VF103 -IGD32VF103/Include
  15. CFLAGS+=-I.. -I../include
  16. CFLAGS+=-IRISCV/drivers
  17. OBJS= \
  18. main.o \
  19. start.o \
  20. entry.o \
  21. n200_func.o \
  22. handlers.o \
  23. system_gd32vf103.o \
  24. gd32vf103_adc.o \
  25. gd32vf103_bkp.o \
  26. gd32vf103_can.o \
  27. gd32vf103_crc.o \
  28. gd32vf103_dac.o \
  29. gd32vf103_dbg.o \
  30. gd32vf103_dma.o \
  31. gd32vf103_eclic.o \
  32. gd32vf103_exmc.o \
  33. gd32vf103_exti.o \
  34. gd32vf103_fmc.o \
  35. gd32vf103_fwdgt.o \
  36. gd32vf103_gpio.o \
  37. gd32vf103_i2c.o \
  38. gd32vf103_pmu.o \
  39. gd32vf103_rcu.o \
  40. gd32vf103_rtc.o \
  41. gd32vf103_spi.o \
  42. gd32vf103_timer.o \
  43. gd32vf103_usart.o \
  44. gd32vf103_wwdgt.o \
  45. ff.o \
  46. ffsystem.o \
  47. ffunicode.o \
  48. tf_card.o \
  49. lcd.o \
  50. systick.o
  51. all: image.bin
  52. image.bin: image.elf
  53. $(CROSS_COMPILE)objcopy -O binary $< $@
  54. vpath %.c ./GD32VF103/Source
  55. vpath %.c ./GD32VF103
  56. vpath %.c ./RISCV/drivers
  57. vpath %.c ./RISCV/env_Eclipse
  58. vpath %.c ./fatfs
  59. vpath %.c ./lcd
  60. image.elf: $(OBJS)
  61. @echo [LD] $@
  62. @$(LD) $(CFLAGS) $(LDFLAGS) $(^) -o $(@)
  63. start.o: ./RISCV/env_Eclipse/start.S
  64. @echo [AS] $@
  65. @$(AS) $(CFLAGS) -c -o $(@) $(^)
  66. entry.o: ./RISCV/env_Eclipse/entry.S
  67. @echo [AS] $@
  68. @$(AS) $(CFLAGS) -c -o $(@) $(^)
  69. %.o: %.c
  70. @echo [CC] $@
  71. @$(CC) -o $@ -c $^ $(CFLAGS)
  72. clean:
  73. @echo [CLEAN]
  74. @rm -f $(OBJS)
  75. @rm -f *.bin *.elf