zephyr/arch/xtensa/Makefile
Mazen NEIFER 1cded67f38 Xtensa port: Started port to for Xtensa cores family.
Added arch sub folder, make files and Kconfig files for a set of standard SoCs.

Change-Id: I4ee9cba966860072e55c95795d87356b665e4d49
Signed-off-by: Mazen NEIFER <mazen@nestwave.com>
2017-02-13 08:04:26 -08:00

43 lines
1.5 KiB
Makefile

SOC_PATH=${XTENSA_CORE}
export SOC_PATH
# Include XCC standard libraries so that users used ot Xplorer IDE can port
# their code easily
XT_LIB_PATH=-L${XTENSA_BUILD}/xtensa-elf/lib/xcc \
-L${XTENSA_BUILD}/xtensa-elf/lib \
-L${XTENSA_BUILD}/xtensa-elf/arch/lib
export XT_LIB_PATH
XTENSA_INCLUDE=-I$(XTENSA_TOOLS_PATH)/lib/xcc/include \
-I$(XTENSA_TOOLS_PATH)/xtensa-elf/include \
-I${XTENSA_BUILD}/xtensa-elf/arch/include \
-I${XTENSA_BUILD}/xtensa-elf/include
flagBoardType=
ifeq ($(CONFIG_BOARD_XTENSA),y)
flagBoardType= -DXT_BOARD
endif
ifeq ($(CONFIG_SIMULATOR_XTENSA),y)
flagBoardType= -DXT_SIMULATOR
endif
flagLongCall=
flagALongCall=
ifeq ($(CONFIG_LONG_CALL),y)
flagLongCall=-mlongcalls
flagALongCall=--longcalls
endif
# Remove compilation flags added by top makefile and which are not supported by xcc and enable.
KBUILD_CFLAGS := $(filter-out -fno-asynchronous-unwind-tables -fno-omit-frame-pointer,${KBUILD_CFLAGS})
# Add Xtensa pecific flags
KBUILD_AFLAGS += -c -xassembler-with-cpp $(XTENSA_INCLUDE) $(flagBoardType) $(flagALongCall)
KBUILD_CFLAGS += $(XTENSA_INCLUDE) -DPROC_$(XTENSA_CORE) -DCONFIG_$(XTENSA_CORE) -c $(flagLongCall) -nostdinc $(flagBoardType) $(call cc-option,-ffunction-sections,) $(call cc-option,-fdata-sections,) $(call cc-option,-fms-extensions,)
include $(srctree)/arch/$(ARCH)/core/Makefile
include $(srctree)/arch/$(ARCH)/soc/$(SOC_PATH)/Makefile
cflags-$(CONFIG_LTO) += $(call cc-option,-flto,)
KBUILD_CFLAGS += $(cflags-y)
KBUILD_CXXFLAGS += $(cflags-y)