45 lines
1.3 KiB
Makefile
45 lines
1.3 KiB
Makefile
|
# 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)
|