# Tool suffix when cross-compiling GCC_PATH ?= C:/gcc GCCLIB1_PATH ?=$(GCC_PATH)/lib/gcc/arm-none-eabi/10.2.1/thumb/v7-m/nofp GCCLIB2_PATH ?= $(GCC_PATH)/arm-none-eabi/lib/thumb/v7-m/nofp CROSS_COMPILE := $(GCC_PATH)/bin/arm-none-eabi- # Compilation tools CC = $(CROSS_COMPILE)gcc LD = $(CROSS_COMPILE)gcc SIZE = $(CROSS_COMPILE)size STRIP = $(CROSS_COMPILE)strip OBJCOPY = $(CROSS_COMPILE)objcopy OBJDUMP = $(CROSS_COMPILE)objdump GDB = $(CROSS_COMPILE)gdb NM = $(CROSS_COMPILE)gcc-nm AR = $(CROSS_COMPILE)gcc-ar Q := ECHO := @echo # Setup compilation params CFLAGS_CPU ?= -mcpu=cortex-m3 -mthumb CFLAGS_OPTION ?= -std=gnu99 -nostartfiles -mapcs-frame -specs=nano.specs CFLAGS_OPTIMIZE ?= -Os -ffunction-sections -fdata-sections -fno-isolate-erroneous-paths-dereference -freorder-blocks-algorithm=stc CFLAGS_ANALYSIS ?= #-fanalyzer CFLAGS_WARNING ?= -Wall -Wno-format # compiler flags CFLAGS += $(CFLAGS_CPU) $(CFLAGS_OPTION) $(CFLAGS_OPTIMIZE) $(CFLAGS_WARNING) $(CFLAGS_ANALYSIS) -D__CURRENT_FILE_NAME__=$(basename $(@F)) CFLAGS_ASM = -Wall -D__ASSEMBLY__ -mthumb -gdwarf-2 #-mthumb-interwork CFLAGS_DEFS += -DSOFTPACK_VERSION="\"$(SOFTPACK_VERSION)\"" -DHAVE_STRUCT_TIMESPEC DEPFLAGS = -MMD -MP -MT $(basename $@).o -MF $(basename $@).d # linker flags LDFLAGS = --print-memory-usage LDFLAGS += -L $(TOP)/apps/$(PROJECT)