zte's code,first commit
Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/cp/ps/build/frame/compiler/gcc_arm_linux.mk b/cp/ps/build/frame/compiler/gcc_arm_linux.mk
new file mode 100755
index 0000000..93db917
--- /dev/null
+++ b/cp/ps/build/frame/compiler/gcc_arm_linux.mk
@@ -0,0 +1,134 @@
+# /*****************************************************************************
+#* °æÈ¨ËùÓÐ (C)2014, ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
+#*
+#* ÎļþÃû³Æ: gcc_arm_linux.mk
+#* Îļþ±êʶ: gcc_arm_linux.mk
+#* ÄÚÈÝÕªÒª: linux gcc±àÒëÆ÷ÅäÖÃÎļþ
+#* ʹÓ÷½·¨: include gcc_arm_linux.mk
+#*
+#* ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+#* -----------------------------------------------------------------------------
+#* 2014/09/09 V1.0 Create ÁõÑÇÄÏ ´´½¨
+#*
+# ******************************************************************************/
+
+#===============================================================================
+# compiler tools path, CROSS_COMPILE_ROOT is set in root Makefile
+#===============================================================================
+GCC_ROOT = $(CROSS_COMPILE_ROOT)
+GCC_BIN = $(GCC_ROOT)/bin
+GCC_LIB = $(GCC_ROOT)/lib
+
+#===============================================================================
+# compiler tools setup
+#===============================================================================
+CC = $(GCC_BIN)/$(CROSS_COMPILE_PREFIX)gcc
+CXX = $(GCC_BIN)/$(CROSS_COMPILE_PREFIX)gcc
+ASM = $(GCC_BIN)/$(CROSS_COMPILE_PREFIX)as
+AR = $(GCC_BIN)/$(CROSS_COMPILE_PREFIX)ar
+AR2 = $(GCC_BIN)/$(CROSS_COMPILE_PREFIX)gcc-ar
+LD = $(GCC_BIN)/$(CROSS_COMPILE_PREFIX)ld
+ELF2BIN = $(GCC_BIN)/$(CROSS_COMPILE_PREFIX)objcopy
+ELF2SYM = $(GCC_BIN)/$(CROSS_COMPILE_PREFIX)nm
+
+#===============================================================================
+# C include path setup
+#===============================================================================
+INCLUDE = -I$(LINUX_ROOT)/arch/arm/include \
+ -I$(LINUX_ROOT)/arch/arm/include/uapi \
+ -I$(LINUX_ROOT)/arch/arm/include/generated \
+ -I$(LINUX_ROOT)/include \
+ -I$(LINUX_ROOT)/include/uapi \
+ -I$(LINUX_ROOT)/kernel \
+ -include $(LINUX_ROOT)/include/linux/kconfig.h \
+ -I$(LINUX_ROOT)/arch/arm/mach-$(PRJ_NAME)/include
+
+#===============================================================================
+# C++ STL(standard template library) include path setup
+#===============================================================================
+STDINCLUDE +=
+
+#===============================================================================
+# gcc flags setup
+#===============================================================================
+export CCFLAGS = -nostdinc -isystem $(CROSS_COMPILE_INCLUDE)
+export CCFLAGS += -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
+export CCFLAGS += -Wno-format-security -fno-delete-null-pointer-checks
+#export CCFLAGS += -marm -fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables
+export CCFLAGS += -fno-dwarf2-cfi-asm -mabi=aapcs-linux
+ifeq ($(CONFIG_MIN_8M_VERSION), n)
+CCFLAGS += -funwind-tables
+endif
+export CCFLAGS += -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector
+export CCFLAGS += -Wno-unused-but-set-variable -fomit-frame-pointer -g -fno-inline-functions-called-once
+export CCFLAGS += -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack
+export CCFLAGS += -Wno-redundant-decls -Wno-write-strings
+export CCFLAGS += -march=$(CPU_ARCH) -mno-unaligned-access
+#export CCFLAGS += -finstrument-functions
+
+export CCFLAGS += -fno-short-enums -fsigned-char -fstrict-volatile-bitfields
+export CCFLAGS += -fno-schedule-insns -fno-schedule-insns2
+export CCFLAGS += -Wfatal-errors -Wno-declaration-after-statement -Wno-unused-value
+export CCFLAGS += -Wno-unused-variable -Wno-unused-function -Wno-missing-braces
+export CCFLAGS += -Wno-unknown-pragmas -Wno-format-extra-args
+export CCFLAGS += -D__KERNEL__ -D__LINUX_ARM_ARCH__=7
+
+ifeq ($(THUMB), yes)
+export CCFLAGS += -mthumb -mthumb-interwork -Wa,-mimplicit-it=thumb
+ifeq ($(USE_CPPS_KO), yes)
+export CCFLAGS += -mlong-calls
+endif
+else
+export CCFLAGS += -marm
+endif
+
+ifeq ($(CONFIG_MIN_8M_VERSION), y)
+export CCFLAGS += -ffunction-sections
+endif
+
+export CCFLAGS += -Wl,--gc-sections
+export CCFLAGS += -g -Os -MD -c
+export CXXFLAGS = $(CCFLAGS)
+
+#===============================================================================
+# assembler flags setup
+#===============================================================================
+ASFLAGS = -march=$(CPU_ARCH)
+
+#===============================================================================
+# archieve flags setup
+#===============================================================================
+ARFLAGS = -rcs
+ARFLAGS2 = rcSTPD
+
+
+#===============================================================================
+# library include path setup
+#===============================================================================
+LDFLAG = -Wl,--no-check-sections -nostartfiles -L$(GCC_LIB) -T$(PRJ_PATH)/ws/dosmake/makefw/os/tos/tos.ld
+
+#===============================================================================
+# ld setup
+#===============================================================================
+LDOUT =
+LDMAP =
+
+#===============================================================================
+# elf to binary flags setup
+#===============================================================================
+ELF2BINOUT = -O binary
+
+#===============================================================================
+# elf to symbol flags setup
+#===============================================================================
+ELF2SYMOUT = -nCS --size-sort
+
+#===============================================================================
+# user defintion
+#===============================================================================
+export PLAT_GCC_OPTIMIZE = -O2
+export COM_GCC_OPTIMIZE = -O2
+export DRV_GCC_OPTIMIZE = -O2
+export PS_GCC_OPTIMIZE = -O2
+export TOOLS_GCC_OPTIMIZE = -O2
+