2025-04-11 09:40:32 +08:00

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)