Makefile 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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_drone.o adc.o spi.o pot.o dac.o sound.o drone.o settings.o
  8. UMX:=lib/unicore-mx/lib/libucmx_stm32f4.a
  9. UMXFLAGS:=-Ilib/unicore-mx/include/ -DSTM32F4
  10. LIBS+=$(UMX)
  11. OBJS+=drumkit_0.o drumkit_1.o drumkit_2.o drumkit_3.o drumkit_4.o drumkit_5.o drumkit_6.o drums.o
  12. LSCRIPT:=target.ld
  13. OBJCOPY:=$(CROSS_COMPILE)objcopy
  14. CFLAGS:=-mcpu=cortex-m3 -mthumb -Wall -Wno-main -Wstack-usage=320 \
  15. -ffreestanding -Wno-unused -DBLOCK_SIZE=4096 -I. -Ilib/unicore-mx/include \
  16. -ffunction-sections -fdata-sections
  17. CFLAGS+=-specs=nano.specs -lc -lg
  18. CFLAGS+=$(UMXFLAGS)
  19. #CFLAGS+=-O3
  20. CFLAGS+=-g -ggdb3
  21. ASFLAGS:=$(CFLAGS)
  22. LDFLAGS:=-T $(LSCRIPT) -Wl,-gc-sections -Wl,-Map=image.map -mcpu=cortex-m3 -mthumb -nostartfiles
  23. #all: image.bin
  24. image.bin: image.elf
  25. $(OBJCOPY) -O binary $^ $@
  26. image.elf: $(LIBS) $(OBJS) $(LSCRIPT)
  27. $(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
  28. $(UMX):
  29. make -C lib/unicore-mx FP_FLAGS="-O3 -mfloat-abi=soft" TARGETS=stm32/f4
  30. clean:
  31. @rm -f image.bin image.elf *.o image.map $(USECFS)/src/*.o
  32. make -C lib/unicore-mx clean