76 lines
1.4 KiB
Makefile
76 lines
1.4 KiB
Makefile
CC = arm-none-eabi-gcc
|
|
SIZE = arm-none-eabi-size
|
|
OBJCOPY = arm-none-eabi-objcopy
|
|
|
|
COMMON_FLAGS = \
|
|
-mcpu=cortex-m33 \
|
|
-mthumb \
|
|
-mfpu=fpv5-sp-d16 \
|
|
-mfloat-abi=hard \
|
|
-std=c99 \
|
|
-Wall \
|
|
-Wextra \
|
|
-Os \
|
|
-fdata-sections \
|
|
-ffunction-sections \
|
|
-fomit-frame-pointer \
|
|
-imacros sl_gcc_preinclude.h \
|
|
-mcmse \
|
|
-g
|
|
|
|
DEFINES = -DEFR32MG21A020F768IM32
|
|
|
|
INCLUDE += -I include -I../../platform/CMSIS/Core/Include \
|
|
-I../../platform/Device/SiliconLabs/EFR32MG21/Include \
|
|
-I../../platform/common/inc \
|
|
-I ../../platform/common/toolchain/inc \
|
|
-I ../../platform/emlib/inc
|
|
|
|
|
|
CFLAGS := $(COMMON_FLAGS) $(INCLUDE) $(DEFINES)
|
|
|
|
SUBMAKEFILES := emlib.mk
|
|
SOURCES := ../../platform/Device/SiliconLabs/EFR32MG21/Source/system_efr32mg21.c \
|
|
src/main.c
|
|
|
|
|
|
BUILD_DIR := build
|
|
TARGET_DIR := build_output
|
|
|
|
#nosys.specs are required for printf
|
|
LDFLAGS = \
|
|
-mcpu=cortex-m33 \
|
|
-mthumb \
|
|
-mfpu=fpv5-sp-d16 \
|
|
-mfloat-abi=hard \
|
|
-T"linker_script/efr32mg21.ld" \
|
|
--specs=nano.specs \
|
|
--specs=nosys.specs \
|
|
-Xlinker -Map=$(TARGET_DIR)/main.map \
|
|
-Wl,--gc-sections
|
|
|
|
# Startup file
|
|
LDLIBS := ../../platform/Device/SiliconLabs/EFR32MG21/Source/GCC/startup_efr32mg21.S
|
|
|
|
###########
|
|
|
|
GROUP_START =-Wl,--start-group
|
|
GROUP_END =-Wl,--end-group
|
|
|
|
PROJECT_LIBS = \
|
|
-lgcc \
|
|
-lc \
|
|
-lm \
|
|
-lnosys
|
|
|
|
LIBS += $(GROUP_START) $(PROJECT_LIBS) $(GROUP_END)
|
|
|
|
TGT_LDFLAGS += $(LIBS)
|
|
##########
|
|
|
|
TARGET := main.elf
|
|
|
|
size: $(TARGET_DIR)/main.elf
|
|
$(SIZE) $(TARGET_DIR)/main.elf
|
|
|
|
|