xref: /utopia/UTPA2-700.0.x/mxlib/cfg_tool.mk (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi
2*53ee8cc1Swenshuai.xi################################################################################
3*53ee8cc1Swenshuai.xi#
4*53ee8cc1Swenshuai.xi# Copyright (c) 2008-2009 MStar Semiconductor, Inc.
5*53ee8cc1Swenshuai.xi# All rights reserved.
6*53ee8cc1Swenshuai.xi#
7*53ee8cc1Swenshuai.xi# Unless otherwise stipulated in writing, any and all information contained
8*53ee8cc1Swenshuai.xi# herein regardless in any format shall remain the sole proprietary of
9*53ee8cc1Swenshuai.xi# MStar Semiconductor Inc. and be kept in strict confidence
10*53ee8cc1Swenshuai.xi# ("MStar Confidential Information") by the recipient.
11*53ee8cc1Swenshuai.xi# Any unauthorized act including without limitation unauthorized disclosure,
12*53ee8cc1Swenshuai.xi# copying, use, reproduction, sale, distribution, modification, disassembling,
13*53ee8cc1Swenshuai.xi# reverse engineering and compiling of the contents of MStar Confidential
14*53ee8cc1Swenshuai.xi# Information is unlawful and strictly prohibited. MStar hereby reserves the
15*53ee8cc1Swenshuai.xi# rights to any and all damages, losses, costs and expenses resulting therefrom.
16*53ee8cc1Swenshuai.xi#
17*53ee8cc1Swenshuai.xi#
18*53ee8cc1Swenshuai.xi# Makefile used for configuring toolchain
19*53ee8cc1Swenshuai.xi#
20*53ee8cc1Swenshuai.xi# Required ENV
21*53ee8cc1Swenshuai.xi#       $(ROOT) e.g //utopia/
22*53ee8cc1Swenshuai.xi#
23*53ee8cc1Swenshuai.xi# Supported TOOLCHAIN
24*53ee8cc1Swenshuai.xi#       mips-linux-gnu
25*53ee8cc1Swenshuai.xi#       mips-sde-elf
26*53ee8cc1Swenshuai.xi#       mips2_fp_le
27*53ee8cc1Swenshuai.xi#       aeon
28*53ee8cc1Swenshuai.xi#       mipsisa32-elf (OBSOLETE)
29*53ee8cc1Swenshuai.xi#
30*53ee8cc1Swenshuai.xi# Effected ENV
31*53ee8cc1Swenshuai.xi#       CFG_STDLIB_DIR =
32*53ee8cc1Swenshuai.xi#       CFG_LINT       =
33*53ee8cc1Swenshuai.xi#       CFG_CC_OPTS    +=
34*53ee8cc1Swenshuai.xi#       CFG_LD_OPTS    +=
35*53ee8cc1Swenshuai.xi#       CFG_AS_OPTS    +=
36*53ee8cc1Swenshuai.xi#
37*53ee8cc1Swenshuai.xi################################################################################
38*53ee8cc1Swenshuai.xi
39*53ee8cc1Swenshuai.xi
40*53ee8cc1Swenshuai.xi# **********************************************
41*53ee8cc1Swenshuai.xi# Tool Chain Configuration
42*53ee8cc1Swenshuai.xi# **********************************************
43*53ee8cc1Swenshuai.xi
44*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),mips-sde-elf)
45*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR = $(ROOT)/tools/mips-sde-elf/EL_mips32r2_msoft-float
46*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -mips32r2 -gdwarf-2 -G0
47*53ee8cc1Swenshuai.xi
48*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
49*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mhard-float
50*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -mhard-float
51*53ee8cc1Swenshuai.xielse
52*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -msoft-float
53*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -msoft-float
54*53ee8cc1Swenshuai.xiendif
55*53ee8cc1Swenshuai.xi
56*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -mips32 -gdwarf2
57*53ee8cc1Swenshuai.xiCFG_LINT    = $(ROOT)/tools/lint/mips-sde-elf_include
58*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.3.2
59*53ee8cc1Swenshuai.xiendif
60*53ee8cc1Swenshuai.xi
61*53ee8cc1Swenshuai.xi
62*53ee8cc1Swenshuai.xi#### OBSOLETE ####
63*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),mipsisa32-elf)
64*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR = $(ROOT)/tools/mipsisa32-elf/EL_mips32r2_msoft-float
65*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
66*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -mips32 -gdwarf-2 -mhard-float -G0
67*53ee8cc1Swenshuai.xielse
68*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -mips32 -gdwarf-2 -msoft-float -G0
69*53ee8cc1Swenshuai.xiendif
70*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN)
71*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -mips32 -gdwarf2
72*53ee8cc1Swenshuai.xiCFG_LINT    = $(ROOT)/tools/lint/mipsisa32-elf_include
73*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
74*53ee8cc1Swenshuai.xiendif
75*53ee8cc1Swenshuai.xi#### OBSOLETE ####
76*53ee8cc1Swenshuai.xi
77*53ee8cc1Swenshuai.xi
78*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),mips2_fp_le)
79*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
80*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mips32 -fPIC -G0
81*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC
82*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -mips32
83*53ee8cc1Swenshuai.xiCFG_LINT    =
84*53ee8cc1Swenshuai.xiifeq ($(BLT_TYPE),debug)
85*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -gdwarf-2
86*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -gdwarf2
87*53ee8cc1Swenshuai.xiendif
88*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
89*53ee8cc1Swenshuai.xiendif
90*53ee8cc1Swenshuai.xi
91*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),arm-eabi)
92*53ee8cc1Swenshuai.xiifeq ($(PLATFORM), android)
93*53ee8cc1Swenshuai.xi# All flags in project/xxx_android_x.x/Makefile
94*53ee8cc1Swenshuai.xielse
95*53ee8cc1Swenshuai.xiifeq ($(CHIP),kaiser)
96*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
97*53ee8cc1Swenshuai.xiCFG_CC_OPTS +=  -$(ENDIAN) -gdwarf-2 -march=armv7-a
98*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=  -$(ENDIAN) -Wl,--fix-cortex-a9
99*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -gdwarf-2 -march=armv7-a
100*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
101*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=softfp
102*53ee8cc1Swenshuai.xielse
103*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=soft
104*53ee8cc1Swenshuai.xiendif
105*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
106*53ee8cc1Swenshuai.xiendif
107*53ee8cc1Swenshuai.xiendif
108*53ee8cc1Swenshuai.xiendif
109*53ee8cc1Swenshuai.xi
110*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN), arm-unknown-linux-gnueabi)
111*53ee8cc1Swenshuai.xiifeq ($(PLATFORM), android)
112*53ee8cc1Swenshuai.xi# All flags in project/xxx_googletv_x.x/Makefile
113*53ee8cc1Swenshuai.xielse
114*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
115*53ee8cc1Swenshuai.xiCFG_CC_OPTS +=  -$(ENDIAN)
116*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=  -$(ENDIAN)
117*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -march=armv7-a -mfpu=neon
118*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
119*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfloat-abi=softfp
120*53ee8cc1Swenshuai.xielse
121*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfloat-abi=soft
122*53ee8cc1Swenshuai.xiendif
123*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.5.3
124*53ee8cc1Swenshuai.xiendif
125*53ee8cc1Swenshuai.xiendif
126*53ee8cc1Swenshuai.xi
127*53ee8cc1Swenshuai.xi
128*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),armv7a-cros-linux-gnueabi)
129*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
130*53ee8cc1Swenshuai.xiCFG_CC_OPTS +=  -$(ENDIAN) -gdwarf-2 -fPIC -march=armv7-a
131*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=  -$(ENDIAN) -fPIC
132*53ee8cc1Swenshuai.xiCFG_AS_OPTS +=  -$(ENDIAN) -gdwarf2 -march=armv7-a
133*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
134*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=hard
135*53ee8cc1Swenshuai.xielse
136*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=vfpv3 -mfloat-abi=soft
137*53ee8cc1Swenshuai.xiendif
138*53ee8cc1Swenshuai.xiendif
139*53ee8cc1Swenshuai.xi
140*53ee8cc1Swenshuai.xi
141*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),arm-none-eabi)
142*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
143*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -gdwarf-2 -fPIC -march=armv7-a
144*53ee8cc1Swenshuai.xiifeq ($(OS_TYPE),ecos)
145*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -fno-short-enums
146*53ee8cc1Swenshuai.xiendif
147*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC
148*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -gdwarf2 -march=armv7-a
149*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
150*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=softfp
151*53ee8cc1Swenshuai.xielse
152*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=soft
153*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
154*53ee8cc1Swenshuai.xiendif
155*53ee8cc1Swenshuai.xiendif
156*53ee8cc1Swenshuai.xi
157*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),arm-linux-gnueabihf)
158*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
159*53ee8cc1Swenshuai.xiCFG_CC_OPTS +=  -$(ENDIAN) -gdwarf-2 -fPIC -march=armv7-a
160*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=  -$(ENDIAN) -fPIC
161*53ee8cc1Swenshuai.xiCFG_AS_OPTS +=  -$(ENDIAN) -gdwarf2 -march=armv7-a
162*53ee8cc1Swenshuai.xiCFG_CC_EXTRA_OPTS += -fno-peephole2 -Wno-unused-but-set-variable
163*53ee8cc1Swenshuai.xiexport PATH   :=  /tools/arm/MStar/linaro-4.9.3-2014.11-arm-linux-gnueabihf/bin/:$(PATH)
164*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=hard
165*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
166*53ee8cc1Swenshuai.xiendif
167*53ee8cc1Swenshuai.xi
168*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),arm-none-linux-gnueabi)
169*53ee8cc1Swenshuai.xiifeq ($(CHIP), $(filter $(CHIP), eagle eiffel))
170*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
171*53ee8cc1Swenshuai.xiCFG_CC_OPTS +=  -$(ENDIAN) -gdwarf-2 -fPIC -march=armv7-a
172*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=  -$(ENDIAN) -fPIC
173*53ee8cc1Swenshuai.xiCFG_AS_OPTS +=  -$(ENDIAN) -gdwarf2 -march=armv7-a
174*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
175*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=softfp
176*53ee8cc1Swenshuai.xielse
177*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=vfpv3 -mfloat-abi=soft
178*53ee8cc1Swenshuai.xiendif
179*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.5.1
180*53ee8cc1Swenshuai.xielse
181*53ee8cc1Swenshuai.xi
182*53ee8cc1Swenshuai.xiifeq ($(CHIP),kaiser)
183*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
184*53ee8cc1Swenshuai.xiCFG_CC_OPTS +=  -$(ENDIAN) -gdwarf-2 -fPIC -march=armv7-a -mcpu=cortex-a9
185*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=  -$(ENDIAN) -fPIC
186*53ee8cc1Swenshuai.xiCFG_AS_OPTS +=  -$(ENDIAN) -gdwarf2 -march=armv7-a -mcpu=cortex-a9
187*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
188*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=softfp
189*53ee8cc1Swenshuai.xielse
190*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=vfpv3 -mfloat-abi=soft
191*53ee8cc1Swenshuai.xiendif
192*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
193*53ee8cc1Swenshuai.xielse
194*53ee8cc1Swenshuai.xi
195*53ee8cc1Swenshuai.xiifeq ($(CHIP), $(filter $(CHIP), einstein nike madison miami napoli einstein3 monaco clippers muji munich celtics monet manhattan messi maserati maxim kano k6 curry k6lite k7u M7821 M7621 mustang))
196*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
197*53ee8cc1Swenshuai.xiCFG_CC_OPTS +=  -$(ENDIAN) -gdwarf-2 -fPIC -march=armv7-a
198*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=  -$(ENDIAN) -fPIC
199*53ee8cc1Swenshuai.xiCFG_AS_OPTS +=  -$(ENDIAN) -gdwarf2 -march=armv7-a
200*53ee8cc1Swenshuai.xiCFG_CC_EXTRA_OPTS += -fno-peephole2 -Wno-unused-but-set-variable
201*53ee8cc1Swenshuai.xiexport PATH   :=  /tools/arm/arm-2012.09/bin/:/tools/arm/Google/armv7a-491/bin/:$(PATH)
202*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
203*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=neon -mfloat-abi=softfp
204*53ee8cc1Swenshuai.xielse
205*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfpu=vfpv3 -mfloat-abi=soft
206*53ee8cc1Swenshuai.xiendif
207*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
208*53ee8cc1Swenshuai.xielse
209*53ee8cc1Swenshuai.xi
210*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
211*53ee8cc1Swenshuai.xiCFG_CC_OPTS +=  -$(ENDIAN) -gdwarf-2 -fPIC -march=armv7-a -mfpu=vfpv3
212*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=  -$(ENDIAN) -fPIC
213*53ee8cc1Swenshuai.xiCFG_AS_OPTS +=  -$(ENDIAN) -gdwarf2 -march=armv7-a -mfpu=vfpv3
214*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
215*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfloat-abi=softfp
216*53ee8cc1Swenshuai.xielse
217*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mfloat-abi=soft
218*53ee8cc1Swenshuai.xiendif
219*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.5.1
220*53ee8cc1Swenshuai.xiendif
221*53ee8cc1Swenshuai.xiendif
222*53ee8cc1Swenshuai.xiendif
223*53ee8cc1Swenshuai.xiendif
224*53ee8cc1Swenshuai.xi
225*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN), aarch64-none-elf)
226*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
227*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -gdwarf-2 -fPIC -march=armv8-a -mabi=lp64 -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Wno-unused-but-set-variable
228*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC
229*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -gdwarf2 -march=armv8-a -mabi=lp64 -mcpu=cortex-a53
230*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
231*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mcpu=cortex-a53+fp
232*53ee8cc1Swenshuai.xielse
233*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mcpu=cortex-a53
234*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
235*53ee8cc1Swenshuai.xiendif
236*53ee8cc1Swenshuai.xiendif
237*53ee8cc1Swenshuai.xi
238*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN), aarch64-linux-gnu)
239*53ee8cc1Swenshuai.xiifeq ($(CHIP), $(filter $(CHIP), muji manhattan messi maserati maxim kano k6 curry k7u M7821 M7621))
240*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
241*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -gdwarf-2 -fPIC -march=armv8-a -mabi=lp64 -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Wno-unused-but-set-variable
242*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC  -Wl,-fix-cortex-a53-843419
243*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -gdwarf2 -march=armv8-a -mabi=lp64 -mcpu=cortex-a53
244*53ee8cc1Swenshuai.xiexport PATH   :=  /tools/arm/MStar/linaro-aarch64_linux-2014.09_843419-patched/bin/:$(PATH)
245*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
246*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mcpu=cortex-a53+fp
247*53ee8cc1Swenshuai.xielse
248*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mcpu=cortex-a53
249*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
250*53ee8cc1Swenshuai.xiendif
251*53ee8cc1Swenshuai.xielse
252*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
253*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -gdwarf-2 -fPIC -march=armv8-a -mabi=lp64 -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Wno-unused-but-set-variable
254*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC
255*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -gdwarf2 -march=armv8-a -mabi=lp64 -mcpu=cortex-a53
256*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
257*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mcpu=cortex-a53+fp
258*53ee8cc1Swenshuai.xielse
259*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mcpu=cortex-a53
260*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
261*53ee8cc1Swenshuai.xiendif
262*53ee8cc1Swenshuai.xiendif
263*53ee8cc1Swenshuai.xiendif
264*53ee8cc1Swenshuai.xi
265*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN_ALIAS), mips-linux-gnu-uclibc)
266*53ee8cc1Swenshuai.xiTOOLCHAIN  = mips-linux-gnu
267*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),mips-linux-gnu)
268*53ee8cc1Swenshuai.xiifeq ($(PLATFORM), android)
269*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
270*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -fPIC -march=mips32r2 -mtune=mips32r2 -mips32r2 -G0 -muclibc
271*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC -muclibc
272*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -march=mips32r2 -mtune=mips32r2 -mips32r2
273*53ee8cc1Swenshuai.xi#CFG_LINT    =
274*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
275*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mhard-float
276*53ee8cc1Swenshuai.xielse
277*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -msoft-float
278*53ee8cc1Swenshuai.xiendif
279*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.4.3
280*53ee8cc1Swenshuai.xi
281*53ee8cc1Swenshuai.xielse # PLATFORM != android
282*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
283*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -gdwarf-2 -fPIC -G0 -muclibc
284*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC -muclibc
285*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -gdwarf2
286*53ee8cc1Swenshuai.xiCFG_LINT    = $(ROOT)/tools/lint/mips-linux-gnu_include
287*53ee8cc1Swenshuai.xiifeq ($(MIPS16_ENABLE), 1)
288*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mips16 -D__MIPS16E__
289*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -mips16 -D__MIPS16E__
290*53ee8cc1Swenshuai.xielse
291*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mips32
292*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -mips32
293*53ee8cc1Swenshuai.xiendif
294*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
295*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mhard-float
296*53ee8cc1Swenshuai.xielse
297*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -msoft-float
298*53ee8cc1Swenshuai.xiendif
299*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
300*53ee8cc1Swenshuai.xiendif
301*53ee8cc1Swenshuai.xiendif
302*53ee8cc1Swenshuai.xi
303*53ee8cc1Swenshuai.xielse # TOOLCHAIN_ALIAS != mips-linux-gnu-uclibc
304*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),mips-linux-gnu)
305*53ee8cc1Swenshuai.xiifeq ($(PLATFORM), android)
306*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
307*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -fPIC -march=mips32r2 -mtune=mips32r2 -mips32r2 -G0
308*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC
309*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -march=mips32r2 -mtune=mips32r2 -mips32r2
310*53ee8cc1Swenshuai.xi#CFG_LINT    =
311*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
312*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mhard-float
313*53ee8cc1Swenshuai.xielse
314*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -msoft-float
315*53ee8cc1Swenshuai.xiendif
316*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.4.3
317*53ee8cc1Swenshuai.xi
318*53ee8cc1Swenshuai.xielse # PLATFORM != android
319*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
320*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -gdwarf-2 -fPIC -G0
321*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -$(ENDIAN) -fPIC
322*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN) -gdwarf2
323*53ee8cc1Swenshuai.xiCFG_LINT    = $(ROOT)/tools/lint/mips-linux-gnu_include
324*53ee8cc1Swenshuai.xiifeq ($(MIPS16_ENABLE), 1)
325*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mips16 -D__MIPS16E__
326*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -mips16 -D__MIPS16E__
327*53ee8cc1Swenshuai.xielse
328*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mips32
329*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -mips32
330*53ee8cc1Swenshuai.xiendif
331*53ee8cc1Swenshuai.xiifeq ($(FPU_ENABLE), 1)
332*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -mhard-float
333*53ee8cc1Swenshuai.xielse
334*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -msoft-float
335*53ee8cc1Swenshuai.xiendif
336*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER =
337*53ee8cc1Swenshuai.xiendif
338*53ee8cc1Swenshuai.xiendif
339*53ee8cc1Swenshuai.xiendif
340*53ee8cc1Swenshuai.xi
341*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),aeon-linux)
342*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
343*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -march=aeonR2 -fPIC -G0
344*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=
345*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN)
346*53ee8cc1Swenshuai.xiCFG_LINT    = $(ROOT)/tools/lint/aeon_include
347*53ee8cc1Swenshuai.xiifeq ($(COPRO_TYPE), R2)
348*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -march=aeonR2
349*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.4.3
350*53ee8cc1Swenshuai.xiPATH:=/tools/aeon-elf443/aeon-elf-linux/bin:$(PATH)
351*53ee8cc1Swenshuai.xiexport PATH
352*53ee8cc1Swenshuai.xiendif
353*53ee8cc1Swenshuai.xiifeq ($(COPRO_TYPE), AEON)
354*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.1.2
355*53ee8cc1Swenshuai.xiPATH:=/tools/aeon/bin:$(PATH)
356*53ee8cc1Swenshuai.xiexport PATH
357*53ee8cc1Swenshuai.xiendif
358*53ee8cc1Swenshuai.xiifeq ($(CHIP), maria10)
359*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.1.2
360*53ee8cc1Swenshuai.xiPATH:=/tools/aeon/bin:$(PATH)
361*53ee8cc1Swenshuai.xiexport PATH
362*53ee8cc1Swenshuai.xiendif
363*53ee8cc1Swenshuai.xiifeq ($(CHIP), macaw12)
364*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.1.2
365*53ee8cc1Swenshuai.xiPATH:=/tools/aeon/bin:$(PATH)
366*53ee8cc1Swenshuai.xiexport PATH
367*53ee8cc1Swenshuai.xiendif
368*53ee8cc1Swenshuai.xiendif
369*53ee8cc1Swenshuai.xi
370*53ee8cc1Swenshuai.xiifeq ($(TOOLCHAIN),aeon)
371*53ee8cc1Swenshuai.xiCFG_STDLIB_DIR =
372*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -$(ENDIAN) -mredzone-size=4 -mhard-mul -mhard-div -G0
373*53ee8cc1Swenshuai.xiCFG_LD_OPTS +=
374*53ee8cc1Swenshuai.xiCFG_AS_OPTS += -$(ENDIAN)
375*53ee8cc1Swenshuai.xiCFG_LINT    = $(ROOT)/tools/lint/aeon_include
376*53ee8cc1Swenshuai.xiifeq ($(COPRO_TYPE), R2)
377*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -march=aeonR2
378*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.4.3
379*53ee8cc1Swenshuai.xiPATH:=/tools/aeon-elf443/aeon-elf-linux/bin:$(PATH)
380*53ee8cc1Swenshuai.xiexport PATH
381*53ee8cc1Swenshuai.xiendif
382*53ee8cc1Swenshuai.xiifeq ($(COPRO_TYPE), AEON)
383*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.1.2
384*53ee8cc1Swenshuai.xiPATH:=/tools/aeon/bin:$(PATH)
385*53ee8cc1Swenshuai.xiexport PATH
386*53ee8cc1Swenshuai.xiendif
387*53ee8cc1Swenshuai.xiifeq ($(CHIP), maria10)
388*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.1.2
389*53ee8cc1Swenshuai.xiPATH:=/tools/aeon/bin:$(PATH)
390*53ee8cc1Swenshuai.xiexport PATH
391*53ee8cc1Swenshuai.xiendif
392*53ee8cc1Swenshuai.xiifeq ($(CHIP), macaw12)
393*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.1.2
394*53ee8cc1Swenshuai.xiPATH:=/tools/aeon/bin:$(PATH)
395*53ee8cc1Swenshuai.xiexport PATH
396*53ee8cc1Swenshuai.xiendif
397*53ee8cc1Swenshuai.xiifeq ($(CHIP), eden)
398*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.1.2
399*53ee8cc1Swenshuai.xiPATH:=/tools/aeon/bin:$(PATH)
400*53ee8cc1Swenshuai.xiexport PATH
401*53ee8cc1Swenshuai.xiendif
402*53ee8cc1Swenshuai.xiifeq ($(CHIP), euler)
403*53ee8cc1Swenshuai.xiCFG_TOOLCHAIN_VER = 4.1.2
404*53ee8cc1Swenshuai.xiPATH:=/tools/aeon/bin:$(PATH)
405*53ee8cc1Swenshuai.xiexport PATH
406*53ee8cc1Swenshuai.xiendif
407*53ee8cc1Swenshuai.xiendif
408*53ee8cc1Swenshuai.xi
409*53ee8cc1Swenshuai.xiifeq ($(GCOV), 1)
410*53ee8cc1Swenshuai.xiCFG_CC_OPTS += -fprofile-arcs -ftest-coverage
411*53ee8cc1Swenshuai.xiendif
412*53ee8cc1Swenshuai.xi
413*53ee8cc1Swenshuai.xiifeq ($(PARA), 1)
414*53ee8cc1Swenshuai.xiCC          = cpptestscan --cpptestscanProjectName=unittest $(TOOLCHAIN)-gcc
415*53ee8cc1Swenshuai.xiAS          = cpptestscan --cpptestscanProjectName=unittest $(TOOLCHAIN)-as
416*53ee8cc1Swenshuai.xiLD          = cpptestscan --cpptestscanProjectName=unittest $(TOOLCHAIN)-ld
417*53ee8cc1Swenshuai.xiAR          = cpptestscan --cpptestscanProjectName=unittest $(TOOLCHAIN)-ar
418*53ee8cc1Swenshuai.xielse
419*53ee8cc1Swenshuai.xi
420*53ee8cc1Swenshuai.xiifeq ($(CFG_TOOLCHAIN_VER),)
421*53ee8cc1Swenshuai.xiCC          = $(TOOLCHAIN)-gcc
422*53ee8cc1Swenshuai.xiAS          = $(TOOLCHAIN)-as
423*53ee8cc1Swenshuai.xielse
424*53ee8cc1Swenshuai.xiCC          = $(TOOLCHAIN)-gcc -V $(CFG_TOOLCHAIN_VER)
425*53ee8cc1Swenshuai.xiAS          = $(TOOLCHAIN)-as
426*53ee8cc1Swenshuai.xiendif
427*53ee8cc1Swenshuai.xi
428*53ee8cc1Swenshuai.xiLD          = $(TOOLCHAIN)-ld
429*53ee8cc1Swenshuai.xiAR          = $(TOOLCHAIN)-ar
430*53ee8cc1Swenshuai.xiendif
431*53ee8cc1Swenshuai.xiOBJCOPY     = $(TOOLCHAIN)-objcopy
432*53ee8cc1Swenshuai.xiOBJDUMP     = $(TOOLCHAIN)-objdump
433*53ee8cc1Swenshuai.xiSIZE        = $(TOOLCHAIN)-size
434*53ee8cc1Swenshuai.xiNM          = $(TOOLCHAIN)-nm
435*53ee8cc1Swenshuai.xiSTRIP       = $(TOOLCHAIN)-strip
436