Makefile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. CROSS_COMPILE:=arm-none-eabi-
  2. CC:=$(CROSS_COMPILE)gcc
  3. LD:=$(CROSS_COMPILE)gcc
  4. OBJS:=startup.o main.o stm32f7_ltdc.o stm32f7_sdram.o systick.o system.o button.o cga_8x8.o palette_256_xterm.o ui.o mpu.o timer.o led.o adc.o ft5336.o touchscreen.o task.o \
  5. scr-logging.o \
  6. scr-deck.o \
  7. ksp-serial.o \
  8. trig.o \
  9. stm32746g_discovery.o \
  10. stm32-hal/src/stm32f7xx_hal_gpio.o \
  11. stm32-hal/src/stm32f7xx_hal.o \
  12. stm32-hal/src/stm32f7xx_hal_cortex.o \
  13. stm32-hal/src/stm32f7xx_hal_rcc.o \
  14. stm32-hal/src/stm32f7xx_hal_rcc_ex.o \
  15. stm32-hal/src/stm32f7xx_hal_i2c.o \
  16. stm32-hal/src/stm32f7xx_hal_dma.o
  17. LSCRIPT:=target-f746.ld
  18. OBJCOPY:=$(CROSS_COMPILE)objcopy
  19. UMX:=unicore-mx/lib/libucmx_stm32f7.a
  20. UMXFLAGS:=-Iunicore-mx/include/ -DSTM32F7
  21. CFLAGS:=-mcpu=cortex-m7 -mthumb \
  22. -Wall -Wno-main -Wstack-usage=200 -ffreestanding -Wno-unused $(UMXFLAGS) -DSTM32F746xx -I. -Istm32-hal/include -mfpu=fpv5-d16 -mfloat-abi=hard
  23. #CFLAGS+=-O0 -g -ggdb3
  24. CFLAGS+=-O2
  25. ASFLAGS+=-mthumb -mlittle-endian -mthumb-interwork -ggdb -ffreestanding -mcpu=cortex-m7
  26. LDFLAGS:=-lm -T $(LSCRIPT) -Wl,-gc-sections -Wl,-Map=image.map -lm -lc -lg -specs=nano.specs -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -u _printf_float -lrdimon
  27. #all: image.bin
  28. image.bin: image.elf
  29. $(OBJCOPY) -O binary $^ $@
  30. image.elf: $(UMX) $(OBJS) $(LSCRIPT)
  31. $(LD) $(LDFLAGS) $(OBJS) $(UMX) -o $@
  32. $(UMX):
  33. make -C unicore-mx FP_FLAGS= PREFIX=arm-frosted-eabi TARGETS=stm32/f7
  34. startup.o: startup.c
  35. main.o: main.c
  36. clean:
  37. rm -f image.bin image.elf *.o image.map
  38. find . |grep "\.o$$" | xargs -x rm -f