Makefile 1.3 KB

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