Makefile 905 B

123456789101112131415161718192021222324252627282930313233343536
  1. CROSS_COMPILE:=arm-none-eabi-
  2. CC:=$(CROSS_COMPILE)gcc
  3. LD:=$(CROSS_COMPILE)gcc
  4. OBJS:=startup.o main.o system.o button.o usart.o img/chili.o cga_8x8.o
  5. LSCRIPT:=target-f103.ld
  6. OBJCOPY:=$(CROSS_COMPILE)objcopy
  7. UMX:=unicore-mx/lib/libucmx_stm32f1.a
  8. UMXFLAGS:=-Iunicore-mx/include/ -DSTM32F1
  9. CFLAGS:=-mcpu=cortex-m3 -mthumb -g -ggdb -Wall -Wno-main -Wstack-usage=200 -ffreestanding -Wno-unused $(UMXFLAGS) -nostdlib
  10. ASFLAGS+=-mthumb -mlittle-endian -mthumb-interwork -ggdb -ffreestanding -mcpu=cortex-m3
  11. LDFLAGS:=-T $(LSCRIPT) -Wl,-gc-sections -Wl,-Map=image.map -nostdlib
  12. #all: image.bin
  13. image.bin: image.elf
  14. $(OBJCOPY) -O binary $^ $@
  15. image.elf: $(UMX) $(OBJS) $(LSCRIPT)
  16. $(LD) $(LDFLAGS) $(OBJS) $(UMX) -o $@
  17. $(UMX):
  18. make -C unicore-mx FP_FLAGS="-mfloat-abi=soft" PREFIX=arm-frosted-eabi TARGETS=stm32/f1
  19. startup.o: startup.c
  20. main.o: main.c
  21. clean:
  22. rm -f image.bin image.elf *.o image.map