| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | OUTPUTDIR = $(BUILDDIR)/../../../outputDEPDIR = $(BUILDDIR)/.depPWD = $(shell pwd)COMMONFLAGS = -mcpu=cortex-m4 -mthumb -ggdb3CFLAGS += $(COMMONFLAGS) -Os $(INCLUDES) -I.CFLAGS += -std=gnu99 -Wall -Wextra -static -fdata-sections -ffunction-sections -fno-hosted -fno-builtinCFLAGS += -nostdlib -nodefaultlibs -fstack-usageCFLAGS += -mapcs-frame -msoft-floatCFLAGS += -Werror-implicit-function-declaration -Werror=char-subscripts #-Werror=incompatible-pointer-typesCFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).dLDFLAGS = $(COMMONFLAGS) -staticLDFLAGS += -fno-exceptions -ffunction-sections -fdata-sectionsLDFLAGS += -static -Xlinker --gc-sectionsLDFLAGS += -Wl,-Map=$(BUILDDIR)/$(TARGET).map,--crefLDFLAGS += -Wl,--undefined=uxTopUsedPriority	# openocd freertos supportASFLAGS = $(COMMONFLAGS)CROSS = arm-none-eabiGCC = $(CROSS)-gccAS = $(CROSS)-asSIZE = $(CROSS)-sizeOBJCOPY = $(CROSS)-objcopyOBJDUMP = $(CROSS)-objdumpNM = $(CROSS)-nmCOBJ = $(addprefix $(BUILDDIR)/, $(CSRC:.c=.c.o))ASMOBJ = $(addprefix $(BUILDDIR)/, $(ASMSRC:.s=.s.o))OBJ = $(COBJ) $(ASMOBJ)V = $(if $(VERBOSE), , @)VCS = svnall: prebuild $(BUILDDIR)/$(TARGET).bin postbuild	@$(SIZE) $(BUILDDIR)/$(TARGET).elf	@$(SIZE) $(BUILDDIR)/$(TARGET).elf -A | awk '/.data/ || /.bss/ || /.memory_b1_text/ {sum+=$$2} END{per=sum/192/1024*100 ; print "RAM: "  per"% ", sum " bytes (" 192*1024-sum " bytes free )"}'	@$(SIZE) $(BUILDDIR)/$(TARGET).elf -A | awk '/.fill/ {fill=$$2} END{per=(384*1024-fill)/384/1024*100 ; print "FLASH: "  per"% ", 384*1024-fill " bytes (" fill " bytes free)"}' 	@echo =======================================================================$(BUILDDIR)/$(TARGET).bin: $(BUILDDIR)/$(TARGET).elf	@$(OBJCOPY) -O binary $(BUILDDIR)/$(TARGET).elf $(BUILDDIR)/$(TARGET).bin	@$(OBJCOPY) -O ihex $(BUILDDIR)/$(TARGET).elf $(BUILDDIR)/$(TARGET).hex	@$(OBJDUMP) -h -S -z $(BUILDDIR)/$(TARGET).elf > $(BUILDDIR)/$(TARGET).lss	@$(NM) -n $(BUILDDIR)/$(TARGET).elf > $(BUILDDIR)/$(TARGET).sym	@mkdir -p $(OUTPUTDIR)	@cp $(BUILDDIR)/$(TARGET).bin $(OUTPUTDIR)	$(BUILDDIR)/$(TARGET).elf: $(OBJ)	@echo Linking $@	$(V)$(GCC) $(LDFLAGS) -T $(PWD)/$(LDSCRIPT) -o $@ $(OBJ)$(COBJ): $(BUILDDIR)/%.c.o : %.c	@echo Compiling $<	@-mkdir -p $(@D)	$(V)$(GCC) $(CFLAGS) -c $< -o $@$(ASMOBJ): $(BUILDDIR)/%.s.o : %.s	@echo Assembling $<	@-mkdir -p $(@D)	$(V)$(AS) $(ASFLAGS) -c ./$< -o $@-include $(shell mkdir -p $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*).PHONY: clean outputclean:	rm -rf $(BUILDDIR)
 |