Makefile 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. CROSS_COMPILE:=arm-none-eabi-
  2. CC:=$(CROSS_COMPILE)gcc
  3. LD:=$(CROSS_COMPILE)gcc
  4. VERSION?=1
  5. OBJS:=startup.o main.o system.o mem.o led.o \
  6. i2c.o display.o font_twisted.o button.o systick.o newlib.o uart.o ui.o timer.o\
  7. mutex.o ui_tester.o adc.o spi.o
  8. UMX:=lib/unicore-mx/lib/libucmx_stm32f4.a
  9. UMXFLAGS:=-Ilib/unicore-mx/include/ -DSTM32F4
  10. LIBS+=$(UMX)
  11. LSCRIPT:=target.ld
  12. OBJCOPY:=$(CROSS_COMPILE)objcopy
  13. CFLAGS:=-mcpu=cortex-m3 -mthumb -Wall -Wno-main -Wstack-usage=320 \
  14. -ffreestanding -Wno-unused -DBLOCK_SIZE=4096 -I. -Ilib/unicore-mx/include \
  15. -ffunction-sections -fdata-sections
  16. CFLAGS+=-specs=nano.specs -lc -lg
  17. CFLAGS+=$(UMXFLAGS)
  18. CFLAGS+=-O3
  19. #CFLAGS+=-g -ggdb3
  20. ASFLAGS:=$(CFLAGS)
  21. LDFLAGS:=-T $(LSCRIPT) -Wl,-gc-sections -Wl,-Map=image.map -mcpu=cortex-m3 -mthumb -nostartfiles
  22. #all: image.bin
  23. image.bin: image.elf
  24. $(OBJCOPY) -O binary $^ $@
  25. image.elf: $(LIBS) $(OBJS) $(LSCRIPT)
  26. $(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
  27. $(UMX):
  28. make -C lib/unicore-mx FP_FLAGS="-O3 -mfloat-abi=soft" TARGETS=stm32/f4
  29. clean:
  30. @rm -f image.bin image.elf *.o image.map $(USECFS)/src/*.o
  31. make -C lib/unicore-mx clean