Ai-Thinker-Open_RTL8710BX_A.../Living_SDK/build/aos_toolchain_iar.mk
2020-06-18 22:04:32 +08:00

92 lines
3.6 KiB
Makefile

TOOLCHAIN_PATH ?=
TOOLCHAIN_PREFIX :=
CC := $(TOOLCHAIN_PATH)iccarm
CXX := $(TOOLCHAIN_PATH)iccarm
AS := $(TOOLCHAIN_PATH)iasmarm
AR := $(TOOLCHAIN_PATH)iarchive
LD := $(TOOLCHAIN_PATH)ilinkarm
CPP := $(TOOLCHAIN_PATH)iccarm
OPTIONS_IN_FILE_OPTION_PREFIX_DIRECT = $
OPTIONS_IN_FILE_OPTION_PREFIX = $$
OPTIONS_IN_FILE_OPTION = (file <
OPTIONS_IN_FILE_OPTION_SUFFIX = )
OBJCOPYFLAGS := --bin --output=
ADD_COMPILER_SPECIFIC_STANDARD_CFLAGS =
ADD_COMPILER_SPECIFIC_STANDARD_CXXFLAGS =
ADD_COMPILER_SPECIFIC_STANDARD_ADMFLAGS = $(1)
COMPILER_SPECIFIC_OPTIMIZED_CFLAGS := -Os
COMPILER_SPECIFIC_UNOPTIMIZED_CFLAGS := -O0
COMPILER_SPECIFIC_PEDANTIC_CFLAGS := $(COMPILER_SPECIFIC_STANDARD_CFLAGS)
COMPILER_SPECIFIC_ARFLAGS_CREATE := --create
COMPILER_SPECIFIC_ARFLAGS_ADD := --create
COMPILER_SPECIFIC_ARFLAGS_VERBOSE := -V
#debug: no optimize and log enable
COMPILER_SPECIFIC_DEBUG_CFLAGS := -DDEBUG -Dgdb $(COMPILER_SPECIFIC_UNOPTIMIZED_CFLAGS)
COMPILER_SPECIFIC_DEBUG_CXXFLAGS := -DDEBUG -Dgdb $(COMPILER_SPECIFIC_UNOPTIMIZED_CFLAGS)
COMPILER_SPECIFIC_DEBUG_ASFLAGS :=
COMPILER_SPECIFIC_DEBUG_LDFLAGS :=
#release_log: optimize but log enable
COMPILER_SPECIFIC_RELEASE_LOG_CFLAGS := -Dgdb $(COMPILER_SPECIFIC_OPTIMIZED_CFLAGS)
COMPILER_SPECIFIC_RELEASE_LOG_CXXFLAGS := -Dgdb $(COMPILER_SPECIFIC_OPTIMIZED_CFLAGS)
COMPILER_SPECIFIC_RELEASE_LOG_ASFLAGS :=
COMPILER_SPECIFIC_RELEASE_LOG_LDFLAGS :=
#release: optimize and log disable
COMPILER_SPECIFIC_RELEASE_CFLAGS := -DNDEBUG $(COMPILER_SPECIFIC_OPTIMIZED_CFLAGS)
COMPILER_SPECIFIC_RELEASE_CXXFLAGS := -DNDEBUG $(COMPILER_SPECIFIC_OPTIMIZED_CFLAGS)
COMPILER_SPECIFIC_RELEASE_ASFLAGS :=
COMPILER_SPECIFIC_RELEASE_LDFLAGS :=
# -MD -> --dependencies xx.d
COMPILER_SPECIFIC_DEPS_FLAG := -e --dlib_config=full -D_TIMESPEC_DEFINED --silent --only_stdout --no_warnings --diag_warning=Pe167,Pe144,Pe513
COMPILER_SPECIFIC_COMP_ONLY_FLAG :=
COMPILER_SPECIFIC_LINK_MAP = --map $(1)
COMPILER_SPECIFIC_LINK_FILES = $(addprefix --whole_archive , $(filter-out %alicrypto.a,$(1))) $(filter %alicrypto.a,$(1))
COMPILER_SPECIFIC_LINK_SCRIPT_DEFINE_OPTION =
COMPILER_SPECIFIC_LINK_SCRIPT =
LINKER := $(LD)
LINK_SCRIPT_SUFFIX := .icf
TOOLCHAIN_NAME := iar
ENDIAN_CFLAGS_LITTLE := --littleend
ENDIAN_CXXFLAGS_LITTLE := --littleend
ENDIAN_ASMFLAGS_LITTLE :=
ENDIAN_LDFLAGS_LITTLE := --littleend
CLIB_LDFLAGS_NANO :=
CLIB_LDFLAGS_NANO_FLOAT:=
# Chip specific flags for compiler
CPU_CFLAGS :=
CPU_CXXFLAGS :=
CPU_ASMFLAGS :=
CPU_LDFLAGS :=
# $(1) is map file, $(2) is CSV output file
#COMPILER_SPECIFIC_MAPFILE_TO_CSV = $(PYTHON) $(MAPFILE_PARSER) $(1) > $(2)
#TODO
#MAPFILE_PARSER :=$(MAKEFILES_PATH)/scripts/map_parse_armcc.py
# $(1) is map file, $(2) is CSV output file
# iar map file format is different
#COMPILER_SPECIFIC_MAPFILE_DISPLAY_SUMMARY = $(PYTHON) $(MAPFILE_PARSER) $(1)
OBJDUMP := "$(TOOLCHAIN_PATH)$(TOOLCHAIN_PREFIX)ielfdumparm$(EXECUTABLE_SUFFIX)"
OBJCOPY := "$(TOOLCHAIN_PATH)$(TOOLCHAIN_PREFIX)ielftool$(EXECUTABLE_SUFFIX)"
# -R .eh_frame -R .init -R .fini -R .comment -R .ARM.attributes -> iobjmanip --remvoe_secton
OBJCOPY_BIN_FLAGS := --bin --silent
OBJCOPY_HEX_FLAGS := --ihex --silent
#no need to strip in arm fromelf
STRIP := "$(TOOLCHAIN_PATH)ielftool"
STRIPFLAGS := --strip --silent
LINK_OUTPUT_SUFFIX :=.iarElf
BIN_OUTPUT_SUFFIX :=.bin
HEX_OUTPUT_SUFFIX :=.hex