]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Conf/tools_def.template
BaseTools: Updated for GCC5 tool chain for LoongArch platfrom.
[mirror_edk2.git] / BaseTools / Conf / tools_def.template
1 #
2 # Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
3 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4 # Portions copyright (c) 2011 - 2019, ARM Ltd. All rights reserved.<BR>
5 # Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>
6 # (C) Copyright 2020, Hewlett Packard Enterprise Development LP<BR>
7 # Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
8 # Copyright (c) Microsoft Corporation
9 #
10 # SPDX-License-Identifier: BSD-2-Clause-Patent
11 #
12 #
13 # Increase this version tag any time you want user to get warning about updating this
14 # file in the Conf dir. By default it does not do update existing conf dirs.
15 #
16 # 2.00 - Initial version with changes for CI
17 # - Change RC path to use plugin
18 #
19 #!VERSION=2.00
20
21 IDENTIFIER = Default TOOL_CHAIN_CONF
22
23 # common path macros
24 DEFINE VS2008_BIN = ENV(VS2008_PREFIX)Vc\bin
25 DEFINE VS2008_DLL = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008_BIN)
26 DEFINE VS2008_BINX64 = DEF(VS2008_BIN)\x86_amd64
27 DEFINE VS2008_BIN64 = DEF(VS2008_BIN)\x86_ia64
28
29 DEFINE VS2008x86_BIN = ENV(VS2008_PREFIX)Vc\bin
30 DEFINE VS2008x86_DLL = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008x86_BIN)
31 DEFINE VS2008x86_BINX64 = DEF(VS2008x86_BIN)\x86_amd64
32 DEFINE VS2008x86_BIN64 = DEF(VS2008x86_BIN)\x86_ia64
33
34 DEFINE VS2010_BIN = ENV(VS2010_PREFIX)Vc\bin
35 DEFINE VS2010_DLL = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010_BIN)
36 DEFINE VS2010_BINX64 = DEF(VS2010_BIN)\x86_amd64
37 DEFINE VS2010_BIN64 = DEF(VS2010_BIN)\x86_ia64
38
39 DEFINE VS2010x86_BIN = ENV(VS2010_PREFIX)Vc\bin
40 DEFINE VS2010x86_DLL = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010x86_BIN)
41 DEFINE VS2010x86_BINX64 = DEF(VS2010x86_BIN)\x86_amd64
42 DEFINE VS2010x86_BIN64 = DEF(VS2010x86_BIN)\x86_ia64
43
44 DEFINE VS2012_BIN = ENV(VS2012_PREFIX)Vc\bin
45 DEFINE VS2012_DLL = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012_BIN)
46 DEFINE VS2012_BINX64 = DEF(VS2012_BIN)\x86_amd64
47
48 DEFINE VS2012x86_BIN = ENV(VS2012_PREFIX)Vc\bin
49 DEFINE VS2012x86_DLL = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012x86_BIN)
50 DEFINE VS2012x86_BINX64 = DEF(VS2012x86_BIN)\x86_amd64
51
52 DEFINE VS2013_BIN = ENV(VS2013_PREFIX)Vc\bin
53 DEFINE VS2013_DLL = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013_BIN)
54 DEFINE VS2013_BINX64 = DEF(VS2013_BIN)\x86_amd64
55
56 DEFINE VS2013x86_BIN = ENV(VS2013_PREFIX)Vc\bin
57 DEFINE VS2013x86_DLL = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013x86_BIN)
58 DEFINE VS2013x86_BINX64 = DEF(VS2013x86_BIN)\x86_amd64
59
60 DEFINE VS2015_BIN = ENV(VS2015_PREFIX)Vc\bin
61 DEFINE VS2015_DLL = ENV(VS2015_PREFIX)Common7\IDE;DEF(VS2015_BIN)
62 DEFINE VS2015_BINX64 = DEF(VS2015_BIN)\x86_amd64
63
64 DEFINE VS2015x86_BIN = ENV(VS2015_PREFIX)Vc\bin
65 DEFINE VS2015x86_DLL = ENV(VS2015_PREFIX)Common7\IDE;DEF(VS2015x86_BIN)
66 DEFINE VS2015x86_BINX64 = DEF(VS2015x86_BIN)\x86_amd64
67
68 DEFINE VS_HOST = x86
69
70 DEFINE VS2017_BIN = ENV(VS2017_PREFIX)bin
71 DEFINE VS2017_BIN_HOST = DEF(VS2017_BIN)\HostDEF(VS_HOST)\DEF(VS_HOST)
72 DEFINE VS2017_BIN_IA32 = DEF(VS2017_BIN)\HostDEF(VS_HOST)\x86
73 DEFINE VS2017_BIN_X64 = DEF(VS2017_BIN)\HostDEF(VS_HOST)\x64
74 DEFINE VS2017_BIN_ARM = DEF(VS2017_BIN)\HostDEF(VS_HOST)\arm
75 DEFINE VS2017_BIN_AARCH64 = DEF(VS2017_BIN)\HostDEF(VS_HOST)\arm64
76
77 DEFINE VS2019_BIN = ENV(VS2019_PREFIX)bin
78 DEFINE VS2019_BIN_HOST = DEF(VS2019_BIN)\HostDEF(VS_HOST)\DEF(VS_HOST)
79 DEFINE VS2019_BIN_IA32 = DEF(VS2019_BIN)\HostDEF(VS_HOST)\x86
80 DEFINE VS2019_BIN_X64 = DEF(VS2019_BIN)\HostDEF(VS_HOST)\x64
81 DEFINE VS2019_BIN_ARM = DEF(VS2019_BIN)\HostDEF(VS_HOST)\arm
82 DEFINE VS2019_BIN_AARCH64 = DEF(VS2019_BIN)\HostDEF(VS_HOST)\arm64
83
84 #
85 # Resource compiler
86 #
87 DEFINE RC_PATH = ENV(WINSDK_PATH_FOR_RC_EXE)\rc.exe
88
89 DEFINE WINSDK_BIN = ENV(WINSDK_PREFIX)
90 DEFINE WINSDKx86_BIN = ENV(WINSDKx86_PREFIX)
91
92 # Microsoft Visual Studio 2010
93 DEFINE WINSDK7_BIN = ENV(WINSDK7_PREFIX)
94 DEFINE WINSDK7x86_BIN = ENV(WINSDK7x86_PREFIX)
95
96 # Microsoft Visual Studio 2012 Update 1 (required for rc.exe that was not included in the initial release)
97 DEFINE WINSDK71_BIN = ENV(WINSDK71_PREFIX)
98 DEFINE WINSDK71x86_BIN = ENV(WINSDK71x86_PREFIX)
99
100 # Microsoft Visual Studio 2013 Professional Edition
101 DEFINE WINSDK8_BIN = ENV(WINSDK8_PREFIX)x86\
102 DEFINE WINSDK8x86_BIN = ENV(WINSDK8x86_PREFIX)x64
103
104 # Microsoft Visual Studio 2015 Professional Edition
105 DEFINE WINSDK81_BIN = ENV(WINSDK81_PREFIX)x86\
106 DEFINE WINSDK81x86_BIN = ENV(WINSDK81x86_PREFIX)x64
107
108 # Microsoft Visual Studio 2017/2019 Professional Edition
109 DEFINE WINSDK10_BIN = ENV(WINSDK10_PREFIX)DEF(VS_HOST)
110
111 # These defines are needed for certain Microsoft Visual Studio tools that
112 # are used by other toolchains. An example is that ICC on Windows normally
113 # uses Microsoft's nmake.exe.
114
115 # Some MS_VS_BIN options: DEF(VS2008_BIN), DEF(VS2008x86_BIN)
116 DEFINE MS_VS_BIN = DEF(VS2008_BIN)
117 # Some MS_VS_DLL options: DEF(VS2008_DLL), DEF(VS2008x86_DLL)
118 DEFINE MS_VS_DLL = DEF(VS2008_DLL)
119
120 DEFINE WINDDK_BIN16 = ENV(WINDDK3790_PREFIX)bin16
121 DEFINE WINDDK_BINX64 = ENV(WINDDK3790_PREFIX)win64\x86\amd64
122
123 DEFINE EBC_BIN = C:\Program Files\Intel\EBC\Bin
124 DEFINE EBC_BINx86 = C:\Program Files (x86)\Intel\EBC\Bin
125
126
127 DEFINE CYGWIN_BIN = c:/cygwin/bin
128 DEFINE CYGWIN_BINIA32 = c:/cygwin/opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/
129 DEFINE CYGWIN_BINX64 = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/
130
131 DEFINE GCC48_IA32_PREFIX = ENV(GCC48_BIN)
132 DEFINE GCC48_X64_PREFIX = ENV(GCC48_BIN)
133
134 DEFINE GCC49_IA32_PREFIX = ENV(GCC49_BIN)
135 DEFINE GCC49_X64_PREFIX = ENV(GCC49_BIN)
136
137 DEFINE GCC5_IA32_PREFIX = ENV(GCC5_BIN)
138 DEFINE GCC5_X64_PREFIX = ENV(GCC5_BIN)
139 DEFINE GCC_HOST_PREFIX = ENV(GCC_HOST_BIN)
140
141 DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl
142 DEFINE WIN_IASL_BIN = ENV(IASL_PREFIX)iasl.exe
143
144 DEFINE IASL_FLAGS =
145 DEFINE IASL_OUTFLAGS = -p
146
147 DEFINE DEFAULT_WIN_ASL_BIN = DEF(WIN_IASL_BIN)
148 DEFINE DEFAULT_WIN_ASL_FLAGS = DEF(IASL_FLAGS)
149 DEFINE DEFAULT_WIN_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
150
151 # MSFT Build Flag for included header file list generation
152 DEFINE MSFT_DEPS_FLAGS = /showIncludes
153
154 DEFINE MSFT_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h
155 DEFINE MSFT_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable
156 DEFINE MSFT_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE
157
158 DEFINE IPHONE_TOOLS = /Developer/Platforms/iPhoneOS.platform/Developer
159
160 DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin
161
162 DEFINE DTCPP_BIN = ENV(DTCPP_PREFIX)cpp
163 DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
164
165 ####################################################################################
166 #
167 # format: TARGET_TOOLCHAIN_ARCH_COMMANDTYPE_ATTRIBUTE = <string>
168 # priority:
169 # TARGET_TOOLCHAIN_ARCH_COMMANDTYPE_ATTRIBUTE (Highest)
170 # ******_TOOLCHAIN_ARCH_COMMANDTYPE_ATTRIBUTE
171 # TARGET_*********_ARCH_COMMANDTYPE_ATTRIBUTE
172 # ******_*********_ARCH_COMMANDTYPE_ATTRIBUTE
173 # TARGET_TOOLCHAIN_****_COMMANDTYPE_ATTRIBUTE
174 # ******_TOOLCHAIN_****_COMMANDTYPE_ATTRIBUTE
175 # TARGET_*********_****_COMMANDTYPE_ATTRIBUTE
176 # ******_*********_****_COMMANDTYPE_ATTRIBUTE
177 # TARGET_TOOLCHAIN_ARCH_***********_ATTRIBUTE
178 # ******_TOOLCHAIN_ARCH_***********_ATTRIBUTE
179 # TARGET_*********_ARCH_***********_ATTRIBUTE
180 # ******_*********_ARCH_***********_ATTRIBUTE
181 # TARGET_TOOLCHAIN_****_***********_ATTRIBUTE
182 # ******_TOOLCHAIN_****_***********_ATTRIBUTE
183 # TARGET_*********_****_***********_ATTRIBUTE
184 # ******_*********_****_***********_ATTRIBUTE (Lowest)
185 #
186 ####################################################################################
187 ####################################################################################
188 #
189 # Supported Tool Chains
190 # =====================
191 # VS2008 -win32- Requires:
192 # Microsoft Visual Studio 2008 Team Suite Edition
193 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
194 # Optional:
195 # Required to build EBC drivers:
196 # Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
197 # Required to build platforms or ACPI tables:
198 # Intel(r) ACPI Compiler (iasl.exe) from
199 # https://acpica.org/downloads
200 # VS2010 -win32- Requires:
201 # Microsoft Visual Studio 2010 Premium Edition
202 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
203 # Optional:
204 # Required to build EBC drivers:
205 # Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
206 # Required to build platforms or ACPI tables:
207 # Intel(r) ACPI Compiler (iasl.exe) from
208 # https://acpica.org/downloads
209 # VS2012 -win32- Requires:
210 # Microsoft Visual Studio 2012 Professional Edition
211 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
212 # Optional:
213 # Required to build EBC drivers:
214 # Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
215 # Required to build platforms or ACPI tables:
216 # Intel(r) ACPI Compiler (iasl.exe) from
217 # https://acpica.org/downloads
218 # VS2013 -win32- Requires:
219 # Microsoft Visual Studio 2013 Professional Edition
220 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
221 # Optional:
222 # Required to build EBC drivers:
223 # Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
224 # Required to build platforms or ACPI tables:
225 # Intel(r) ACPI Compiler (iasl.exe) from
226 # https://acpica.org/downloads
227 # VS2015 -win32- Requires:
228 # Microsoft Visual Studio 2015 Professional Edition
229 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
230 # Optional:
231 # Required to build EBC drivers:
232 # Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
233 # Required to build platforms or ACPI tables:
234 # Intel(r) ACPI Compiler (iasl.exe) from
235 # https://acpica.org/downloads
236 # VS2017 -win32- Requires:
237 # Microsoft Visual Studio 2017 version 15.2 (15.4 for ARM64) or later
238 # Optional:
239 # Required to build EBC drivers:
240 # Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
241 # Required to build platforms or ACPI tables:
242 # Intel(r) ACPI Compiler (iasl.exe) from
243 # https://acpica.org/downloads
244 # Note:
245 # Building of XIP firmware images for ARM/ARM64 is not currently supported (only applications).
246 # /FILEALIGN:4096 and other changes are needed for ARM firmware builds.
247 # VS2019 -win32- Requires:
248 # Microsoft Visual Studio 2019 version 16.2 or later
249 # Optional:
250 # Required to build EBC drivers:
251 # Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
252 # Required to build platforms or ACPI tables:
253 # Intel(r) ACPI Compiler (iasl.exe) from
254 # https://acpica.org/downloads
255 # Note:
256 # Building of XIP firmware images for ARM/ARM64 is not currently supported (only applications).
257 # /FILEALIGN:4096 and other changes are needed for ARM firmware builds.
258 # GCC48 -Linux,Windows- Requires:
259 # GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
260 # Optional:
261 # Required to build platforms or ACPI tables:
262 # Intel(r) ACPI Compiler from
263 # https://acpica.org/downloads
264 # GCC49 -Linux,Windows- Requires:
265 # GCC 4.9 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
266 # Optional:
267 # Required to build platforms or ACPI tables:
268 # Intel(r) ACPI Compiler from
269 # https://acpica.org/downloads
270 # GCC5 -Linux,Windows- Requires:
271 # GCC 5 with LTO support, targeting x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu or loongarch64-linux-gnu
272 # Optional:
273 # Required to build platforms or ACPI tables:
274 # Intel(r) ACPI Compiler from
275 # https://acpica.org/downloads
276 #
277 # CLANG35 -Linux,Windows- Requires:
278 # Clang v3.5 or later, and GNU binutils targeting aarch64-linux-gnu or arm-linux-gnueabi
279 # Optional:
280 # Required to build platforms or ACPI tables:
281 # Intel(r) ACPI Compiler from
282 # https://acpica.org/downloads
283 # CLANG38 -Linux- Requires:
284 # Clang v3.8, LLVMgold plugin and GNU binutils 2.26 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi
285 # Clang v3.9 or later, LLVMgold plugin and GNU binutils 2.28 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi
286 # Optional:
287 # Required to build platforms or ACPI tables:
288 # Intel(r) ACPI Compiler from
289 # https://acpica.org/downloads
290 # CLANGPDB -Linux, Windows, Mac- Requires:
291 # Clang 9 or above from http://releases.llvm.org/
292 # Optional:
293 # Required to compile nasm source:
294 # nasm compiler from
295 # NASM -- http://www.nasm.us/
296 # CLANGDWARF -Linux, Windows, Mac- Requires:
297 # Clang 9 or above from http://releases.llvm.org/
298 # Optional:
299 # Required to compile nasm source:
300 # nasm compiler from
301 # NASM -- http://www.nasm.us/
302 # VS2008x86 -win64- Requires:
303 # Microsoft Visual Studio 2008 (x86)
304 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
305 # Optional:
306 # Required to build platforms or ACPI tables:
307 # Intel(r) ACPI Compiler (iasl.exe) from
308 # https://acpica.org/downloads
309 # VS2010x86 -win64- Requires:
310 # Microsoft Visual Studio 2010 (x86) Premium Edition
311 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
312 # Optional:
313 # Required to build platforms or ACPI tables:
314 # Intel(r) ACPI Compiler (iasl.exe) from
315 # https://acpica.org/downloads
316 # VS2012x86 -win64- Requires:
317 # Microsoft Visual Studio 2012 (x86) Professional Edition
318 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
319 # Optional:
320 # Required to build platforms or ACPI tables:
321 # Intel(r) ACPI Compiler (iasl.exe) from
322 # https://acpica.org/downloads
323 # VS2013x86 -win64- Requires:
324 # Microsoft Visual Studio 2013 (x86) Professional Edition
325 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
326 # Optional:
327 # Required to build platforms or ACPI tables:
328 # Intel(r) ACPI Compiler (iasl.exe) from
329 # https://acpica.org/downloads
330 # VS2015x86 -win64- Requires:
331 # Microsoft Visual Studio 2015 (x86) Update 2 or above
332 # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
333 # Optional:
334 # Required to build platforms or ACPI tables:
335 # Intel(r) ACPI Compiler (iasl.exe) from
336 # https://acpica.org/downloads
337 # * Commented out - All versions of VS2005 use the same standard install directory
338 #
339 ####################################################################################
340 ####################################################################################
341 #
342 # Supported Tool Chain Family
343 # ===========================
344 # MSFT - Microsoft
345 # GCC - GNU GCC
346 # INTEL - INTEL
347 ####################################################################################
348 ####################################################################################
349 #
350 # Other Supported Tools
351 # =====================
352 # NASM -- http://www.nasm.us/
353 # - NASM 2.15.05 or later for use with the GCC toolchain family
354 # - NASM 2.15.05 or later for use with all other toolchain families
355 #
356 ####################################################################################
357 ####################################################################################
358 #
359 # Intel EFI Byte Code Compiler (Template)
360 #
361 ####################################################################################
362 # *_*_EBC_*_FAMILY = INTEL
363 #
364 # *_*_EBC_PP_PATH = C:\Program Files\Intel\EBC\Bin\iec.exe
365 # *_*_EBC_CC_PATH = C:\Program Files\Intel\EBC\Bin\iec.exe
366 # *_*_EBC_SLINK_PATH = C:\Program Files\Intel\EBC\Bin\link.exe
367 #
368 # *_*_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
369 # *_*_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
370 # *_*_EBC_CC_FLAGS = /nologo /FAcs /c /W3 /WX /FIAutoGen.h
371 # *_*_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /MACHINE:EBC /OPT:REF /NODEFAULTLIB /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /ALIGN:32 /DRIVER
372 #
373 ####################################################################################
374 #
375 # Intel ACPI Source Language Compiler (Template)
376 #
377 ####################################################################################
378 # *_*_*_ASL_FAMILY = INTEL
379 #
380 # *_*_*_ASL_PATH = C:\ASL\iasl.exe
381 #
382 ####################################################################################
383 #
384 # Microsoft ACPI Source Language Compiler (Template)
385 #
386 ####################################################################################
387 # *_*_*_ASL_FAMILY = MSFT
388 #
389 # *_*_*_ASL_PATH = C:\ASL\asl.exe
390 #
391 ####################################################################################
392
393 ####################################################################################
394 #
395 # Microsoft Visual Studio 2008
396 #
397 # VS2008 - Microsoft Visual Studio 2005 All Edition, including Standard, Professional, Express, TeamSuite
398 # ASL - Intel ACPI Source Language Compiler
399 ####################################################################################
400 # VS2008 - Microsoft Visual Studio 2008 ALL Edition, including Standard, Professional, Express, TeamSuite
401 *_VS2008_*_*_FAMILY = MSFT
402
403 *_VS2008_*_MAKE_PATH = DEF(VS2008_BIN)\nmake.exe
404 *_VS2008_*_MAKE_FLAGS = /nologo
405 *_VS2008_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe
406
407 *_VS2008_*_SLINK_FLAGS = /NOLOGO /LTCG
408 *_VS2008_*_APP_FLAGS = /nologo /E /TC
409 *_VS2008_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
410 *_VS2008_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
411 *_VS2008_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
412 *_VS2008_*_ASM16_PATH = DEF(VS2008_BIN)\ml.exe
413
414 ##################
415 # ASL definitions
416 ##################
417 *_VS2008_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
418 *_VS2008_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
419 *_VS2008_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
420 *_VS2008_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
421 *_VS2008_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
422 *_VS2008_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
423
424 ##################
425 # IA32 definitions
426 ##################
427 *_VS2008_IA32_*_DLL = DEF(VS2008_DLL)
428
429 *_VS2008_IA32_CC_PATH = DEF(VS2008_BIN)\cl.exe
430 *_VS2008_IA32_VFRPP_PATH = DEF(VS2008_BIN)\cl.exe
431 *_VS2008_IA32_SLINK_PATH = DEF(VS2008_BIN)\lib.exe
432 *_VS2008_IA32_DLINK_PATH = DEF(VS2008_BIN)\link.exe
433 *_VS2008_IA32_APP_PATH = DEF(VS2008_BIN)\cl.exe
434 *_VS2008_IA32_PP_PATH = DEF(VS2008_BIN)\cl.exe
435 *_VS2008_IA32_ASM_PATH = DEF(VS2008_BIN)\ml.exe
436 *_VS2008_IA32_ASLCC_PATH = DEF(VS2008_BIN)\cl.exe
437 *_VS2008_IA32_ASLPP_PATH = DEF(VS2008_BIN)\cl.exe
438 *_VS2008_IA32_ASLDLINK_PATH = DEF(VS2008_BIN)\link.exe
439
440 DEBUG_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
441 RELEASE_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
442 NOOPT_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
443
444 DEBUG_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
445 RELEASE_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
446 NOOPT_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
447
448 DEBUG_VS2008_IA32_NASM_FLAGS = -Ox -f win32 -g
449 RELEASE_VS2008_IA32_NASM_FLAGS = -Ox -f win32
450 NOOPT_VS2008_IA32_NASM_FLAGS = -O0 -f win32 -g
451
452 DEBUG_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
453 RELEASE_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
454 NOOPT_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
455
456 ##################
457 # X64 definitions
458 ##################
459 *_VS2008_X64_*_DLL = DEF(VS2008_DLL)
460
461 *_VS2008_X64_CC_PATH = DEF(VS2008_BINX64)\cl.exe
462 *_VS2008_X64_PP_PATH = DEF(VS2008_BINX64)\cl.exe
463 *_VS2008_X64_APP_PATH = DEF(VS2008_BINX64)\cl.exe
464 *_VS2008_X64_VFRPP_PATH = DEF(VS2008_BINX64)\cl.exe
465 *_VS2008_X64_ASM_PATH = DEF(VS2008_BINX64)\ml64.exe
466 *_VS2008_X64_SLINK_PATH = DEF(VS2008_BINX64)\lib.exe
467 *_VS2008_X64_DLINK_PATH = DEF(VS2008_BINX64)\link.exe
468 *_VS2008_X64_ASLCC_PATH = DEF(VS2008_BINX64)\cl.exe
469 *_VS2008_X64_ASLPP_PATH = DEF(VS2008_BINX64)\cl.exe
470 *_VS2008_X64_ASLDLINK_PATH = DEF(VS2008_BINX64)\link.exe
471
472 DEBUG_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
473 RELEASE_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
474 NOOPT_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
475
476 DEBUG_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
477 RELEASE_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
478 NOOPT_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
479
480 DEBUG_VS2008_X64_NASM_FLAGS = -Ox -f win64 -g
481 RELEASE_VS2008_X64_NASM_FLAGS = -Ox -f win64
482 NOOPT_VS2008_X64_NASM_FLAGS = -O0 -f win64 -g
483
484 DEBUG_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
485 RELEASE_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
486 NOOPT_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
487
488 ##################
489 # EBC definitions
490 ##################
491 *_VS2008_EBC_*_FAMILY = INTEL
492 *_VS2008_EBC_*_DLL = DEF(VS2008_DLL)
493
494 *_VS2008_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
495 *_VS2008_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
496 *_VS2008_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
497 *_VS2008_EBC_SLINK_PATH = DEF(VS2008_BIN)\link.exe
498 *_VS2008_EBC_DLINK_PATH = DEF(VS2008_BIN)\link.exe
499
500 *_VS2008_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
501 *_VS2008_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
502 *_VS2008_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
503 *_VS2008_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
504 *_VS2008_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
505
506
507 ####################################################################################
508 # VS2008x86 - Microsoft Visual Studio 2008 (x86) with Intel ASL
509 # ASL - Intel ACPI Source Language Compiler (iasl.exe)
510 ####################################################################################
511 # VS2008x86 - Microsoft Visual Studio 2008 (x86) ALL Edition with Intel ASL
512 *_VS2008x86_*_*_FAMILY = MSFT
513
514 *_VS2008x86_*_MAKE_PATH = DEF(VS2008x86_BIN)\nmake.exe
515 *_VS2008x86_*_MAKE_FLAGS = /nologo
516 *_VS2008x86_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe
517
518 *_VS2008x86_*_SLINK_FLAGS = /NOLOGO /LTCG
519 *_VS2008x86_*_APP_FLAGS = /nologo /E /TC
520 *_VS2008x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
521 *_VS2008x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
522 *_VS2008x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
523 *_VS2008x86_*_ASM16_PATH = DEF(VS2008x86_BIN)\ml.exe
524
525 ##################
526 # ASL definitions
527 ##################
528 *_VS2008x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
529 *_VS2008x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
530 *_VS2008x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
531 *_VS2008x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
532 *_VS2008x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
533 *_VS2008x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
534
535 ##################
536 # IA32 definitions
537 ##################
538 *_VS2008x86_IA32_*_DLL = DEF(VS2008x86_DLL)
539
540 *_VS2008x86_IA32_CC_PATH = DEF(VS2008x86_BIN)\cl.exe
541 *_VS2008x86_IA32_VFRPP_PATH = DEF(VS2008x86_BIN)\cl.exe
542 *_VS2008x86_IA32_ASLCC_PATH = DEF(VS2008x86_BIN)\cl.exe
543 *_VS2008x86_IA32_ASLPP_PATH = DEF(VS2008x86_BIN)\cl.exe
544 *_VS2008x86_IA32_SLINK_PATH = DEF(VS2008x86_BIN)\lib.exe
545 *_VS2008x86_IA32_DLINK_PATH = DEF(VS2008x86_BIN)\link.exe
546 *_VS2008x86_IA32_ASLDLINK_PATH= DEF(VS2008x86_BIN)\link.exe
547 *_VS2008x86_IA32_APP_PATH = DEF(VS2008x86_BIN)\cl.exe
548 *_VS2008x86_IA32_PP_PATH = DEF(VS2008x86_BIN)\cl.exe
549 *_VS2008x86_IA32_ASM_PATH = DEF(VS2008x86_BIN)\ml.exe
550
551 DEBUG_VS2008x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
552 RELEASE_VS2008x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
553 NOOPT_VS2008x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
554
555 DEBUG_VS2008x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
556 RELEASE_VS2008x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
557 NOOPT_VS2008x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
558
559 DEBUG_VS2008x86_IA32_NASM_FLAGS = -Ox -f win32 -g
560 RELEASE_VS2008x86_IA32_NASM_FLAGS = -Ox -f win32
561 NOOPT_VS2008x86_IA32_NASM_FLAGS = -O0 -f win32 -g
562
563 DEBUG_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
564 RELEASE_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
565 NOOPT_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
566
567 ##################
568 # X64 definitions
569 ##################
570 *_VS2008x86_X64_*_DLL = DEF(VS2008x86_DLL)
571
572 *_VS2008x86_X64_CC_PATH = DEF(VS2008x86_BINX64)\cl.exe
573 *_VS2008x86_X64_PP_PATH = DEF(VS2008x86_BINX64)\cl.exe
574 *_VS2008x86_X64_APP_PATH = DEF(VS2008x86_BINX64)\cl.exe
575 *_VS2008x86_X64_VFRPP_PATH = DEF(VS2008x86_BINX64)\cl.exe
576 *_VS2008x86_X64_ASLCC_PATH = DEF(VS2008x86_BINX64)\cl.exe
577 *_VS2008x86_X64_ASLPP_PATH = DEF(VS2008x86_BINX64)\cl.exe
578 *_VS2008x86_X64_ASM_PATH = DEF(VS2008x86_BINX64)\ml64.exe
579 *_VS2008x86_X64_SLINK_PATH = DEF(VS2008x86_BINX64)\lib.exe
580 *_VS2008x86_X64_DLINK_PATH = DEF(VS2008x86_BINX64)\link.exe
581 *_VS2008x86_X64_ASLDLINK_PATH = DEF(VS2008x86_BINX64)\link.exe
582
583 DEBUG_VS2008x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
584 RELEASE_VS2008x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
585 NOOPT_VS2008x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
586 DEBUG_VS2008x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
587 RELEASE_VS2008x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
588 NOOPT_VS2008x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
589
590 DEBUG_VS2008x86_X64_NASM_FLAGS = -Ox -f win64 -g
591 RELEASE_VS2008x86_X64_NASM_FLAGS = -Ox -f win64
592 NOOPT_VS2008x86_X64_NASM_FLAGS = -O0 -f win64 -g
593
594 DEBUG_VS2008x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
595 RELEASE_VS2008x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
596 NOOPT_VS2008x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
597
598 ##################
599 # EBC definitions
600 ##################
601 *_VS2008x86_EBC_*_FAMILY = INTEL
602 *_VS2008x86_EBC_*_DLL = DEF(VS2008x86_DLL)
603
604 *_VS2008x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
605 *_VS2008x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
606 *_VS2008x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
607 *_VS2008x86_EBC_SLINK_PATH = DEF(VS2008x86_BIN)\link.exe
608 *_VS2008x86_EBC_DLINK_PATH = DEF(VS2008x86_BIN)\link.exe
609
610 *_VS2008x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
611 *_VS2008x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
612 *_VS2008x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
613 *_VS2008x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
614 *_VS2008x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
615
616
617
618 ####################################################################################
619 #
620 # Microsoft Visual Studio 2010
621 #
622 # VS2010 - Microsoft Visual Studio 2010 Premium Edition with Intel ASL
623 # ASL - Intel ACPI Source Language Compiler
624 ####################################################################################
625 # VS2010 - Microsoft Visual Studio 2010 Premium Edition
626 *_VS2010_*_*_FAMILY = MSFT
627
628 *_VS2010_*_MAKE_PATH = DEF(VS2010_BIN)\nmake.exe
629 *_VS2010_*_MAKE_FLAGS = /nologo
630 *_VS2010_*_RC_PATH = DEF(WINSDK7_BIN)\rc.exe
631
632 *_VS2010_*_SLINK_FLAGS = /NOLOGO /LTCG
633 *_VS2010_*_APP_FLAGS = /nologo /E /TC
634 *_VS2010_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
635 *_VS2010_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
636 *_VS2010_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
637 *_VS2010_*_ASM16_PATH = DEF(VS2010_BIN)\ml.exe
638
639 ##################
640 # ASL definitions
641 ##################
642 *_VS2010_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
643 *_VS2010_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
644 *_VS2010_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
645 *_VS2010_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
646 *_VS2010_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
647 *_VS2010_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
648
649 ##################
650 # IA32 definitions
651 ##################
652 *_VS2010_IA32_*_DLL = DEF(VS2010_DLL)
653
654 *_VS2010_IA32_CC_PATH = DEF(VS2010_BIN)\cl.exe
655 *_VS2010_IA32_VFRPP_PATH = DEF(VS2010_BIN)\cl.exe
656 *_VS2010_IA32_SLINK_PATH = DEF(VS2010_BIN)\lib.exe
657 *_VS2010_IA32_DLINK_PATH = DEF(VS2010_BIN)\link.exe
658 *_VS2010_IA32_APP_PATH = DEF(VS2010_BIN)\cl.exe
659 *_VS2010_IA32_PP_PATH = DEF(VS2010_BIN)\cl.exe
660 *_VS2010_IA32_ASM_PATH = DEF(VS2010_BIN)\ml.exe
661 *_VS2010_IA32_ASLCC_PATH = DEF(VS2010_BIN)\cl.exe
662 *_VS2010_IA32_ASLPP_PATH = DEF(VS2010_BIN)\cl.exe
663 *_VS2010_IA32_ASLDLINK_PATH = DEF(VS2010_BIN)\link.exe
664
665 DEBUG_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
666 RELEASE_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
667 NOOPT_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
668
669 DEBUG_VS2010_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
670 RELEASE_VS2010_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
671 NOOPT_VS2010_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
672
673 DEBUG_VS2010_IA32_NASM_FLAGS = -Ox -f win32 -g
674 RELEASE_VS2010_IA32_NASM_FLAGS = -Ox -f win32
675 NOOPT_VS2010_IA32_NASM_FLAGS = -O0 -f win32 -g
676
677 DEBUG_VS2010_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
678 RELEASE_VS2010_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
679 NOOPT_VS2010_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
680
681 ##################
682 # X64 definitions
683 ##################
684 *_VS2010_X64_*_DLL = DEF(VS2010_DLL)
685
686 *_VS2010_X64_CC_PATH = DEF(VS2010_BINX64)\cl.exe
687 *_VS2010_X64_PP_PATH = DEF(VS2010_BINX64)\cl.exe
688 *_VS2010_X64_APP_PATH = DEF(VS2010_BINX64)\cl.exe
689 *_VS2010_X64_VFRPP_PATH = DEF(VS2010_BINX64)\cl.exe
690 *_VS2010_X64_ASM_PATH = DEF(VS2010_BINX64)\ml64.exe
691 *_VS2010_X64_SLINK_PATH = DEF(VS2010_BINX64)\lib.exe
692 *_VS2010_X64_DLINK_PATH = DEF(VS2010_BINX64)\link.exe
693 *_VS2010_X64_ASLCC_PATH = DEF(VS2010_BINX64)\cl.exe
694 *_VS2010_X64_ASLPP_PATH = DEF(VS2010_BINX64)\cl.exe
695 *_VS2010_X64_ASLDLINK_PATH = DEF(VS2010_BINX64)\link.exe
696
697 DEBUG_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
698 RELEASE_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
699 NOOPT_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
700
701 DEBUG_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
702 RELEASE_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
703 NOOPT_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
704
705 DEBUG_VS2010_X64_NASM_FLAGS = -Ox -f win64 -g
706 RELEASE_VS2010_X64_NASM_FLAGS = -Ox -f win64
707 NOOPT_VS2010_X64_NASM_FLAGS = -O0 -f win64 -g
708
709 DEBUG_VS2010_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
710 RELEASE_VS2010_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
711 NOOPT_VS2010_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
712
713 ##################
714 # EBC definitions
715 ##################
716 *_VS2010_EBC_*_FAMILY = INTEL
717 *_VS2010_EBC_*_DLL = DEF(VS2010_DLL)
718
719 *_VS2010_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
720 *_VS2010_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
721 *_VS2010_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
722 *_VS2010_EBC_SLINK_PATH = DEF(VS2010_BIN)\link.exe
723 *_VS2010_EBC_DLINK_PATH = DEF(VS2010_BIN)\link.exe
724
725 *_VS2010_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
726 *_VS2010_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
727 *_VS2010_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
728 *_VS2010_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
729 *_VS2010_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
730
731
732 ####################################################################################
733 # VS2010x86 - Microsoft Visual Studio 2010 (x86) with Intel ASL
734 # ASL - Intel ACPI Source Language Compiler (iasl.exe)
735 ####################################################################################
736 # VS2010x86 - Microsoft Visual Studio 2010 (x86) ALL Edition with Intel ASL
737 *_VS2010x86_*_*_FAMILY = MSFT
738
739 *_VS2010x86_*_MAKE_PATH = DEF(VS2010x86_BIN)\nmake.exe
740 *_VS2010x86_*_MAKE_FLAGS = /nologo
741 *_VS2010x86_*_RC_PATH = DEF(WINSDK7x86_BIN)\rc.exe
742
743 *_VS2010x86_*_SLINK_FLAGS = /NOLOGO /LTCG
744 *_VS2010x86_*_APP_FLAGS = /nologo /E /TC
745 *_VS2010x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
746 *_VS2010x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
747 *_VS2010x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
748 *_VS2010x86_*_ASM16_PATH = DEF(VS2010x86_BIN)\ml.exe
749
750 ##################
751 # ASL definitions
752 ##################
753 *_VS2010x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
754 *_VS2010x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
755 *_VS2010x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
756 *_VS2010x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
757 *_VS2010x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
758 *_VS2010x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
759
760 ##################
761 # IA32 definitions
762 ##################
763 *_VS2010x86_IA32_*_DLL = DEF(VS2010x86_DLL)
764
765 *_VS2010x86_IA32_CC_PATH = DEF(VS2010x86_BIN)\cl.exe
766 *_VS2010x86_IA32_VFRPP_PATH = DEF(VS2010x86_BIN)\cl.exe
767 *_VS2010x86_IA32_ASLCC_PATH = DEF(VS2010x86_BIN)\cl.exe
768 *_VS2010x86_IA32_ASLPP_PATH = DEF(VS2010x86_BIN)\cl.exe
769 *_VS2010x86_IA32_SLINK_PATH = DEF(VS2010x86_BIN)\lib.exe
770 *_VS2010x86_IA32_DLINK_PATH = DEF(VS2010x86_BIN)\link.exe
771 *_VS2010x86_IA32_ASLDLINK_PATH= DEF(VS2010x86_BIN)\link.exe
772 *_VS2010x86_IA32_APP_PATH = DEF(VS2010x86_BIN)\cl.exe
773 *_VS2010x86_IA32_PP_PATH = DEF(VS2010x86_BIN)\cl.exe
774 *_VS2010x86_IA32_ASM_PATH = DEF(VS2010x86_BIN)\ml.exe
775
776 DEBUG_VS2010x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
777 RELEASE_VS2010x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
778 NOOPT_VS2010x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
779
780 DEBUG_VS2010x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
781 RELEASE_VS2010x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
782 NOOPT_VS2010x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
783
784 DEBUG_VS2010x86_IA32_NASM_FLAGS = -Ox -f win32 -g
785 RELEASE_VS2010x86_IA32_NASM_FLAGS = -Ox -f win32
786 NOOPT_VS2010x86_IA32_NASM_FLAGS = -O0 -f win32 -g
787
788 DEBUG_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
789 RELEASE_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
790 NOOPT_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
791
792 ##################
793 # X64 definitions
794 ##################
795 *_VS2010x86_X64_*_DLL = DEF(VS2010x86_DLL)
796
797 *_VS2010x86_X64_CC_PATH = DEF(VS2010x86_BINX64)\cl.exe
798 *_VS2010x86_X64_PP_PATH = DEF(VS2010x86_BINX64)\cl.exe
799 *_VS2010x86_X64_APP_PATH = DEF(VS2010x86_BINX64)\cl.exe
800 *_VS2010x86_X64_VFRPP_PATH = DEF(VS2010x86_BINX64)\cl.exe
801 *_VS2010x86_X64_ASLCC_PATH = DEF(VS2010x86_BINX64)\cl.exe
802 *_VS2010x86_X64_ASLPP_PATH = DEF(VS2010x86_BINX64)\cl.exe
803 *_VS2010x86_X64_ASM_PATH = DEF(VS2010x86_BINX64)\ml64.exe
804 *_VS2010x86_X64_SLINK_PATH = DEF(VS2010x86_BINX64)\lib.exe
805 *_VS2010x86_X64_DLINK_PATH = DEF(VS2010x86_BINX64)\link.exe
806 *_VS2010x86_X64_ASLDLINK_PATH = DEF(VS2010x86_BINX64)\link.exe
807
808 DEBUG_VS2010x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
809 RELEASE_VS2010x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
810 NOOPT_VS2010x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
811
812 DEBUG_VS2010x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
813 RELEASE_VS2010x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
814 NOOPT_VS2010x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
815
816 DEBUG_VS2010x86_X64_NASM_FLAGS = -Ox -f win64 -g
817 RELEASE_VS2010x86_X64_NASM_FLAGS = -Ox -f win64
818 NOOPT_VS2010x86_X64_NASM_FLAGS = -O0 -f win64 -g
819
820 DEBUG_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
821 RELEASE_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
822 NOOPT_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
823
824 ##################
825 # EBC definitions
826 ##################
827 *_VS2010x86_EBC_*_FAMILY = INTEL
828 *_VS2010x86_EBC_*_DLL = DEF(VS2010x86_DLL)
829
830 *_VS2010x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
831 *_VS2010x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
832 *_VS2010x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
833 *_VS2010x86_EBC_SLINK_PATH = DEF(VS2010x86_BIN)\link.exe
834 *_VS2010x86_EBC_DLINK_PATH = DEF(VS2010x86_BIN)\link.exe
835
836 *_VS2010x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
837 *_VS2010x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
838 *_VS2010x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
839 *_VS2010x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
840 *_VS2010x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
841
842
843 ####################################################################################
844 #
845 # Microsoft Visual Studio 2012
846 #
847 # VS2012 - Microsoft Visual Studio 2012 Professional Edition with Intel ASL
848 # ASL - Intel ACPI Source Language Compiler
849 ####################################################################################
850 # VS2012 - Microsoft Visual Studio 2012 Professional Edition
851 *_VS2012_*_*_FAMILY = MSFT
852
853 *_VS2012_*_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe
854 *_VS2012_*_MAKE_FLAGS = /nologo
855 *_VS2012_*_RC_PATH = DEF(WINSDK71_BIN)\rc.exe
856
857 *_VS2012_*_SLINK_FLAGS = /NOLOGO /LTCG
858 *_VS2012_*_APP_FLAGS = /nologo /E /TC
859 *_VS2012_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
860 *_VS2012_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
861 *_VS2012_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
862 *_VS2012_*_ASM16_PATH = DEF(VS2012_BIN)\ml.exe
863
864 ##################
865 # ASL definitions
866 ##################
867 *_VS2012_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
868 *_VS2012_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
869 *_VS2012_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
870 *_VS2012_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
871 *_VS2012_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
872 *_VS2012_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
873
874 ##################
875 # IA32 definitions
876 ##################
877 *_VS2012_IA32_*_DLL = DEF(VS2012_DLL)
878
879 *_VS2012_IA32_CC_PATH = DEF(VS2012_BIN)\cl.exe
880 *_VS2012_IA32_VFRPP_PATH = DEF(VS2012_BIN)\cl.exe
881 *_VS2012_IA32_SLINK_PATH = DEF(VS2012_BIN)\lib.exe
882 *_VS2012_IA32_DLINK_PATH = DEF(VS2012_BIN)\link.exe
883 *_VS2012_IA32_APP_PATH = DEF(VS2012_BIN)\cl.exe
884 *_VS2012_IA32_PP_PATH = DEF(VS2012_BIN)\cl.exe
885 *_VS2012_IA32_ASM_PATH = DEF(VS2012_BIN)\ml.exe
886 *_VS2012_IA32_ASLCC_PATH = DEF(VS2012_BIN)\cl.exe
887 *_VS2012_IA32_ASLPP_PATH = DEF(VS2012_BIN)\cl.exe
888 *_VS2012_IA32_ASLDLINK_PATH = DEF(VS2012_BIN)\link.exe
889
890 DEBUG_VS2012_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
891 RELEASE_VS2012_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
892 NOOPT_VS2012_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
893
894 DEBUG_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
895 RELEASE_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
896 NOOPT_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
897
898 DEBUG_VS2012_IA32_NASM_FLAGS = -Ox -f win32 -g
899 RELEASE_VS2012_IA32_NASM_FLAGS = -Ox -f win32
900 NOOPT_VS2012_IA32_NASM_FLAGS = -O0 -f win32 -g
901
902 DEBUG_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
903 RELEASE_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
904 NOOPT_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
905
906 ##################
907 # X64 definitions
908 ##################
909 *_VS2012_X64_*_DLL = DEF(VS2012_DLL)
910
911 *_VS2012_X64_CC_PATH = DEF(VS2012_BINX64)\cl.exe
912 *_VS2012_X64_PP_PATH = DEF(VS2012_BINX64)\cl.exe
913 *_VS2012_X64_APP_PATH = DEF(VS2012_BINX64)\cl.exe
914 *_VS2012_X64_VFRPP_PATH = DEF(VS2012_BINX64)\cl.exe
915 *_VS2012_X64_ASM_PATH = DEF(VS2012_BINX64)\ml64.exe
916 *_VS2012_X64_SLINK_PATH = DEF(VS2012_BINX64)\lib.exe
917 *_VS2012_X64_DLINK_PATH = DEF(VS2012_BINX64)\link.exe
918 *_VS2012_X64_ASLCC_PATH = DEF(VS2012_BINX64)\cl.exe
919 *_VS2012_X64_ASLPP_PATH = DEF(VS2012_BINX64)\cl.exe
920 *_VS2012_X64_ASLDLINK_PATH = DEF(VS2012_BINX64)\link.exe
921
922 DEBUG_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
923 RELEASE_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
924 NOOPT_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
925
926 DEBUG_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
927 RELEASE_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
928 NOOPT_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
929
930 DEBUG_VS2012_X64_NASM_FLAGS = -Ox -f win64 -g
931 RELEASE_VS2012_X64_NASM_FLAGS = -Ox -f win64
932 NOOPT_VS2012_X64_NASM_FLAGS = -O0 -f win64 -g
933
934 DEBUG_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
935 RELEASE_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
936 NOOPT_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
937
938 ##################
939 # EBC definitions
940 ##################
941 *_VS2012_EBC_*_FAMILY = INTEL
942 *_VS2012_EBC_*_DLL = DEF(VS2012_DLL)
943
944 *_VS2012_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
945 *_VS2012_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
946 *_VS2012_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
947 *_VS2012_EBC_SLINK_PATH = DEF(VS2012_BIN)\link.exe
948 *_VS2012_EBC_DLINK_PATH = DEF(VS2012_BIN)\link.exe
949
950 *_VS2012_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
951 *_VS2012_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
952 *_VS2012_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
953 *_VS2012_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
954 *_VS2012_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
955
956
957 ####################################################################################
958 # VS2012x86 - Microsoft Visual Studio 2012 (x86) professional with Intel ASL
959 # ASL - Intel ACPI Source Language Compiler (iasl.exe)
960 ####################################################################################
961 # VS2012x86 - Microsoft Visual Studio 2012 (x86) professional Edition with Intel ASL
962 *_VS2012x86_*_*_FAMILY = MSFT
963
964 *_VS2012x86_*_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe
965 *_VS2012x86_*_MAKE_FLAGS = /nologo
966 *_VS2012x86_*_RC_PATH = DEF(WINSDK71x86_BIN)\rc.exe
967
968 *_VS2012x86_*_SLINK_FLAGS = /NOLOGO /LTCG
969 *_VS2012x86_*_APP_FLAGS = /nologo /E /TC
970 *_VS2012x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
971 *_VS2012x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
972 *_VS2012x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
973 *_VS2012x86_*_ASM16_PATH = DEF(VS2012x86_BIN)\ml.exe
974
975 ##################
976 # ASL definitions
977 ##################
978 *_VS2012x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
979 *_VS2012x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
980 *_VS2012x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
981 *_VS2012x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
982 *_VS2012x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
983 *_VS2012x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
984
985 ##################
986 # IA32 definitions
987 ##################
988 *_VS2012x86_IA32_*_DLL = DEF(VS2012x86_DLL)
989
990 *_VS2012x86_IA32_CC_PATH = DEF(VS2012x86_BIN)\cl.exe
991 *_VS2012x86_IA32_VFRPP_PATH = DEF(VS2012x86_BIN)\cl.exe
992 *_VS2012x86_IA32_ASLCC_PATH = DEF(VS2012x86_BIN)\cl.exe
993 *_VS2012x86_IA32_ASLPP_PATH = DEF(VS2012x86_BIN)\cl.exe
994 *_VS2012x86_IA32_SLINK_PATH = DEF(VS2012x86_BIN)\lib.exe
995 *_VS2012x86_IA32_DLINK_PATH = DEF(VS2012x86_BIN)\link.exe
996 *_VS2012x86_IA32_ASLDLINK_PATH= DEF(VS2012x86_BIN)\link.exe
997 *_VS2012x86_IA32_APP_PATH = DEF(VS2012x86_BIN)\cl.exe
998 *_VS2012x86_IA32_PP_PATH = DEF(VS2012x86_BIN)\cl.exe
999 *_VS2012x86_IA32_ASM_PATH = DEF(VS2012x86_BIN)\ml.exe
1000
1001 DEBUG_VS2012x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
1002 RELEASE_VS2012x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
1003 NOOPT_VS2012x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
1004
1005 DEBUG_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1006 RELEASE_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
1007 NOOPT_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1008
1009 DEBUG_VS2012x86_IA32_NASM_FLAGS = -Ox -f win32 -g
1010 RELEASE_VS2012x86_IA32_NASM_FLAGS = -Ox -f win32
1011 NOOPT_VS2012x86_IA32_NASM_FLAGS = -O0 -f win32 -g
1012
1013 DEBUG_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1014 RELEASE_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1015 NOOPT_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1016
1017 ##################
1018 # X64 definitions
1019 ##################
1020 *_VS2012x86_X64_*_DLL = DEF(VS2012x86_DLL)
1021
1022 *_VS2012x86_X64_CC_PATH = DEF(VS2012x86_BINX64)\cl.exe
1023 *_VS2012x86_X64_PP_PATH = DEF(VS2012x86_BINX64)\cl.exe
1024 *_VS2012x86_X64_APP_PATH = DEF(VS2012x86_BINX64)\cl.exe
1025 *_VS2012x86_X64_VFRPP_PATH = DEF(VS2012x86_BINX64)\cl.exe
1026 *_VS2012x86_X64_ASLCC_PATH = DEF(VS2012x86_BINX64)\cl.exe
1027 *_VS2012x86_X64_ASLPP_PATH = DEF(VS2012x86_BINX64)\cl.exe
1028 *_VS2012x86_X64_ASM_PATH = DEF(VS2012x86_BINX64)\ml64.exe
1029 *_VS2012x86_X64_SLINK_PATH = DEF(VS2012x86_BINX64)\lib.exe
1030 *_VS2012x86_X64_DLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
1031 *_VS2012x86_X64_ASLDLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
1032
1033 DEBUG_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
1034 RELEASE_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
1035 NOOPT_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
1036
1037 DEBUG_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1038 RELEASE_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
1039 NOOPT_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1040
1041 DEBUG_VS2012x86_X64_NASM_FLAGS = -Ox -f win64 -g
1042 RELEASE_VS2012x86_X64_NASM_FLAGS = -Ox -f win64
1043 NOOPT_VS2012x86_X64_NASM_FLAGS = -O0 -f win64 -g
1044
1045 DEBUG_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1046 RELEASE_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1047 NOOPT_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1048
1049 ##################
1050 # EBC definitions
1051 ##################
1052 *_VS2012x86_EBC_*_FAMILY = INTEL
1053 *_VS2012x86_EBC_*_DLL = DEF(VS2012x86_DLL)
1054
1055 *_VS2012x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
1056 *_VS2012x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
1057 *_VS2012x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
1058 *_VS2012x86_EBC_SLINK_PATH = DEF(VS2012x86_BIN)\link.exe
1059 *_VS2012x86_EBC_DLINK_PATH = DEF(VS2012x86_BIN)\link.exe
1060
1061 *_VS2012x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1062 *_VS2012x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
1063 *_VS2012x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1064 *_VS2012x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
1065 *_VS2012x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
1066
1067
1068 ####################################################################################
1069 #
1070 # Microsoft Visual Studio 2013
1071 #
1072 # VS2013 - Microsoft Visual Studio 2013 Professional Edition with Intel ASL
1073 # ASL - Intel ACPI Source Language Compiler
1074 ####################################################################################
1075 # VS2013 - Microsoft Visual Studio 2013 Professional Edition
1076 *_VS2013_*_*_FAMILY = MSFT
1077
1078 *_VS2013_*_MAKE_PATH = DEF(VS2013_BIN)\nmake.exe
1079 *_VS2013_*_MAKE_FLAGS = /nologo
1080 *_VS2013_*_RC_PATH = DEF(WINSDK8_BIN)\rc.exe
1081
1082 *_VS2013_*_SLINK_FLAGS = /NOLOGO /LTCG
1083 *_VS2013_*_APP_FLAGS = /nologo /E /TC
1084 *_VS2013_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1085 *_VS2013_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1086 *_VS2013_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
1087 *_VS2013_*_ASM16_PATH = DEF(VS2013_BIN)\ml.exe
1088
1089 ##################
1090 # ASL definitions
1091 ##################
1092 *_VS2013_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
1093 *_VS2013_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
1094 *_VS2013_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
1095 *_VS2013_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
1096 *_VS2013_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
1097 *_VS2013_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
1098
1099 ##################
1100 # IA32 definitions
1101 ##################
1102 *_VS2013_IA32_*_DLL = DEF(VS2013_DLL)
1103
1104 *_VS2013_IA32_CC_PATH = DEF(VS2013_BIN)\cl.exe
1105 *_VS2013_IA32_VFRPP_PATH = DEF(VS2013_BIN)\cl.exe
1106 *_VS2013_IA32_SLINK_PATH = DEF(VS2013_BIN)\lib.exe
1107 *_VS2013_IA32_DLINK_PATH = DEF(VS2013_BIN)\link.exe
1108 *_VS2013_IA32_APP_PATH = DEF(VS2013_BIN)\cl.exe
1109 *_VS2013_IA32_PP_PATH = DEF(VS2013_BIN)\cl.exe
1110 *_VS2013_IA32_ASM_PATH = DEF(VS2013_BIN)\ml.exe
1111 *_VS2013_IA32_ASLCC_PATH = DEF(VS2013_BIN)\cl.exe
1112 *_VS2013_IA32_ASLPP_PATH = DEF(VS2013_BIN)\cl.exe
1113 *_VS2013_IA32_ASLDLINK_PATH = DEF(VS2013_BIN)\link.exe
1114
1115 DEBUG_VS2013_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
1116 RELEASE_VS2013_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1117 NOOPT_VS2013_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
1118
1119 DEBUG_VS2013_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1120 RELEASE_VS2013_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
1121 NOOPT_VS2013_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1122
1123 DEBUG_VS2013_IA32_NASM_FLAGS = -Ox -f win32 -g
1124 RELEASE_VS2013_IA32_NASM_FLAGS = -Ox -f win32
1125 NOOPT_VS2013_IA32_NASM_FLAGS = -O0 -f win32 -g
1126
1127 DEBUG_VS2013_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1128 RELEASE_VS2013_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1129 NOOPT_VS2013_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1130
1131 ##################
1132 # X64 definitions
1133 ##################
1134 *_VS2013_X64_*_DLL = DEF(VS2013_DLL)
1135
1136 *_VS2013_X64_CC_PATH = DEF(VS2013_BINX64)\cl.exe
1137 *_VS2013_X64_PP_PATH = DEF(VS2013_BINX64)\cl.exe
1138 *_VS2013_X64_APP_PATH = DEF(VS2013_BINX64)\cl.exe
1139 *_VS2013_X64_VFRPP_PATH = DEF(VS2013_BINX64)\cl.exe
1140 *_VS2013_X64_ASM_PATH = DEF(VS2013_BINX64)\ml64.exe
1141 *_VS2013_X64_SLINK_PATH = DEF(VS2013_BINX64)\lib.exe
1142 *_VS2013_X64_DLINK_PATH = DEF(VS2013_BINX64)\link.exe
1143 *_VS2013_X64_ASLCC_PATH = DEF(VS2013_BINX64)\cl.exe
1144 *_VS2013_X64_ASLPP_PATH = DEF(VS2013_BINX64)\cl.exe
1145 *_VS2013_X64_ASLDLINK_PATH = DEF(VS2013_BINX64)\link.exe
1146
1147 DEBUG_VS2013_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
1148 RELEASE_VS2013_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1149 NOOPT_VS2013_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
1150
1151 DEBUG_VS2013_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1152 RELEASE_VS2013_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
1153 NOOPT_VS2013_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1154
1155 DEBUG_VS2013_X64_NASM_FLAGS = -Ox -f win64 -g
1156 RELEASE_VS2013_X64_NASM_FLAGS = -Ox -f win64
1157 NOOPT_VS2013_X64_NASM_FLAGS = -O0 -f win64 -g
1158
1159 DEBUG_VS2013_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1160 RELEASE_VS2013_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1161 NOOPT_VS2013_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1162
1163 ##################
1164 # EBC definitions
1165 ##################
1166 *_VS2013_EBC_*_FAMILY = INTEL
1167 *_VS2013_EBC_*_DLL = DEF(VS2013_DLL)
1168
1169 *_VS2013_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
1170 *_VS2013_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
1171 *_VS2013_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
1172 *_VS2013_EBC_SLINK_PATH = DEF(VS2013_BIN)\link.exe
1173 *_VS2013_EBC_DLINK_PATH = DEF(VS2013_BIN)\link.exe
1174
1175 *_VS2013_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1176 *_VS2013_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
1177 *_VS2013_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1178 *_VS2013_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
1179 *_VS2013_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
1180
1181
1182 ####################################################################################
1183 # VS2013x86 - Microsoft Visual Studio 2013 (x86) professional with Intel ASL
1184 # ASL - Intel ACPI Source Language Compiler (iasl.exe)
1185 ####################################################################################
1186 # VS2013x86 - Microsoft Visual Studio 2013 (x86) professional Edition with Intel ASL
1187 *_VS2013x86_*_*_FAMILY = MSFT
1188
1189 *_VS2013x86_*_MAKE_PATH = DEF(VS2013x86_BIN)\nmake.exe
1190 *_VS2013x86_*_MAKE_FLAGS = /nologo
1191 *_VS2013x86_*_RC_PATH = DEF(WINSDK8x86_BIN)\rc.exe
1192
1193 *_VS2013x86_*_SLINK_FLAGS = /NOLOGO /LTCG
1194 *_VS2013x86_*_APP_FLAGS = /nologo /E /TC
1195 *_VS2013x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1196 *_VS2013x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1197 *_VS2013x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
1198 *_VS2013x86_*_ASM16_PATH = DEF(VS2013x86_BIN)\ml.exe
1199
1200 ##################
1201 # ASL definitions
1202 ##################
1203 *_VS2013x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
1204 *_VS2013x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
1205 *_VS2013x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
1206 *_VS2013x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
1207 *_VS2013x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
1208 *_VS2013x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
1209
1210 ##################
1211 # IA32 definitions
1212 ##################
1213 *_VS2013x86_IA32_*_DLL = DEF(VS2013x86_DLL)
1214
1215 *_VS2013x86_IA32_CC_PATH = DEF(VS2013x86_BIN)\cl.exe
1216 *_VS2013x86_IA32_VFRPP_PATH = DEF(VS2013x86_BIN)\cl.exe
1217 *_VS2013x86_IA32_ASLCC_PATH = DEF(VS2013x86_BIN)\cl.exe
1218 *_VS2013x86_IA32_ASLPP_PATH = DEF(VS2013x86_BIN)\cl.exe
1219 *_VS2013x86_IA32_SLINK_PATH = DEF(VS2013x86_BIN)\lib.exe
1220 *_VS2013x86_IA32_DLINK_PATH = DEF(VS2013x86_BIN)\link.exe
1221 *_VS2013x86_IA32_ASLDLINK_PATH= DEF(VS2013x86_BIN)\link.exe
1222 *_VS2013x86_IA32_APP_PATH = DEF(VS2013x86_BIN)\cl.exe
1223 *_VS2013x86_IA32_PP_PATH = DEF(VS2013x86_BIN)\cl.exe
1224 *_VS2013x86_IA32_ASM_PATH = DEF(VS2013x86_BIN)\ml.exe
1225
1226 DEBUG_VS2013x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
1227 RELEASE_VS2013x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1228 NOOPT_VS2013x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
1229
1230 DEBUG_VS2013x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1231 RELEASE_VS2013x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
1232 NOOPT_VS2013x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1233
1234 DEBUG_VS2013x86_IA32_NASM_FLAGS = -Ox -f win32 -g
1235 RELEASE_VS2013x86_IA32_NASM_FLAGS = -Ox -f win32
1236 NOOPT_VS2013x86_IA32_NASM_FLAGS = -O0 -f win32 -g
1237
1238 DEBUG_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1239 RELEASE_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1240 NOOPT_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1241
1242 ##################
1243 # X64 definitions
1244 ##################
1245 *_VS2013x86_X64_*_DLL = DEF(VS2013x86_DLL)
1246
1247 *_VS2013x86_X64_CC_PATH = DEF(VS2013x86_BINX64)\cl.exe
1248 *_VS2013x86_X64_PP_PATH = DEF(VS2013x86_BINX64)\cl.exe
1249 *_VS2013x86_X64_APP_PATH = DEF(VS2013x86_BINX64)\cl.exe
1250 *_VS2013x86_X64_VFRPP_PATH = DEF(VS2013x86_BINX64)\cl.exe
1251 *_VS2013x86_X64_ASLCC_PATH = DEF(VS2013x86_BINX64)\cl.exe
1252 *_VS2013x86_X64_ASLPP_PATH = DEF(VS2013x86_BINX64)\cl.exe
1253 *_VS2013x86_X64_ASM_PATH = DEF(VS2013x86_BINX64)\ml64.exe
1254 *_VS2013x86_X64_SLINK_PATH = DEF(VS2013x86_BINX64)\lib.exe
1255 *_VS2013x86_X64_DLINK_PATH = DEF(VS2013x86_BINX64)\link.exe
1256 *_VS2013x86_X64_ASLDLINK_PATH = DEF(VS2013x86_BINX64)\link.exe
1257
1258 DEBUG_VS2013x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
1259 RELEASE_VS2013x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1260 NOOPT_VS2013x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
1261
1262 DEBUG_VS2013x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1263 RELEASE_VS2013x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
1264 NOOPT_VS2013x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1265
1266 DEBUG_VS2013x86_X64_NASM_FLAGS = -Ox -f win64 -g
1267 RELEASE_VS2013x86_X64_NASM_FLAGS = -Ox -f win64
1268 NOOPT_VS2013x86_X64_NASM_FLAGS = -O0 -f win64 -g
1269
1270 DEBUG_VS2013x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1271 RELEASE_VS2013x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1272 NOOPT_VS2013x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1273
1274 ##################
1275 # EBC definitions
1276 ##################
1277 *_VS2013x86_EBC_*_FAMILY = INTEL
1278 *_VS2013x86_EBC_*_DLL = DEF(VS2013x86_DLL)
1279
1280 *_VS2013x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
1281 *_VS2013x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
1282 *_VS2013x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
1283 *_VS2013x86_EBC_SLINK_PATH = DEF(VS2013x86_BIN)\link.exe
1284 *_VS2013x86_EBC_DLINK_PATH = DEF(VS2013x86_BIN)\link.exe
1285
1286 *_VS2013x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1287 *_VS2013x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
1288 *_VS2013x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1289 *_VS2013x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
1290 *_VS2013x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
1291
1292
1293 ####################################################################################
1294 #
1295 # Microsoft Visual Studio 2015
1296 #
1297 # VS2015 - Microsoft Visual Studio 2015 Professional Edition with Intel ASL
1298 # ASL - Intel ACPI Source Language Compiler
1299 ####################################################################################
1300 # VS2015 - Microsoft Visual Studio 2015 Professional Edition
1301 *_VS2015_*_*_FAMILY = MSFT
1302
1303 *_VS2015_*_MAKE_PATH = DEF(VS2015_BIN)\nmake.exe
1304 *_VS2015_*_MAKE_FLAGS = /nologo
1305 *_VS2015_*_RC_PATH = DEF(WINSDK81_BIN)\rc.exe
1306
1307 *_VS2015_*_SLINK_FLAGS = /NOLOGO /LTCG
1308 *_VS2015_*_APP_FLAGS = /nologo /E /TC
1309 *_VS2015_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1310 *_VS2015_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1311 *_VS2015_*_DLINK2_FLAGS =
1312 *_VS2015_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
1313 *_VS2015_*_ASM16_PATH = DEF(VS2015_BIN)\ml.exe
1314
1315 ##################
1316 # ASL definitions
1317 ##################
1318 *_VS2015_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
1319 *_VS2015_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
1320 *_VS2015_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
1321 *_VS2015_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
1322 *_VS2015_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
1323 *_VS2015_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
1324
1325 ##################
1326 # IA32 definitions
1327 ##################
1328 *_VS2015_IA32_*_DLL = DEF(VS2015_DLL)
1329
1330 *_VS2015_IA32_CC_PATH = DEF(VS2015_BIN)\cl.exe
1331 *_VS2015_IA32_VFRPP_PATH = DEF(VS2015_BIN)\cl.exe
1332 *_VS2015_IA32_SLINK_PATH = DEF(VS2015_BIN)\lib.exe
1333 *_VS2015_IA32_DLINK_PATH = DEF(VS2015_BIN)\link.exe
1334 *_VS2015_IA32_APP_PATH = DEF(VS2015_BIN)\cl.exe
1335 *_VS2015_IA32_PP_PATH = DEF(VS2015_BIN)\cl.exe
1336 *_VS2015_IA32_ASM_PATH = DEF(VS2015_BIN)\ml.exe
1337 *_VS2015_IA32_ASLCC_PATH = DEF(VS2015_BIN)\cl.exe
1338 *_VS2015_IA32_ASLPP_PATH = DEF(VS2015_BIN)\cl.exe
1339 *_VS2015_IA32_ASLDLINK_PATH = DEF(VS2015_BIN)\link.exe
1340
1341 DEBUG_VS2015_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
1342 RELEASE_VS2015_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1343 NOOPT_VS2015_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
1344
1345 DEBUG_VS2015_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1346 RELEASE_VS2015_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
1347 NOOPT_VS2015_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1348
1349 DEBUG_VS2015_IA32_NASM_FLAGS = -Ox -f win32 -g
1350 RELEASE_VS2015_IA32_NASM_FLAGS = -Ox -f win32
1351 NOOPT_VS2015_IA32_NASM_FLAGS = -O0 -f win32 -g
1352
1353 DEBUG_VS2015_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1354 RELEASE_VS2015_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1355 NOOPT_VS2015_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1356
1357 ##################
1358 # X64 definitions
1359 ##################
1360 *_VS2015_X64_*_DLL = DEF(VS2015_DLL)
1361
1362 *_VS2015_X64_CC_PATH = DEF(VS2015_BINX64)\cl.exe
1363 *_VS2015_X64_PP_PATH = DEF(VS2015_BINX64)\cl.exe
1364 *_VS2015_X64_APP_PATH = DEF(VS2015_BINX64)\cl.exe
1365 *_VS2015_X64_VFRPP_PATH = DEF(VS2015_BINX64)\cl.exe
1366 *_VS2015_X64_ASM_PATH = DEF(VS2015_BINX64)\ml64.exe
1367 *_VS2015_X64_SLINK_PATH = DEF(VS2015_BINX64)\lib.exe
1368 *_VS2015_X64_DLINK_PATH = DEF(VS2015_BINX64)\link.exe
1369 *_VS2015_X64_ASLCC_PATH = DEF(VS2015_BINX64)\cl.exe
1370 *_VS2015_X64_ASLPP_PATH = DEF(VS2015_BINX64)\cl.exe
1371 *_VS2015_X64_ASLDLINK_PATH = DEF(VS2015_BINX64)\link.exe
1372
1373 DEBUG_VS2015_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
1374 RELEASE_VS2015_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1375 NOOPT_VS2015_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
1376
1377 DEBUG_VS2015_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1378 RELEASE_VS2015_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
1379 NOOPT_VS2015_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1380
1381 DEBUG_VS2015_X64_NASM_FLAGS = -Ox -f win64 -g
1382 RELEASE_VS2015_X64_NASM_FLAGS = -Ox -f win64
1383 NOOPT_VS2015_X64_NASM_FLAGS = -O0 -f win64 -g
1384
1385 DEBUG_VS2015_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1386 RELEASE_VS2015_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1387 NOOPT_VS2015_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1388
1389 ##################
1390 # EBC definitions
1391 ##################
1392 *_VS2015_EBC_*_FAMILY = INTEL
1393 *_VS2015_EBC_*_DLL = DEF(VS2015_DLL)
1394
1395 *_VS2015_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
1396 *_VS2015_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
1397 *_VS2015_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
1398 *_VS2015_EBC_SLINK_PATH = DEF(VS2015_BIN)\link.exe
1399 *_VS2015_EBC_DLINK_PATH = DEF(VS2015_BIN)\link.exe
1400
1401 *_VS2015_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1402 *_VS2015_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
1403 *_VS2015_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1404 *_VS2015_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
1405 *_VS2015_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
1406
1407
1408 ####################################################################################
1409 # VS2015x86 - Microsoft Visual Studio 2015 (x86) professional with Intel ASL
1410 # ASL - Intel ACPI Source Language Compiler (iasl.exe)
1411 ####################################################################################
1412 # VS2015x86 - Microsoft Visual Studio 2015 (x86) professional Edition with Intel ASL
1413 *_VS2015x86_*_*_FAMILY = MSFT
1414
1415 *_VS2015x86_*_MAKE_PATH = DEF(VS2015x86_BIN)\nmake.exe
1416 *_VS2015x86_*_MAKE_FLAGS = /nologo
1417 *_VS2015x86_*_RC_PATH = DEF(WINSDK81x86_BIN)\rc.exe
1418
1419 *_VS2015x86_*_SLINK_FLAGS = /NOLOGO /LTCG
1420 *_VS2015x86_*_APP_FLAGS = /nologo /E /TC
1421 *_VS2015x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1422 *_VS2015x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1423 *_VS2015x86_*_DLINK2_FLAGS =
1424 *_VS2015x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
1425 *_VS2015x86_*_ASM16_PATH = DEF(VS2015x86_BIN)\ml.exe
1426
1427 ##################
1428 # ASL definitions
1429 ##################
1430 *_VS2015x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
1431 *_VS2015x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
1432 *_VS2015x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
1433 *_VS2015x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
1434 *_VS2015x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
1435 *_VS2015x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
1436
1437 ##################
1438 # IA32 definitions
1439 ##################
1440 *_VS2015x86_IA32_*_DLL = DEF(VS2015x86_DLL)
1441
1442 *_VS2015x86_IA32_CC_PATH = DEF(VS2015x86_BIN)\cl.exe
1443 *_VS2015x86_IA32_VFRPP_PATH = DEF(VS2015x86_BIN)\cl.exe
1444 *_VS2015x86_IA32_ASLCC_PATH = DEF(VS2015x86_BIN)\cl.exe
1445 *_VS2015x86_IA32_ASLPP_PATH = DEF(VS2015x86_BIN)\cl.exe
1446 *_VS2015x86_IA32_SLINK_PATH = DEF(VS2015x86_BIN)\lib.exe
1447 *_VS2015x86_IA32_DLINK_PATH = DEF(VS2015x86_BIN)\link.exe
1448 *_VS2015x86_IA32_ASLDLINK_PATH= DEF(VS2015x86_BIN)\link.exe
1449 *_VS2015x86_IA32_APP_PATH = DEF(VS2015x86_BIN)\cl.exe
1450 *_VS2015x86_IA32_PP_PATH = DEF(VS2015x86_BIN)\cl.exe
1451 *_VS2015x86_IA32_ASM_PATH = DEF(VS2015x86_BIN)\ml.exe
1452
1453 DEBUG_VS2015x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
1454 RELEASE_VS2015x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1455 NOOPT_VS2015x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
1456
1457 DEBUG_VS2015x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1458 RELEASE_VS2015x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
1459 NOOPT_VS2015x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1460
1461 DEBUG_VS2015x86_IA32_NASM_FLAGS = -Ox -f win32 -g
1462 RELEASE_VS2015x86_IA32_NASM_FLAGS = -Ox -f win32
1463 NOOPT_VS2015x86_IA32_NASM_FLAGS = -O0 -f win32 -g
1464
1465 DEBUG_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1466 RELEASE_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1467 NOOPT_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1468
1469 ##################
1470 # X64 definitions
1471 ##################
1472 *_VS2015x86_X64_*_DLL = DEF(VS2015x86_DLL)
1473
1474 *_VS2015x86_X64_CC_PATH = DEF(VS2015x86_BINX64)\cl.exe
1475 *_VS2015x86_X64_PP_PATH = DEF(VS2015x86_BINX64)\cl.exe
1476 *_VS2015x86_X64_APP_PATH = DEF(VS2015x86_BINX64)\cl.exe
1477 *_VS2015x86_X64_VFRPP_PATH = DEF(VS2015x86_BINX64)\cl.exe
1478 *_VS2015x86_X64_ASLCC_PATH = DEF(VS2015x86_BINX64)\cl.exe
1479 *_VS2015x86_X64_ASLPP_PATH = DEF(VS2015x86_BINX64)\cl.exe
1480 *_VS2015x86_X64_ASM_PATH = DEF(VS2015x86_BINX64)\ml64.exe
1481 *_VS2015x86_X64_SLINK_PATH = DEF(VS2015x86_BINX64)\lib.exe
1482 *_VS2015x86_X64_DLINK_PATH = DEF(VS2015x86_BINX64)\link.exe
1483 *_VS2015x86_X64_ASLDLINK_PATH = DEF(VS2015x86_BINX64)\link.exe
1484
1485 DEBUG_VS2015x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
1486 RELEASE_VS2015x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1487 NOOPT_VS2015x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
1488
1489 DEBUG_VS2015x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1490 RELEASE_VS2015x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
1491 NOOPT_VS2015x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1492
1493 DEBUG_VS2015x86_X64_NASM_FLAGS = -Ox -f win64 -g
1494 RELEASE_VS2015x86_X64_NASM_FLAGS = -Ox -f win64
1495 NOOPT_VS2015x86_X64_NASM_FLAGS = -O0 -f win64 -g
1496
1497 DEBUG_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1498 RELEASE_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1499 NOOPT_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1500
1501 ##################
1502 # EBC definitions
1503 ##################
1504 *_VS2015x86_EBC_*_FAMILY = INTEL
1505 *_VS2015x86_EBC_*_DLL = DEF(VS2015x86_DLL)
1506
1507 *_VS2015x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
1508 *_VS2015x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
1509 *_VS2015x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
1510 *_VS2015x86_EBC_SLINK_PATH = DEF(VS2015x86_BIN)\link.exe
1511 *_VS2015x86_EBC_DLINK_PATH = DEF(VS2015x86_BIN)\link.exe
1512
1513 *_VS2015x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1514 *_VS2015x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
1515 *_VS2015x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1516 *_VS2015x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
1517 *_VS2015x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
1518
1519
1520 ####################################################################################
1521 # VS2017 - Microsoft Visual Studio 2017 with Intel ASL
1522 # ASL - Intel ACPI Source Language Compiler (iasl.exe)
1523 ####################################################################################
1524 # VS2017 - Microsoft Visual Studio 2017 professional Edition with Intel ASL
1525 *_VS2017_*_*_FAMILY = MSFT
1526 *_VS2017_*_*_DLL = DEF(VS2017_BIN_HOST)
1527
1528 *_VS2017_*_MAKE_PATH = DEF(VS2017_BIN_HOST)\nmake.exe
1529 *_VS2017_*_MAKE_FLAGS = /nologo
1530 *_VS2017_*_RC_PATH = DEF(RC_PATH)
1531
1532 *_VS2017_*_SLINK_FLAGS = /NOLOGO /LTCG
1533 *_VS2017_*_APP_FLAGS = /nologo /E /TC
1534 *_VS2017_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1535 *_VS2017_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1536 *_VS2017_*_DLINK2_FLAGS = /WHOLEARCHIVE
1537 *_VS2017_*_ASM16_PATH = DEF(VS2017_BIN_IA32)\ml.exe
1538 *_VS2017_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
1539 ##################
1540 # ASL definitions
1541 ##################
1542 *_VS2017_*_ASL_PATH = DEF(WIN_IASL_BIN)
1543 *_VS2017_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
1544 *_VS2017_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
1545 *_VS2017_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
1546 *_VS2017_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
1547 *_VS2017_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
1548
1549 ##################
1550 # IA32 definitions
1551 ##################
1552 *_VS2017_IA32_CC_PATH = DEF(VS2017_BIN_IA32)\cl.exe
1553 *_VS2017_IA32_VFRPP_PATH = DEF(VS2017_BIN_IA32)\cl.exe
1554 *_VS2017_IA32_ASLCC_PATH = DEF(VS2017_BIN_IA32)\cl.exe
1555 *_VS2017_IA32_ASLPP_PATH = DEF(VS2017_BIN_IA32)\cl.exe
1556 *_VS2017_IA32_SLINK_PATH = DEF(VS2017_BIN_IA32)\lib.exe
1557 *_VS2017_IA32_DLINK_PATH = DEF(VS2017_BIN_IA32)\link.exe
1558 *_VS2017_IA32_ASLDLINK_PATH= DEF(VS2017_BIN_IA32)\link.exe
1559 *_VS2017_IA32_APP_PATH = DEF(VS2017_BIN_IA32)\cl.exe
1560 *_VS2017_IA32_PP_PATH = DEF(VS2017_BIN_IA32)\cl.exe
1561 *_VS2017_IA32_ASM_PATH = DEF(VS2017_BIN_IA32)\ml.exe
1562
1563 DEBUG_VS2017_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
1564 RELEASE_VS2017_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1565 NOOPT_VS2017_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
1566
1567 DEBUG_VS2017_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1568 RELEASE_VS2017_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
1569 NOOPT_VS2017_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1570
1571 DEBUG_VS2017_IA32_NASM_FLAGS = -Ox -f win32 -g
1572 RELEASE_VS2017_IA32_NASM_FLAGS = -Ox -f win32
1573 NOOPT_VS2017_IA32_NASM_FLAGS = -O0 -f win32 -g
1574
1575 DEBUG_VS2017_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1576 RELEASE_VS2017_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1577 NOOPT_VS2017_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1578
1579 ##################
1580 # X64 definitions
1581 ##################
1582 *_VS2017_X64_CC_PATH = DEF(VS2017_BIN_X64)\cl.exe
1583 *_VS2017_X64_PP_PATH = DEF(VS2017_BIN_X64)\cl.exe
1584 *_VS2017_X64_APP_PATH = DEF(VS2017_BIN_X64)\cl.exe
1585 *_VS2017_X64_VFRPP_PATH = DEF(VS2017_BIN_X64)\cl.exe
1586 *_VS2017_X64_ASLCC_PATH = DEF(VS2017_BIN_X64)\cl.exe
1587 *_VS2017_X64_ASLPP_PATH = DEF(VS2017_BIN_X64)\cl.exe
1588 *_VS2017_X64_ASM_PATH = DEF(VS2017_BIN_X64)\ml64.exe
1589 *_VS2017_X64_SLINK_PATH = DEF(VS2017_BIN_X64)\lib.exe
1590 *_VS2017_X64_DLINK_PATH = DEF(VS2017_BIN_X64)\link.exe
1591 *_VS2017_X64_ASLDLINK_PATH = DEF(VS2017_BIN_X64)\link.exe
1592
1593 DEBUG_VS2017_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
1594 RELEASE_VS2017_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1595 NOOPT_VS2017_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
1596
1597 DEBUG_VS2017_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1598 RELEASE_VS2017_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
1599 NOOPT_VS2017_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1600
1601 DEBUG_VS2017_X64_NASM_FLAGS = -Ox -f win64 -g
1602 RELEASE_VS2017_X64_NASM_FLAGS = -Ox -f win64
1603 NOOPT_VS2017_X64_NASM_FLAGS = -O0 -f win64 -g
1604
1605 DEBUG_VS2017_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1606 RELEASE_VS2017_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1607 NOOPT_VS2017_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1608
1609 #################
1610 # ARM definitions
1611 #################
1612 *_VS2017_ARM_CC_PATH = DEF(VS2017_BIN_ARM)\cl.exe
1613 *_VS2017_ARM_VFRPP_PATH = DEF(VS2017_BIN_ARM)\cl.exe
1614 *_VS2017_ARM_SLINK_PATH = DEF(VS2017_BIN_ARM)\lib.exe
1615 *_VS2017_ARM_DLINK_PATH = DEF(VS2017_BIN_ARM)\link.exe
1616 *_VS2017_ARM_APP_PATH = DEF(VS2017_BIN_ARM)\cl.exe
1617 *_VS2017_ARM_PP_PATH = DEF(VS2017_BIN_ARM)\cl.exe
1618 *_VS2017_ARM_ASM_PATH = DEF(VS2017_BIN_ARM)\armasm.exe
1619 *_VS2017_ARM_ASLCC_PATH = DEF(VS2017_BIN_ARM)\cl.exe
1620 *_VS2017_ARM_ASLPP_PATH = DEF(VS2017_BIN_ARM)\cl.exe
1621 *_VS2017_ARM_ASLDLINK_PATH = DEF(VS2017_BIN_ARM)\link.exe
1622
1623 DEBUG_VS2017_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gw /Oi-
1624 RELEASE_VS2017_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-
1625 NOOPT_VS2017_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Od /Oi-
1626
1627 DEBUG_VS2017_ARM_ASM_FLAGS = /nologo /g
1628 RELEASE_VS2017_ARM_ASM_FLAGS = /nologo
1629 NOOPT_VS2017_ARM_ASM_FLAGS = /nologo
1630
1631 DEBUG_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1632 RELEASE_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1633 NOOPT_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1634
1635 #####################
1636 # AARCH64 definitions
1637 #####################
1638 *_VS2017_AARCH64_CC_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
1639 *_VS2017_AARCH64_VFRPP_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
1640 *_VS2017_AARCH64_SLINK_PATH = DEF(VS2017_BIN_AARCH64)\lib.exe
1641 *_VS2017_AARCH64_DLINK_PATH = DEF(VS2017_BIN_AARCH64)\link.exe
1642 *_VS2017_AARCH64_APP_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
1643 *_VS2017_AARCH64_PP_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
1644 *_VS2017_AARCH64_ASM_PATH = DEF(VS2017_BIN_AARCH64)\armasm64.exe
1645 *_VS2017_AARCH64_ASLCC_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
1646 *_VS2017_AARCH64_ASLPP_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
1647 *_VS2017_AARCH64_ASLDLINK_PATH = DEF(VS2017_BIN_AARCH64)\link.exe
1648
1649 DEBUG_VS2017_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gw /Oi-
1650 RELEASE_VS2017_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-
1651 NOOPT_VS2017_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Od /Oi-
1652
1653 DEBUG_VS2017_AARCH64_ASM_FLAGS = /nologo /g
1654 RELEASE_VS2017_AARCH64_ASM_FLAGS = /nologo
1655 NOOPT_VS2017_AARCH64_ASM_FLAGS = /nologo
1656
1657 DEBUG_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG
1658 RELEASE_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /MERGE:.rdata=.data
1659 NOOPT_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG
1660
1661 ##################
1662 # EBC definitions
1663 ##################
1664 *_VS2017_EBC_*_FAMILY = INTEL
1665
1666 *_VS2017_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
1667 *_VS2017_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
1668 *_VS2017_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
1669 *_VS2017_EBC_SLINK_PATH = DEF(VS2017_BIN_IA32)\link.exe
1670 *_VS2017_EBC_DLINK_PATH = DEF(VS2017_BIN_IA32)\link.exe
1671
1672 *_VS2017_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1673 *_VS2017_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
1674 *_VS2017_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1675 *_VS2017_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
1676 *_VS2017_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
1677
1678 ####################################################################################
1679 # VS2019 - Microsoft Visual Studio 2019 with Intel ASL
1680 # ASL - Intel ACPI Source Language Compiler (iasl.exe)
1681 ####################################################################################
1682 # VS2019 - Microsoft Visual Studio 2017 professional Edition with Intel ASL
1683 *_VS2019_*_*_FAMILY = MSFT
1684 *_VS2019_*_*_DLL = DEF(VS2019_BIN_HOST)
1685
1686 *_VS2019_*_MAKE_PATH = DEF(VS2019_BIN_HOST)\nmake.exe
1687 *_VS2019_*_MAKE_FLAGS = /nologo
1688 *_VS2019_*_RC_PATH = DEF(RC_PATH)
1689
1690 *_VS2019_*_SLINK_FLAGS = /NOLOGO /LTCG
1691 *_VS2019_*_APP_FLAGS = /nologo /E /TC
1692 *_VS2019_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1693 *_VS2019_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1694 *_VS2019_*_DLINK2_FLAGS = /WHOLEARCHIVE
1695 *_VS2019_*_ASM16_PATH = DEF(VS2019_BIN_IA32)\ml.exe
1696 *_VS2019_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
1697 ##################
1698 # ASL definitions
1699 ##################
1700 *_VS2019_*_ASL_PATH = DEF(WIN_IASL_BIN)
1701 *_VS2019_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
1702 *_VS2019_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
1703 *_VS2019_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
1704 *_VS2019_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
1705 *_VS2019_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
1706
1707 ##################
1708 # IA32 definitions
1709 ##################
1710 *_VS2019_IA32_CC_PATH = DEF(VS2019_BIN_IA32)\cl.exe
1711 *_VS2019_IA32_VFRPP_PATH = DEF(VS2019_BIN_IA32)\cl.exe
1712 *_VS2019_IA32_ASLCC_PATH = DEF(VS2019_BIN_IA32)\cl.exe
1713 *_VS2019_IA32_ASLPP_PATH = DEF(VS2019_BIN_IA32)\cl.exe
1714 *_VS2019_IA32_SLINK_PATH = DEF(VS2019_BIN_IA32)\lib.exe
1715 *_VS2019_IA32_DLINK_PATH = DEF(VS2019_BIN_IA32)\link.exe
1716 *_VS2019_IA32_ASLDLINK_PATH= DEF(VS2019_BIN_IA32)\link.exe
1717 *_VS2019_IA32_APP_PATH = DEF(VS2019_BIN_IA32)\cl.exe
1718 *_VS2019_IA32_PP_PATH = DEF(VS2019_BIN_IA32)\cl.exe
1719 *_VS2019_IA32_ASM_PATH = DEF(VS2019_BIN_IA32)\ml.exe
1720
1721 DEBUG_VS2019_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
1722 RELEASE_VS2019_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1723 NOOPT_VS2019_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
1724
1725 DEBUG_VS2019_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1726 RELEASE_VS2019_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
1727 NOOPT_VS2019_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
1728
1729 DEBUG_VS2019_IA32_NASM_FLAGS = -Ox -f win32 -g
1730 RELEASE_VS2019_IA32_NASM_FLAGS = -Ox -f win32
1731 NOOPT_VS2019_IA32_NASM_FLAGS = -O0 -f win32 -g
1732
1733 DEBUG_VS2019_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1734 RELEASE_VS2019_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1735 NOOPT_VS2019_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1736
1737 ##################
1738 # X64 definitions
1739 ##################
1740 *_VS2019_X64_CC_PATH = DEF(VS2019_BIN_X64)\cl.exe
1741 *_VS2019_X64_PP_PATH = DEF(VS2019_BIN_X64)\cl.exe
1742 *_VS2019_X64_APP_PATH = DEF(VS2019_BIN_X64)\cl.exe
1743 *_VS2019_X64_VFRPP_PATH = DEF(VS2019_BIN_X64)\cl.exe
1744 *_VS2019_X64_ASLCC_PATH = DEF(VS2019_BIN_X64)\cl.exe
1745 *_VS2019_X64_ASLPP_PATH = DEF(VS2019_BIN_X64)\cl.exe
1746 *_VS2019_X64_ASM_PATH = DEF(VS2019_BIN_X64)\ml64.exe
1747 *_VS2019_X64_SLINK_PATH = DEF(VS2019_BIN_X64)\lib.exe
1748 *_VS2019_X64_DLINK_PATH = DEF(VS2019_BIN_X64)\link.exe
1749 *_VS2019_X64_ASLDLINK_PATH = DEF(VS2019_BIN_X64)\link.exe
1750
1751 DEBUG_VS2019_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
1752 RELEASE_VS2019_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
1753 NOOPT_VS2019_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
1754
1755 DEBUG_VS2019_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1756 RELEASE_VS2019_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
1757 NOOPT_VS2019_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
1758
1759 DEBUG_VS2019_X64_NASM_FLAGS = -Ox -f win64 -g
1760 RELEASE_VS2019_X64_NASM_FLAGS = -Ox -f win64
1761 NOOPT_VS2019_X64_NASM_FLAGS = -O0 -f win64 -g
1762
1763 DEBUG_VS2019_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1764 RELEASE_VS2019_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1765 NOOPT_VS2019_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1766
1767 #################
1768 # ARM definitions
1769 #################
1770 *_VS2019_ARM_CC_PATH = DEF(VS2019_BIN_ARM)\cl.exe
1771 *_VS2019_ARM_VFRPP_PATH = DEF(VS2019_BIN_ARM)\cl.exe
1772 *_VS2019_ARM_SLINK_PATH = DEF(VS2019_BIN_ARM)\lib.exe
1773 *_VS2019_ARM_DLINK_PATH = DEF(VS2019_BIN_ARM)\link.exe
1774 *_VS2019_ARM_APP_PATH = DEF(VS2019_BIN_ARM)\cl.exe
1775 *_VS2019_ARM_PP_PATH = DEF(VS2019_BIN_ARM)\cl.exe
1776 *_VS2019_ARM_ASM_PATH = DEF(VS2019_BIN_ARM)\armasm.exe
1777 *_VS2019_ARM_ASLCC_PATH = DEF(VS2019_BIN_ARM)\cl.exe
1778 *_VS2019_ARM_ASLPP_PATH = DEF(VS2019_BIN_ARM)\cl.exe
1779 *_VS2019_ARM_ASLDLINK_PATH = DEF(VS2019_BIN_ARM)\link.exe
1780
1781 DEBUG_VS2019_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gw /Oi-
1782 RELEASE_VS2019_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-
1783 NOOPT_VS2019_ARM_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Od /Oi-
1784
1785 DEBUG_VS2019_ARM_ASM_FLAGS = /nologo /g
1786 RELEASE_VS2019_ARM_ASM_FLAGS = /nologo
1787 NOOPT_VS2019_ARM_ASM_FLAGS = /nologo
1788
1789 DEBUG_VS2019_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1790 RELEASE_VS2019_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
1791 NOOPT_VS2019_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
1792
1793 #####################
1794 # AARCH64 definitions
1795 #####################
1796 *_VS2019_AARCH64_CC_PATH = DEF(VS2019_BIN_AARCH64)\cl.exe
1797 *_VS2019_AARCH64_VFRPP_PATH = DEF(VS2019_BIN_AARCH64)\cl.exe
1798 *_VS2019_AARCH64_SLINK_PATH = DEF(VS2019_BIN_AARCH64)\lib.exe
1799 *_VS2019_AARCH64_DLINK_PATH = DEF(VS2019_BIN_AARCH64)\link.exe
1800 *_VS2019_AARCH64_APP_PATH = DEF(VS2019_BIN_AARCH64)\cl.exe
1801 *_VS2019_AARCH64_PP_PATH = DEF(VS2019_BIN_AARCH64)\cl.exe
1802 *_VS2019_AARCH64_ASM_PATH = DEF(VS2019_BIN_AARCH64)\armasm64.exe
1803 *_VS2019_AARCH64_ASLCC_PATH = DEF(VS2019_BIN_AARCH64)\cl.exe
1804 *_VS2019_AARCH64_ASLPP_PATH = DEF(VS2019_BIN_AARCH64)\cl.exe
1805 *_VS2019_AARCH64_ASLDLINK_PATH = DEF(VS2019_BIN_AARCH64)\link.exe
1806
1807 DEBUG_VS2019_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gw /Oi-
1808 RELEASE_VS2019_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-
1809 NOOPT_VS2019_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Od /Oi-
1810
1811 DEBUG_VS2019_AARCH64_ASM_FLAGS = /nologo /g
1812 RELEASE_VS2019_AARCH64_ASM_FLAGS = /nologo
1813 NOOPT_VS2019_AARCH64_ASM_FLAGS = /nologo
1814
1815 DEBUG_VS2019_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG
1816 RELEASE_VS2019_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /MERGE:.rdata=.data
1817 NOOPT_VS2019_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG
1818
1819 ##################
1820 # EBC definitions
1821 ##################
1822 *_VS2019_EBC_*_FAMILY = INTEL
1823
1824 *_VS2019_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
1825 *_VS2019_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
1826 *_VS2019_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
1827 *_VS2019_EBC_SLINK_PATH = DEF(VS2019_BIN_IA32)\link.exe
1828 *_VS2019_EBC_DLINK_PATH = DEF(VS2019_BIN_IA32)\link.exe
1829
1830 *_VS2019_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
1831 *_VS2019_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
1832 *_VS2019_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
1833 *_VS2019_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
1834 *_VS2019_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
1835
1836 ####################################################################################
1837 # GCC Common
1838 ####################################################################################
1839
1840 *_*_*_OBJCOPY_PATH = echo
1841 *_*_*_OBJCOPY_FLAGS = objcopy not needed for
1842 *_*_*_SYMRENAME_PATH = echo
1843 *_*_*_SYMRENAME_FLAGS = Symbol renaming not needed for
1844 DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
1845 RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG =
1846 NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
1847 *_*_*_OBJCOPY_STRIPFLAG = --strip-unneeded -R .eh_frame
1848 *_*_*_DTC_FLAGS = -H epapr
1849 *_*_*_DTCPP_PATH = DEF(DTCPP_BIN)
1850 *_*_*_DTC_PATH = DEF(DTC_BIN)
1851
1852 DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common
1853 DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
1854 DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
1855 DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie
1856 DEFINE GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mabi=lp64d -fno-asynchronous-unwind-tables -fno-plt -Wno-address -fno-short-enums -fsigned-char -ffunction-sections -fdata-sections
1857 DEFINE GCC_ARM_CC_XIPFLAGS = -mno-unaligned-access
1858 DEFINE GCC_AARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char -ffunction-sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-pic -fno-pie -ffixed-x18
1859 DEFINE GCC_AARCH64_CC_XIPFLAGS = -mstrict-align -mgeneral-regs-only
1860 DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie
1861 DEFINE GCC_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
1862 DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
1863 DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
1864 DEFINE GCC_LOONGARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
1865 DEFINE GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20 -Wl,--pic-veneer
1866 DEFINE GCC_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
1867 DEFINE GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_COMMON) -z common-page-size=0x20
1868 DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z common-page-size=0x20
1869 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
1870 DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
1871 DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
1872 DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
1873 DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
1874 DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h
1875 DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h
1876 DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h
1877 DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h
1878 DEFINE GCC_ASLCC_FLAGS = -x c
1879 DEFINE GCC_WINDRES_FLAGS = -J rc -O coff
1880 DEFINE GCC_DTCPP_FLAGS = -E -x assembler-with-cpp -imacros AutoGen.h -nostdinc -undef
1881 DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii
1882 DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii
1883 DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii
1884 DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
1885 DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv -B riscv --rename-section .data=.hii
1886 DEFINE GCC_LOONGARCH64_RC_FLAGS = -I binary -O elf64-loongarch -B loongarch64 --rename-section .data=.hii
1887
1888 # GCC Build Flag for included header file list generation
1889 DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps
1890
1891 DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
1892 DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
1893 DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
1894 DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
1895 DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
1896 DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
1897 DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
1898 DEFINE GCC48_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
1899 DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
1900 DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
1901 DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
1902 DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
1903 DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
1904 DEFINE GCC48_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
1905 DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)
1906 DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
1907 DEFINE GCC48_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--oformat=elf32-littlearm
1908 DEFINE GCC48_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
1909 DEFINE GCC48_AARCH64_DLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS)
1910 DEFINE GCC48_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
1911 DEFINE GCC48_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_ASLDLINK_FLAGS) -Wl,--oformat=elf32-littlearm
1912 DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_ASLDLINK_FLAGS)
1913 DEFINE GCC48_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
1914
1915 DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -fno-pic -fno-pie
1916 DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS)
1917 DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
1918 DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
1919 DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
1920 DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
1921 DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
1922 DEFINE GCC49_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS)
1923 DEFINE GCC49_ASM_FLAGS = DEF(GCC48_ASM_FLAGS)
1924 DEFINE GCC49_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS)
1925 DEFINE GCC49_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS)
1926 DEFINE GCC49_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS)
1927 DEFINE GCC49_ARM_CC_XIPFLAGS = DEF(GCC48_ARM_CC_XIPFLAGS)
1928 DEFINE GCC49_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC48_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -mcmodel=small
1929 DEFINE GCC49_AARCH64_CC_XIPFLAGS = DEF(GCC48_AARCH64_CC_XIPFLAGS)
1930 DEFINE GCC49_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS)
1931 DEFINE GCC49_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS)
1932 DEFINE GCC49_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
1933 DEFINE GCC49_AARCH64_DLINK2_FLAGS = DEF(GCC48_AARCH64_DLINK2_FLAGS)
1934 DEFINE GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS)
1935 DEFINE GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
1936 DEFINE GCC49_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS)
1937
1938 DEFINE GCC5_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS)
1939 DEFINE GCC5_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS)
1940 DEFINE GCC5_IA32_X64_DLINK_COMMON = DEF(GCC49_IA32_X64_DLINK_COMMON)
1941 DEFINE GCC5_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS)
1942 DEFINE GCC5_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS)
1943 DEFINE GCC5_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) -Wno-error
1944 DEFINE GCC5_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS)
1945 DEFINE GCC5_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) -Wno-error
1946 DEFINE GCC5_ASM_FLAGS = DEF(GCC49_ASM_FLAGS)
1947 DEFINE GCC5_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS)
1948 DEFINE GCC5_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS)
1949 DEFINE GCC5_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS)
1950 DEFINE GCC5_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS)
1951 DEFINE GCC5_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS)
1952 DEFINE GCC5_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS)
1953 DEFINE GCC5_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS)
1954 DEFINE GCC5_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) -Wno-error
1955 DEFINE GCC5_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
1956 DEFINE GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-error
1957 DEFINE GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS)
1958 DEFINE GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
1959 DEFINE GCC5_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -fno-lto
1960
1961 DEFINE GCC5_RISCV_ALL_CC_FLAGS = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -msmall-data-limit=0
1962 DEFINE GCC5_RISCV_ALL_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
1963 DEFINE GCC5_RISCV_ALL_DLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
1964 DEFINE GCC5_RISCV_ALL_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
1965 DEFINE GCC5_RISCV_ALL_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
1966 DEFINE GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE = -Wno-tautological-compare -Wno-pointer-compare
1967
1968 DEFINE GCC5_RISCV_OPENSBI_TYPES = -DOPENSBI_EXTERNAL_SBI_TYPES=OpensbiTypes.h
1969
1970 DEFINE GCC5_RISCV64_ARCH = rv64imafdc
1971 DEFINE GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
1972 DEFINE GCC5_RISCV64_CC_FLAGS = DEF(GCC5_RISCV_ALL_CC_FLAGS) DEF(GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE) DEF(GCC5_RISCV_OPENSBI_TYPES) -march=DEF(GCC5_RISCV64_ARCH) -fno-builtin -fno-builtin-memcpy -fno-stack-protector -Wno-address -fno-asynchronous-unwind-tables -Wno-unused-but-set-variable -fpack-struct=8 -mcmodel=medany -mabi=lp64 -mno-relax
1973 DEFINE GCC5_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax
1974 DEFINE GCC5_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV_ALL_DLINK2_FLAGS)
1975 DEFINE GCC5_RISCV64_ASM_FLAGS = DEF(GCC5_RISCV_ALL_ASM_FLAGS) -march=DEF(GCC5_RISCV64_ARCH) -mcmodel=medany -mabi=lp64
1976
1977 DEFINE GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC_LOONGARCH64_CC_FLAGS) -march=loongarch64 -mno-memcpy -Werror -Wno-maybe-uninitialized -Wno-stringop-overflow -Wno-pointer-to-int-cast -no-pie -fno-stack-protector -mno-explicit-relocs
1978 DEFINE GCC5_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS)
1979 DEFINE GCC5_LOONGARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
1980 DEFINE GCC5_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_ASLDLINK_FLAGS) DEF(GCC5_LOONGARCH64_DLINK2_FLAGS)
1981 DEFINE GCC5_LOONGARCH64_ASM_FLAGS = -x assembler-with-cpp -mabi=lp64d -march=loongarch64 -fno-builtin -c -Wall -mno-explicit-relocs
1982 DEFINE GCC5_LOONGARCH64_PP_FLAGS = -mabi=lp64d -march=loongarch64 DEF(GCC_PP_FLAGS)
1983
1984 DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h DEF(GCC5_RISCV_OPENSBI_TYPES)
1985
1986 ####################################################################################
1987 #
1988 # GCC 4.8 - This configuration is used to compile under Linux to produce
1989 # PE/COFF binaries using GCC 4.8.
1990 #
1991 ####################################################################################
1992 *_GCC48_*_*_FAMILY = GCC
1993
1994 *_GCC48_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make
1995 *_GCC48_*_*_DLL = ENV(GCC48_DLL)
1996 *_GCC48_*_ASL_PATH = DEF(UNIX_IASL_BIN)
1997
1998 *_GCC48_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
1999 *_GCC48_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
2000 *_GCC48_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2001 *_GCC48_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
2002 *_GCC48_*_APP_FLAGS =
2003 *_GCC48_*_ASL_FLAGS = DEF(IASL_FLAGS)
2004 *_GCC48_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2005 *_GCC48_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2006
2007 ##################
2008 # GCC48 IA32 definitions
2009 ##################
2010 *_GCC48_IA32_OBJCOPY_PATH = DEF(GCC48_IA32_PREFIX)objcopy
2011 *_GCC48_IA32_CC_PATH = DEF(GCC48_IA32_PREFIX)gcc
2012 *_GCC48_IA32_SLINK_PATH = DEF(GCC48_IA32_PREFIX)ar
2013 *_GCC48_IA32_DLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc
2014 *_GCC48_IA32_ASLDLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc
2015 *_GCC48_IA32_ASM_PATH = DEF(GCC48_IA32_PREFIX)gcc
2016 *_GCC48_IA32_PP_PATH = DEF(GCC48_IA32_PREFIX)gcc
2017 *_GCC48_IA32_VFRPP_PATH = DEF(GCC48_IA32_PREFIX)gcc
2018 *_GCC48_IA32_ASLCC_PATH = DEF(GCC48_IA32_PREFIX)gcc
2019 *_GCC48_IA32_ASLPP_PATH = DEF(GCC48_IA32_PREFIX)gcc
2020 *_GCC48_IA32_RC_PATH = DEF(GCC48_IA32_PREFIX)objcopy
2021
2022 *_GCC48_IA32_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m32
2023 *_GCC48_IA32_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
2024 *_GCC48_IA32_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -m32 -march=i386
2025 *_GCC48_IA32_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
2026 *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
2027 *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2028 *_GCC48_IA32_OBJCOPY_FLAGS =
2029 *_GCC48_IA32_NASM_FLAGS = -f elf32
2030
2031 DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os
2032 RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable
2033 NOOPT_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -O0
2034
2035 ##################
2036 # GCC48 X64 definitions
2037 ##################
2038 *_GCC48_X64_OBJCOPY_PATH = DEF(GCC48_X64_PREFIX)objcopy
2039 *_GCC48_X64_CC_PATH = DEF(GCC48_X64_PREFIX)gcc
2040 *_GCC48_X64_SLINK_PATH = DEF(GCC48_X64_PREFIX)ar
2041 *_GCC48_X64_DLINK_PATH = DEF(GCC48_X64_PREFIX)gcc
2042 *_GCC48_X64_ASLDLINK_PATH = DEF(GCC48_X64_PREFIX)gcc
2043 *_GCC48_X64_ASM_PATH = DEF(GCC48_X64_PREFIX)gcc
2044 *_GCC48_X64_PP_PATH = DEF(GCC48_X64_PREFIX)gcc
2045 *_GCC48_X64_VFRPP_PATH = DEF(GCC48_X64_PREFIX)gcc
2046 *_GCC48_X64_ASLCC_PATH = DEF(GCC48_X64_PREFIX)gcc
2047 *_GCC48_X64_ASLPP_PATH = DEF(GCC48_X64_PREFIX)gcc
2048 *_GCC48_X64_RC_PATH = DEF(GCC48_X64_PREFIX)objcopy
2049
2050 *_GCC48_X64_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m64
2051 *_GCC48_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
2052 *_GCC48_X64_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -m64
2053 *_GCC48_X64_DLINK_FLAGS = DEF(GCC48_X64_DLINK_FLAGS)
2054 *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS)
2055 *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2056 *_GCC48_X64_OBJCOPY_FLAGS =
2057 *_GCC48_X64_NASM_FLAGS = -f elf64
2058
2059 DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os
2060 RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable
2061 NOOPT_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -O0
2062
2063 ##################
2064 # GCC48 ARM definitions
2065 ##################
2066 *_GCC48_ARM_CC_PATH = ENV(GCC48_ARM_PREFIX)gcc
2067 *_GCC48_ARM_SLINK_PATH = ENV(GCC48_ARM_PREFIX)ar
2068 *_GCC48_ARM_DLINK_PATH = ENV(GCC48_ARM_PREFIX)gcc
2069 *_GCC48_ARM_ASLDLINK_PATH = ENV(GCC48_ARM_PREFIX)gcc
2070 *_GCC48_ARM_ASM_PATH = ENV(GCC48_ARM_PREFIX)gcc
2071 *_GCC48_ARM_PP_PATH = ENV(GCC48_ARM_PREFIX)gcc
2072 *_GCC48_ARM_VFRPP_PATH = ENV(GCC48_ARM_PREFIX)gcc
2073 *_GCC48_ARM_ASLCC_PATH = ENV(GCC48_ARM_PREFIX)gcc
2074 *_GCC48_ARM_ASLPP_PATH = ENV(GCC48_ARM_PREFIX)gcc
2075 *_GCC48_ARM_RC_PATH = ENV(GCC48_ARM_PREFIX)objcopy
2076
2077 *_GCC48_ARM_ARCHCC_FLAGS = -mthumb
2078 *_GCC48_ARM_PLATFORM_FLAGS = -march=armv7-a
2079
2080 *_GCC48_ARM_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS)
2081 *_GCC48_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS)
2082 *_GCC48_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS)
2083 *_GCC48_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS)
2084 *_GCC48_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS)
2085 *_GCC48_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2086 *_GCC48_ARM_PLATFORM_FLAGS = -march=armv7-a
2087 *_GCC48_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2088 *_GCC48_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2089 *_GCC48_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2090 *_GCC48_ARM_CC_XIPFLAGS = DEF(GCC48_ARM_CC_XIPFLAGS)
2091
2092 DEBUG_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -O0
2093 RELEASE_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-variable
2094 NOOPT_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -O0
2095
2096 ##################
2097 # GCC48 AARCH64 definitions
2098 ##################
2099 *_GCC48_AARCH64_CC_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2100 *_GCC48_AARCH64_SLINK_PATH = ENV(GCC48_AARCH64_PREFIX)ar
2101 *_GCC48_AARCH64_DLINK_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2102 *_GCC48_AARCH64_ASLDLINK_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2103 *_GCC48_AARCH64_ASM_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2104 *_GCC48_AARCH64_PP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2105 *_GCC48_AARCH64_VFRPP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2106 *_GCC48_AARCH64_ASLCC_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2107 *_GCC48_AARCH64_ASLPP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2108 *_GCC48_AARCH64_RC_PATH = ENV(GCC48_AARCH64_PREFIX)objcopy
2109
2110 *_GCC48_AARCH64_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS)
2111 *_GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
2112 *_GCC48_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS)
2113 *_GCC48_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS)
2114 *_GCC48_AARCH64_DLINK2_FLAGS = DEF(GCC48_AARCH64_DLINK2_FLAGS)
2115 *_GCC48_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2116 *_GCC48_AARCH64_PLATFORM_FLAGS =
2117 *_GCC48_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2118 *_GCC48_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2119 *_GCC48_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2120 *_GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC48_AARCH64_CC_XIPFLAGS)
2121
2122 DEBUG_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -O0
2123 RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable
2124 NOOPT_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -O0
2125
2126 ####################################################################################
2127 #
2128 # GCC 4.9 - This configuration is used to compile under Linux to produce
2129 # PE/COFF binaries using GCC 4.9.
2130 #
2131 ####################################################################################
2132 *_GCC49_*_*_FAMILY = GCC
2133
2134 *_GCC49_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make
2135 *_GCC49_*_*_DLL = ENV(GCC49_DLL)
2136 *_GCC49_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2137
2138 *_GCC49_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
2139 *_GCC49_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
2140 *_GCC49_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2141 *_GCC49_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
2142 *_GCC49_*_APP_FLAGS =
2143 *_GCC49_*_ASL_FLAGS = DEF(IASL_FLAGS)
2144 *_GCC49_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2145 *_GCC49_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2146
2147 ##################
2148 # GCC49 IA32 definitions
2149 ##################
2150 *_GCC49_IA32_OBJCOPY_PATH = DEF(GCC49_IA32_PREFIX)objcopy
2151 *_GCC49_IA32_CC_PATH = DEF(GCC49_IA32_PREFIX)gcc
2152 *_GCC49_IA32_SLINK_PATH = DEF(GCC49_IA32_PREFIX)ar
2153 *_GCC49_IA32_DLINK_PATH = DEF(GCC49_IA32_PREFIX)gcc
2154 *_GCC49_IA32_ASLDLINK_PATH = DEF(GCC49_IA32_PREFIX)gcc
2155 *_GCC49_IA32_ASM_PATH = DEF(GCC49_IA32_PREFIX)gcc
2156 *_GCC49_IA32_PP_PATH = DEF(GCC49_IA32_PREFIX)gcc
2157 *_GCC49_IA32_VFRPP_PATH = DEF(GCC49_IA32_PREFIX)gcc
2158 *_GCC49_IA32_ASLCC_PATH = DEF(GCC49_IA32_PREFIX)gcc
2159 *_GCC49_IA32_ASLPP_PATH = DEF(GCC49_IA32_PREFIX)gcc
2160 *_GCC49_IA32_RC_PATH = DEF(GCC49_IA32_PREFIX)objcopy
2161
2162 *_GCC49_IA32_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m32
2163 *_GCC49_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
2164 *_GCC49_IA32_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m32 -march=i386
2165 *_GCC49_IA32_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
2166 *_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS)
2167 *_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2168 *_GCC49_IA32_OBJCOPY_FLAGS =
2169 *_GCC49_IA32_NASM_FLAGS = -f elf32
2170
2171 DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os
2172 RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
2173 NOOPT_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -O0
2174
2175 ##################
2176 # GCC49 X64 definitions
2177 ##################
2178 *_GCC49_X64_OBJCOPY_PATH = DEF(GCC49_X64_PREFIX)objcopy
2179 *_GCC49_X64_CC_PATH = DEF(GCC49_X64_PREFIX)gcc
2180 *_GCC49_X64_SLINK_PATH = DEF(GCC49_X64_PREFIX)ar
2181 *_GCC49_X64_DLINK_PATH = DEF(GCC49_X64_PREFIX)gcc
2182 *_GCC49_X64_ASLDLINK_PATH = DEF(GCC49_X64_PREFIX)gcc
2183 *_GCC49_X64_ASM_PATH = DEF(GCC49_X64_PREFIX)gcc
2184 *_GCC49_X64_PP_PATH = DEF(GCC49_X64_PREFIX)gcc
2185 *_GCC49_X64_VFRPP_PATH = DEF(GCC49_X64_PREFIX)gcc
2186 *_GCC49_X64_ASLCC_PATH = DEF(GCC49_X64_PREFIX)gcc
2187 *_GCC49_X64_ASLPP_PATH = DEF(GCC49_X64_PREFIX)gcc
2188 *_GCC49_X64_RC_PATH = DEF(GCC49_X64_PREFIX)objcopy
2189
2190 *_GCC49_X64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m64
2191 *_GCC49_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
2192 *_GCC49_X64_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m64
2193 *_GCC49_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS)
2194 *_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS)
2195 *_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2196 *_GCC49_X64_OBJCOPY_FLAGS =
2197 *_GCC49_X64_NASM_FLAGS = -f elf64
2198
2199 DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os
2200 RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
2201 NOOPT_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -O0
2202
2203 ##################
2204 # GCC49 ARM definitions
2205 ##################
2206 *_GCC49_ARM_CC_PATH = ENV(GCC49_ARM_PREFIX)gcc
2207 *_GCC49_ARM_SLINK_PATH = ENV(GCC49_ARM_PREFIX)ar
2208 *_GCC49_ARM_DLINK_PATH = ENV(GCC49_ARM_PREFIX)gcc
2209 *_GCC49_ARM_ASLDLINK_PATH = ENV(GCC49_ARM_PREFIX)gcc
2210 *_GCC49_ARM_ASM_PATH = ENV(GCC49_ARM_PREFIX)gcc
2211 *_GCC49_ARM_PP_PATH = ENV(GCC49_ARM_PREFIX)gcc
2212 *_GCC49_ARM_VFRPP_PATH = ENV(GCC49_ARM_PREFIX)gcc
2213 *_GCC49_ARM_ASLCC_PATH = ENV(GCC49_ARM_PREFIX)gcc
2214 *_GCC49_ARM_ASLPP_PATH = ENV(GCC49_ARM_PREFIX)gcc
2215 *_GCC49_ARM_RC_PATH = ENV(GCC49_ARM_PREFIX)objcopy
2216
2217 *_GCC49_ARM_ARCHCC_FLAGS = -mthumb
2218 *_GCC49_ARM_PLATFORM_FLAGS = -march=armv7-a
2219
2220 *_GCC49_ARM_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS)
2221 *_GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS)
2222 *_GCC49_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS)
2223 *_GCC49_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS)
2224 *_GCC49_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS)
2225 *_GCC49_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2226 *_GCC49_ARM_PLATFORM_FLAGS = -march=armv7-a
2227 *_GCC49_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2228 *_GCC49_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2229 *_GCC49_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2230 *_GCC49_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS)
2231
2232 DEBUG_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0
2233 RELEASE_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
2234 NOOPT_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0
2235
2236 ##################
2237 # GCC49 AARCH64 definitions
2238 ##################
2239 *_GCC49_AARCH64_CC_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2240 *_GCC49_AARCH64_SLINK_PATH = ENV(GCC49_AARCH64_PREFIX)ar
2241 *_GCC49_AARCH64_DLINK_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2242 *_GCC49_AARCH64_ASLDLINK_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2243 *_GCC49_AARCH64_ASM_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2244 *_GCC49_AARCH64_PP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2245 *_GCC49_AARCH64_VFRPP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2246 *_GCC49_AARCH64_ASLCC_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2247 *_GCC49_AARCH64_ASLPP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2248 *_GCC49_AARCH64_RC_PATH = ENV(GCC49_AARCH64_PREFIX)objcopy
2249
2250 *_GCC49_AARCH64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS)
2251 *_GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
2252 *_GCC49_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS)
2253 *_GCC49_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS)
2254 *_GCC49_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2255 *_GCC49_AARCH64_PLATFORM_FLAGS =
2256 *_GCC49_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2257 *_GCC49_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2258 *_GCC49_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2259 *_GCC49_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS)
2260
2261 DEBUG_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0
2262 DEBUG_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
2263 DEBUG_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2264
2265 RELEASE_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
2266 RELEASE_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
2267 RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2268
2269 NOOPT_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0
2270 NOOPT_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -O0
2271 NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
2272
2273 ####################################################################################
2274 #
2275 # GCC 5 - This configuration is used to compile under Linux to produce
2276 # PE/COFF binaries using GCC 5
2277 #
2278 ####################################################################################
2279 *_GCC5_*_*_FAMILY = GCC
2280
2281 *_GCC5_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make
2282 *_GCC5_*_*_DLL = ENV(GCC5_DLL)
2283 *_GCC5_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2284
2285 *_GCC5_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
2286 *_GCC5_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
2287 *_GCC5_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2288 *_GCC5_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
2289 *_GCC5_*_APP_FLAGS =
2290 *_GCC5_*_ASL_FLAGS = DEF(IASL_FLAGS)
2291 *_GCC5_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2292 *_GCC5_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2293
2294 ##################
2295 # GCC5 IA32 definitions
2296 ##################
2297 *_GCC5_IA32_OBJCOPY_PATH = DEF(GCC5_IA32_PREFIX)objcopy
2298 *_GCC5_IA32_CC_PATH = DEF(GCC5_IA32_PREFIX)gcc
2299 *_GCC5_IA32_SLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc-ar
2300 *_GCC5_IA32_DLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc
2301 *_GCC5_IA32_ASLDLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc
2302 *_GCC5_IA32_ASM_PATH = DEF(GCC5_IA32_PREFIX)gcc
2303 *_GCC5_IA32_PP_PATH = DEF(GCC5_IA32_PREFIX)gcc
2304 *_GCC5_IA32_VFRPP_PATH = DEF(GCC5_IA32_PREFIX)gcc
2305 *_GCC5_IA32_ASLCC_PATH = DEF(GCC5_IA32_PREFIX)gcc
2306 *_GCC5_IA32_ASLPP_PATH = DEF(GCC5_IA32_PREFIX)gcc
2307 *_GCC5_IA32_RC_PATH = DEF(GCC5_IA32_PREFIX)objcopy
2308
2309 *_GCC5_IA32_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m32
2310 *_GCC5_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie
2311 *_GCC5_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386
2312 *_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie
2313 *_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2314 *_GCC5_IA32_OBJCOPY_FLAGS =
2315 *_GCC5_IA32_NASM_FLAGS = -f elf32
2316
2317 DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os
2318 DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
2319
2320 RELEASE_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
2321 RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
2322
2323 NOOPT_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0
2324 NOOPT_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0
2325
2326 ##################
2327 # GCC5 X64 definitions
2328 ##################
2329 *_GCC5_X64_OBJCOPY_PATH = DEF(GCC5_X64_PREFIX)objcopy
2330 *_GCC5_X64_CC_PATH = DEF(GCC5_X64_PREFIX)gcc
2331 *_GCC5_X64_SLINK_PATH = DEF(GCC5_X64_PREFIX)gcc-ar
2332 *_GCC5_X64_DLINK_PATH = DEF(GCC5_X64_PREFIX)gcc
2333 *_GCC5_X64_ASLDLINK_PATH = DEF(GCC5_X64_PREFIX)gcc
2334 *_GCC5_X64_ASM_PATH = DEF(GCC5_X64_PREFIX)gcc
2335 *_GCC5_X64_PP_PATH = DEF(GCC5_X64_PREFIX)gcc
2336 *_GCC5_X64_VFRPP_PATH = DEF(GCC5_X64_PREFIX)gcc
2337 *_GCC5_X64_ASLCC_PATH = DEF(GCC5_X64_PREFIX)gcc
2338 *_GCC5_X64_ASLPP_PATH = DEF(GCC5_X64_PREFIX)gcc
2339 *_GCC5_X64_RC_PATH = DEF(GCC5_X64_PREFIX)objcopy
2340
2341 *_GCC5_X64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m64
2342 *_GCC5_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
2343 *_GCC5_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64
2344 *_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)
2345 *_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2346 *_GCC5_X64_OBJCOPY_FLAGS =
2347 *_GCC5_X64_NASM_FLAGS = -f elf64
2348
2349 DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os
2350 DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
2351
2352 RELEASE_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
2353 RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
2354
2355 NOOPT_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0
2356 NOOPT_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0
2357
2358 ##################
2359 # GCC5 ARM definitions
2360 ##################
2361 *_GCC5_ARM_CC_PATH = ENV(GCC5_ARM_PREFIX)gcc
2362 *_GCC5_ARM_SLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc-ar
2363 *_GCC5_ARM_DLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc
2364 *_GCC5_ARM_ASLDLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc
2365 *_GCC5_ARM_ASM_PATH = ENV(GCC5_ARM_PREFIX)gcc
2366 *_GCC5_ARM_PP_PATH = ENV(GCC5_ARM_PREFIX)gcc
2367 *_GCC5_ARM_VFRPP_PATH = ENV(GCC5_ARM_PREFIX)gcc
2368 *_GCC5_ARM_ASLCC_PATH = ENV(GCC5_ARM_PREFIX)gcc
2369 *_GCC5_ARM_ASLPP_PATH = ENV(GCC5_ARM_PREFIX)gcc
2370 *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy
2371
2372 *_GCC5_ARM_ARCHCC_FLAGS = -mthumb
2373 *_GCC5_ARM_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS)
2374 *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS)
2375 *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS)
2376 *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS)
2377 *_GCC5_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2378 *_GCC5_ARM_PLATFORM_FLAGS = -march=armv7-a
2379 *_GCC5_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2380 *_GCC5_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2381 *_GCC5_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2382 *_GCC5_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS)
2383
2384 DEBUG_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
2385 DEBUG_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
2386
2387 RELEASE_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
2388 RELEASE_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
2389
2390 NOOPT_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
2391 NOOPT_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0
2392
2393 ##################
2394 # GCC5 AARCH64 definitions
2395 ##################
2396 *_GCC5_AARCH64_CC_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2397 *_GCC5_AARCH64_SLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc-ar
2398 *_GCC5_AARCH64_DLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2399 *_GCC5_AARCH64_ASLDLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2400 *_GCC5_AARCH64_ASM_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2401 *_GCC5_AARCH64_PP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2402 *_GCC5_AARCH64_VFRPP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2403 *_GCC5_AARCH64_ASLCC_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2404 *_GCC5_AARCH64_ASLPP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2405 *_GCC5_AARCH64_RC_PATH = ENV(GCC5_AARCH64_PREFIX)objcopy
2406
2407 *_GCC5_AARCH64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS)
2408 *_GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)
2409 *_GCC5_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS)
2410 *_GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS)
2411 *_GCC5_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2412 *_GCC5_AARCH64_PLATFORM_FLAGS =
2413 *_GCC5_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2414 *_GCC5_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2415 *_GCC5_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2416 *_GCC5_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS)
2417
2418 DEBUG_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
2419 DEBUG_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch
2420 DEBUG_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2421
2422 RELEASE_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
2423 RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch
2424 RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2425
2426 NOOPT_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0
2427 NOOPT_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0
2428 NOOPT_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
2429
2430 ####################################################################################
2431 #
2432 # GCC RISC-V This configuration is used to compile under Linux to produce
2433 # PE/COFF binaries using GCC RISC-V tool chain
2434 #
2435 ####################################################################################
2436
2437 ##################
2438 # GCC5 RISCV64 definitions
2439 ##################
2440 *_GCC5_RISCV64_OBJCOPY_PATH = ENV(GCC5_RISCV64_PREFIX)objcopy
2441 *_GCC5_RISCV64_CC_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2442 *_GCC5_RISCV64_SLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc-ar
2443 *_GCC5_RISCV64_DLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2444 *_GCC5_RISCV64_ASLDLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2445 *_GCC5_RISCV64_ASM_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2446 *_GCC5_RISCV64_PP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2447 *_GCC5_RISCV64_VFRPP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2448 *_GCC5_RISCV64_ASLCC_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2449 *_GCC5_RISCV64_ASLPP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2450 *_GCC5_RISCV64_RC_PATH = ENV(GCC5_RISCV64_PREFIX)objcopy
2451
2452 *_GCC5_RISCV64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2453 *_GCC5_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS)
2454 *_GCC5_RISCV64_ASM_FLAGS = DEF(GCC5_RISCV64_ASM_FLAGS)
2455 *_GCC5_RISCV64_CC_FLAGS = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps
2456 *_GCC5_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV64_DLINK_FLAGS)
2457 *_GCC5_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV64_DLINK2_FLAGS)
2458 *_GCC5_RISCV64_RC_FLAGS = DEF(GCC_RISCV64_RC_FLAGS)
2459 *_GCC5_RISCV64_OBJCOPY_FLAGS =
2460 *_GCC5_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2461
2462 ##################
2463 # GCC5 LOONGARCH64 definitions
2464 ##################
2465 *_GCC5_LOONGARCH64_OBJCOPY_PATH = ENV(GCC5_LOONGARCH64_PREFIX)objcopy
2466 *_GCC5_LOONGARCH64_CC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2467 *_GCC5_LOONGARCH64_SLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc-ar
2468 *_GCC5_LOONGARCH64_DLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2469 *_GCC5_LOONGARCH64_ASLDLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2470 *_GCC5_LOONGARCH64_ASM_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2471 *_GCC5_LOONGARCH64_PP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2472 *_GCC5_LOONGARCH64_VFRPP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2473 *_GCC5_LOONGARCH64_ASLCC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2474 *_GCC5_LOONGARCH64_ASLPP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2475 *_GCC5_LOONGARCH64_RC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)objcopy
2476
2477 *_GCC5_LOONGARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2478 *_GCC5_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC5_LOONGARCH64_ASLDLINK_FLAGS)
2479 *_GCC5_LOONGARCH64_ASM_FLAGS = DEF(GCC5_LOONGARCH64_ASM_FLAGS)
2480 *_GCC5_LOONGARCH64_DLINK_FLAGS = DEF(GCC5_LOONGARCH64_DLINK_FLAGS)
2481 *_GCC5_LOONGARCH64_DLINK2_FLAGS = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS)
2482 *_GCC5_LOONGARCH64_RC_FLAGS = DEF(GCC_LOONGARCH64_RC_FLAGS)
2483 *_GCC5_LOONGARCH64_OBJCOPY_FLAGS =
2484 *_GCC5_LOONGARCH64_NASM_FLAGS = -f elf32
2485 *_GCC5_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS)
2486
2487 DEBUG_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS)
2488 RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-variable
2489
2490 ####################################################################################
2491 #
2492 # CLANG35 - This configuration is used to compile under Linux to produce
2493 # PE/COFF binaries using the clang compiler and assembler (v3.5 and up)
2494 # and GNU linker
2495 #
2496 ####################################################################################
2497 *_CLANG35_*_*_FAMILY = GCC
2498
2499 *_CLANG35_*_MAKE_PATH = make
2500 *_CLANG35_*_*_DLL = ENV(CLANG35_DLL)
2501 *_CLANG35_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2502
2503 *_CLANG35_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
2504 *_CLANG35_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2505 *_CLANG35_*_APP_FLAGS =
2506 *_CLANG35_*_ASL_FLAGS = DEF(IASL_FLAGS)
2507 *_CLANG35_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2508 *_CLANG35_*_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2509
2510 *_CLANG35_*_CC_PATH = ENV(CLANG35_BIN)clang
2511 *_CLANG35_*_ASM_PATH = ENV(CLANG35_BIN)clang
2512 *_CLANG35_*_PP_PATH = ENV(CLANG35_BIN)clang
2513 *_CLANG35_*_VFRPP_PATH = ENV(CLANG35_BIN)clang
2514 *_CLANG35_*_ASLCC_PATH = ENV(CLANG35_BIN)clang
2515 *_CLANG35_*_ASLPP_PATH = ENV(CLANG35_BIN)clang
2516 *_CLANG35_*_DLINK_PATH = ENV(CLANG35_BIN)clang
2517 *_CLANG35_*_ASLDLINK_PATH = ENV(CLANG35_BIN)clang
2518 *_CLANG35_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2519
2520 DEFINE CLANG35_ARM_TARGET = -target arm-linux-gnueabi
2521 DEFINE CLANG35_AARCH64_TARGET = -target aarch64-linux-gnu
2522
2523 DEFINE CLANG35_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable
2524 DEFINE CLANG35_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG35_ARM_TARGET) DEF(CLANG35_WARNING_OVERRIDES)
2525 DEFINE CLANG35_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG35_AARCH64_TARGET) -mcmodel=small DEF(CLANG35_WARNING_OVERRIDES)
2526
2527 ##################
2528 # CLANG35 ARM definitions
2529 ##################
2530 *_CLANG35_ARM_SLINK_PATH = ENV(CLANG35_ARM_PREFIX)ar
2531 *_CLANG35_ARM_RC_PATH = ENV(CLANG35_ARM_PREFIX)objcopy
2532
2533 *_CLANG35_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2534 *_CLANG35_ARM_ASLDLINK_FLAGS = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
2535 *_CLANG35_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments
2536 *_CLANG35_ARM_DLINK_FLAGS = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
2537 *_CLANG35_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
2538 *_CLANG35_ARM_PLATFORM_FLAGS = -march=armv7-a -mkernel -Qunused-arguments
2539 *_CLANG35_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2540 *_CLANG35_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2541 *_CLANG35_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2542 *_CLANG35_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_ARM_TARGET)
2543 *_CLANG35_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
2544
2545 DEBUG_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O1
2546 RELEASE_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -Oz
2547 NOOPT_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
2548
2549 ##################
2550 # CLANG35 AARCH64 definitions
2551 ##################
2552 *_CLANG35_AARCH64_SLINK_PATH = ENV(CLANG35_AARCH64_PREFIX)ar
2553 *_CLANG35_AARCH64_RC_PATH = ENV(CLANG35_AARCH64_PREFIX)objcopy
2554
2555 *_CLANG35_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2556 *_CLANG35_AARCH64_ASLDLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
2557 *_CLANG35_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments
2558 *_CLANG35_AARCH64_DLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
2559 *_CLANG35_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2560 *_CLANG35_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
2561 *_CLANG35_AARCH64_PLATFORM_FLAGS =
2562 *_CLANG35_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2563 *_CLANG35_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2564 *_CLANG35_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2565 *_CLANG35_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_AARCH64_TARGET)
2566 *_CLANG35_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
2567
2568 DEBUG_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O1
2569 RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -Oz
2570 NOOPT_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
2571
2572 ####################################################################################
2573 #
2574 # Clang 3.8 - This configuration is used to compile under Linux to produce
2575 # PE/COFF binaries using LLVM/Clang 3.8 with Link Time Optimization enabled
2576 #
2577 ####################################################################################
2578 *_CLANG38_*_*_FAMILY = GCC
2579 *_CLANG38_*_MAKE_PATH = make
2580 *_CLANG38_*_*_DLL = ENV(CLANG38_DLL)
2581 *_CLANG38_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2582
2583 *_CLANG38_*_APP_FLAGS =
2584 *_CLANG38_*_ASL_FLAGS = DEF(IASL_FLAGS)
2585 *_CLANG38_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2586 *_CLANG38_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2587 DEFINE CLANG38_IA32_PREFIX = ENV(CLANG38_BIN)
2588 DEFINE CLANG38_X64_PREFIX = ENV(CLANG38_BIN)
2589
2590 DEFINE CLANG38_IA32_TARGET = -target i686-pc-linux-gnu
2591 DEFINE CLANG38_X64_TARGET = -target x86_64-pc-linux-gnu
2592
2593 DEFINE CLANG38_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable
2594 DEFINE CLANG38_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
2595
2596 ###########################
2597 # CLANG38 IA32 definitions
2598 ###########################
2599 *_CLANG38_IA32_OBJCOPY_PATH = objcopy
2600 *_CLANG38_IA32_CC_PATH = DEF(CLANG38_IA32_PREFIX)clang
2601 *_CLANG38_IA32_SLINK_PATH = DEF(CLANG38_IA32_PREFIX)llvm-ar
2602 *_CLANG38_IA32_DLINK_PATH = DEF(CLANG38_IA32_PREFIX)clang
2603 *_CLANG38_IA32_ASLDLINK_PATH = DEF(CLANG38_IA32_PREFIX)clang
2604 *_CLANG38_IA32_ASM_PATH = DEF(CLANG38_IA32_PREFIX)clang
2605 *_CLANG38_IA32_PP_PATH = DEF(CLANG38_IA32_PREFIX)clang
2606 *_CLANG38_IA32_VFRPP_PATH = DEF(CLANG38_IA32_PREFIX)clang
2607 *_CLANG38_IA32_ASLCC_PATH = DEF(CLANG38_IA32_PREFIX)clang
2608 *_CLANG38_IA32_ASLPP_PATH = DEF(CLANG38_IA32_PREFIX)clang
2609 *_CLANG38_IA32_RC_PATH = objcopy
2610
2611 *_CLANG38_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)
2612 *_CLANG38_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
2613 *_CLANG38_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)
2614 *_CLANG38_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2615 *_CLANG38_IA32_OBJCOPY_FLAGS =
2616 *_CLANG38_IA32_NASM_FLAGS = -f elf32
2617 *_CLANG38_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET)
2618 *_CLANG38_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)
2619 *_CLANG38_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)
2620
2621 DEBUG_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g
2622 DEBUG_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
2623 DEBUG_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
2624
2625 RELEASE_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET)
2626 RELEASE_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
2627 RELEASE_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
2628
2629 NOOPT_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g
2630 NOOPT_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386
2631 NOOPT_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O0
2632
2633 ##########################
2634 # CLANG38 X64 definitions
2635 ##########################
2636 *_CLANG38_X64_OBJCOPY_PATH = objcopy
2637 *_CLANG38_X64_CC_PATH = DEF(CLANG38_X64_PREFIX)clang
2638 *_CLANG38_X64_SLINK_PATH = DEF(CLANG38_X64_PREFIX)llvm-ar
2639 *_CLANG38_X64_DLINK_PATH = DEF(CLANG38_X64_PREFIX)clang
2640 *_CLANG38_X64_ASLDLINK_PATH = DEF(CLANG38_X64_PREFIX)clang
2641 *_CLANG38_X64_ASM_PATH = DEF(CLANG38_X64_PREFIX)clang
2642 *_CLANG38_X64_PP_PATH = DEF(CLANG38_X64_PREFIX)clang
2643 *_CLANG38_X64_VFRPP_PATH = DEF(CLANG38_X64_PREFIX)clang
2644 *_CLANG38_X64_ASLCC_PATH = DEF(CLANG38_X64_PREFIX)clang
2645 *_CLANG38_X64_ASLPP_PATH = DEF(CLANG38_X64_PREFIX)clang
2646 *_CLANG38_X64_RC_PATH = objcopy
2647
2648 *_CLANG38_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)
2649 *_CLANG38_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
2650 *_CLANG38_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)
2651 *_CLANG38_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2652 *_CLANG38_X64_OBJCOPY_FLAGS =
2653 *_CLANG38_X64_NASM_FLAGS = -f elf64
2654 *_CLANG38_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET)
2655 *_CLANG38_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)
2656 *_CLANG38_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)
2657
2658 DEBUG_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g
2659 DEBUG_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
2660 DEBUG_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3
2661
2662 RELEASE_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET)
2663 RELEASE_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
2664 RELEASE_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3
2665
2666 NOOPT_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANG38_X64_TARGET) -g
2667 NOOPT_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
2668 NOOPT_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O0
2669
2670 ##################
2671 # CLANG38 ARM definitions
2672 ##################
2673 DEFINE CLANG38_ARM_TARGET = -target arm-linux-gnueabi
2674 DEFINE CLANG38_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG38_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno-movt
2675 DEFINE CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
2676
2677 *_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS)
2678 *_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2679 *_CLANG38_ARM_APP_FLAGS =
2680 *_CLANG38_ARM_ASL_FLAGS = DEF(IASL_FLAGS)
2681 *_CLANG38_ARM_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2682 *_CLANG38_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2683
2684 *_CLANG38_ARM_CC_PATH = ENV(CLANG38_BIN)clang
2685 *_CLANG38_ARM_ASM_PATH = ENV(CLANG38_BIN)clang
2686 *_CLANG38_ARM_PP_PATH = ENV(CLANG38_BIN)clang
2687 *_CLANG38_ARM_VFRPP_PATH = ENV(CLANG38_BIN)clang
2688 *_CLANG38_ARM_ASLCC_PATH = ENV(CLANG38_BIN)clang
2689 *_CLANG38_ARM_ASLPP_PATH = ENV(CLANG38_BIN)clang
2690 *_CLANG38_ARM_DLINK_PATH = ENV(CLANG38_BIN)clang
2691 *_CLANG38_ARM_ASLDLINK_PATH = ENV(CLANG38_BIN)clang
2692
2693 *_CLANG38_ARM_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar
2694 *_CLANG38_ARM_RC_PATH = ENV(CLANG38_ARM_PREFIX)objcopy
2695
2696 *_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto
2697 *_CLANG38_ARM_ASLDLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
2698 *_CLANG38_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments
2699 *_CLANG38_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
2700 *_CLANG38_ARM_PLATFORM_FLAGS = -march=armv7-a
2701 *_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2702 *_CLANG38_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2703 *_CLANG38_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2704 *_CLANG38_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_ARM_TARGET)
2705 *_CLANG38_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
2706
2707 DEBUG_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
2708 DEBUG_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
2709 NOOPT_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
2710 NOOPT_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS)
2711 RELEASE_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
2712 RELEASE_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
2713
2714 ##################
2715 # CLANG38 AARCH64 definitions
2716 ##################
2717 DEFINE CLANG38_AARCH64_TARGET = -target aarch64-linux-gnu
2718 DEFINE CLANG38_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES)
2719 DEFINE CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
2720
2721 *_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS)
2722 *_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2723 *_CLANG38_AARCH64_APP_FLAGS =
2724 *_CLANG38_AARCH64_ASL_FLAGS = DEF(IASL_FLAGS)
2725 *_CLANG38_AARCH64_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2726 *_CLANG38_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2727
2728 *_CLANG38_AARCH64_CC_PATH = ENV(CLANG38_BIN)clang
2729 *_CLANG38_AARCH64_ASM_PATH = ENV(CLANG38_BIN)clang
2730 *_CLANG38_AARCH64_PP_PATH = ENV(CLANG38_BIN)clang
2731 *_CLANG38_AARCH64_VFRPP_PATH = ENV(CLANG38_BIN)clang
2732 *_CLANG38_AARCH64_ASLCC_PATH = ENV(CLANG38_BIN)clang
2733 *_CLANG38_AARCH64_ASLPP_PATH = ENV(CLANG38_BIN)clang
2734 *_CLANG38_AARCH64_DLINK_PATH = ENV(CLANG38_BIN)clang
2735 *_CLANG38_AARCH64_ASLDLINK_PATH = ENV(CLANG38_BIN)clang
2736
2737 *_CLANG38_AARCH64_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar
2738 *_CLANG38_AARCH64_RC_PATH = ENV(CLANG38_AARCH64_PREFIX)objcopy
2739
2740 *_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto
2741 *_CLANG38_AARCH64_ASLDLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
2742 *_CLANG38_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments
2743 *_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
2744 *_CLANG38_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2745 *_CLANG38_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
2746 *_CLANG38_AARCH64_PLATFORM_FLAGS =
2747 *_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2748 *_CLANG38_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2749 *_CLANG38_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2750 *_CLANG38_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AARCH64_TARGET)
2751 *_CLANG38_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
2752
2753 DEBUG_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
2754 DEBUG_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
2755 NOOPT_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
2756 NOOPT_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS)
2757 RELEASE_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
2758 RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
2759
2760 ####################################################################################
2761 #
2762 # CLANGPDB - This configuration is used to compile under Windows/Linux/Mac to produce
2763 # PE/COFF binaries using LLVM/Clang/LLD with Link Time Optimization enabled
2764 #
2765 ####################################################################################
2766 *_CLANGPDB_*_*_FAMILY = GCC
2767 *_CLANGPDB_*_*_BUILDRULEFAMILY = CLANGPDB
2768 *_CLANGPDB_*_MAKE_PATH = ENV(CLANG_HOST_BIN)make
2769 *_CLANGPDB_*_*_DLL = ENV(CLANGPDB_DLL)
2770 *_CLANGPDB_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2771
2772 *_CLANGPDB_*_APP_FLAGS =
2773 *_CLANGPDB_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
2774 *_CLANGPDB_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
2775 *_CLANGPDB_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
2776 *_CLANGPDB_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2777
2778 DEFINE CLANGPDB_IA32_PREFIX = ENV(CLANG_BIN)
2779 DEFINE CLANGPDB_X64_PREFIX = ENV(CLANG_BIN)
2780
2781 DEFINE CLANGPDB_IA32_TARGET = -target i686-unknown-windows-gnu
2782 DEFINE CLANGPDB_X64_TARGET = -target x86_64-unknown-windows-gnu
2783
2784 DEFINE CLANGPDB_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-microsoft-enum-forward-reference
2785 DEFINE CLANGPDB_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGPDB_WARNING_OVERRIDES) -fno-stack-protector -funsigned-char -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -Wno-null-dereference -mno-implicit-float -mms-bitfields -mno-stack-arg-probe -nostdlib -nostdlibinc -fseh-exceptions
2786
2787 ###########################
2788 # CLANGPDB IA32 definitions
2789 ###########################
2790 *_CLANGPDB_IA32_CC_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2791 *_CLANGPDB_IA32_SLINK_PATH = DEF(CLANGPDB_IA32_PREFIX)llvm-lib
2792 *_CLANGPDB_IA32_DLINK_PATH = DEF(CLANGPDB_IA32_PREFIX)lld-link
2793 *_CLANGPDB_IA32_ASLDLINK_PATH = DEF(CLANGPDB_IA32_PREFIX)lld-link
2794 *_CLANGPDB_IA32_ASM_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2795 *_CLANGPDB_IA32_PP_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2796 *_CLANGPDB_IA32_VFRPP_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2797 *_CLANGPDB_IA32_ASLCC_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2798 *_CLANGPDB_IA32_ASLPP_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2799 *_CLANGPDB_IA32_RC_PATH = DEF(CLANGPDB_IA32_PREFIX)llvm-rc
2800
2801 *_CLANGPDB_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANGPDB_IA32_TARGET)
2802 *_CLANGPDB_IA32_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -m32 -march=i386 DEF(CLANGPDB_IA32_TARGET)
2803 *_CLANGPDB_IA32_OBJCOPY_FLAGS =
2804 *_CLANGPDB_IA32_NASM_FLAGS = -f win32
2805 *_CLANGPDB_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGPDB_IA32_TARGET)
2806 *_CLANGPDB_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGPDB_IA32_TARGET)
2807 *_CLANGPDB_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB_IA32_TARGET)
2808
2809 DEBUG_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGPDB_IA32_TARGET) -gcodeview
2810 DEBUG_CLANGPDB_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /ALIGN:32 /FILEALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap
2811 DEBUG_CLANGPDB_IA32_DLINK2_FLAGS =
2812
2813 RELEASE_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGPDB_IA32_TARGET)
2814 RELEASE_CLANGPDB_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /ALIGN:32 /FILEALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /MERGE:.rdata=.data /MLLVM:-exception-model=wineh /lldmap
2815 RELEASE_CLANGPDB_IA32_DLINK2_FLAGS =
2816
2817 NOOPT_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANGPDB_IA32_TARGET) -gcodeview
2818 NOOPT_CLANGPDB_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /ALIGN:32 /FILEALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap
2819 NOOPT_CLANGPDB_IA32_DLINK2_FLAGS =
2820
2821 ##########################
2822 # CLANGWIN X64 definitions
2823 ##########################
2824 *_CLANGPDB_X64_CC_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2825 *_CLANGPDB_X64_SLINK_PATH = DEF(CLANGPDB_X64_PREFIX)llvm-lib
2826 *_CLANGPDB_X64_DLINK_PATH = DEF(CLANGPDB_X64_PREFIX)lld-link
2827 *_CLANGPDB_X64_ASLDLINK_PATH = DEF(CLANGPDB_X64_PREFIX)lld-link
2828 *_CLANGPDB_X64_ASM_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2829 *_CLANGPDB_X64_PP_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2830 *_CLANGPDB_X64_VFRPP_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2831 *_CLANGPDB_X64_ASLCC_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2832 *_CLANGPDB_X64_ASLPP_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2833 *_CLANGPDB_X64_RC_PATH = DEF(CLANGPDB_IA32_PREFIX)llvm-rc
2834
2835 *_CLANGPDB_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANGPDB_X64_TARGET)
2836 *_CLANGPDB_X64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -m64 DEF(CLANGPDB_X64_TARGET)
2837 *_CLANGPDB_X64_OBJCOPY_FLAGS =
2838 *_CLANGPDB_X64_NASM_FLAGS = -f win64
2839 *_CLANGPDB_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGPDB_X64_TARGET)
2840 *_CLANGPDB_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGPDB_X64_TARGET)
2841 *_CLANGPDB_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB_X64_TARGET)
2842
2843 DEBUG_CLANGPDB_X64_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -Oz -flto DEF(CLANGPDB_X64_TARGET) -gcodeview -funwind-tables
2844 DEBUG_CLANGPDB_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /ALIGN:32 /FILEALIGN:32 /Machine:X64 /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap
2845 DEBUG_CLANGPDB_X64_DLINK2_FLAGS =
2846 DEBUG_CLANGPDB_X64_GENFW_FLAGS = --keepexceptiontable
2847
2848 RELEASE_CLANGPDB_X64_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -Oz -flto DEF(CLANGPDB_X64_TARGET) -fno-unwind-tables
2849 RELEASE_CLANGPDB_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /ALIGN:32 /FILEALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /MERGE:.rdata=.data /MLLVM:-exception-model=wineh /lldmap
2850 RELEASE_CLANGPDB_X64_DLINK2_FLAGS =
2851 RELEASE_CLANGPDB_X64_GENFW_FLAGS =
2852
2853 NOOPT_CLANGPDB_X64_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -O0 DEF(CLANGPDB_X64_TARGET) -gcodeview -funwind-tables
2854 NOOPT_CLANGPDB_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /ALIGN:32 /FILEALIGN:32 /Machine:X64 /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap
2855 NOOPT_CLANGPDB_X64_DLINK2_FLAGS =
2856 NOOPT_CLANGPDB_X64_GENFW_FLAGS = --keepexceptiontable
2857
2858 ####################################################################################
2859 #
2860 # CLANGDWARF - This configuration is used to compile under Windows/Linux/Mac to produce
2861 # ELF binaries using LLVM/Clang/LLD with Link Time Optimization enabled
2862 #
2863 ####################################################################################
2864 *_CLANGDWARF_*_*_FAMILY = GCC
2865 *_CLANGDWARF_*_*_BUILDRULEFAMILY = CLANGGCC
2866 *_CLANGDWARF_*_MAKE_PATH = ENV(CLANG_HOST_BIN)make
2867 *_CLANGDWARF_*_*_DLL = ENV(CLANGDWARF_DLL)
2868 *_CLANGDWARF_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2869
2870 *_CLANGDWARF_*_APP_FLAGS =
2871 *_CLANGDWARF_*_ASL_FLAGS = DEF(IASL_FLAGS)
2872 *_CLANGDWARF_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2873
2874 DEFINE CLANGDWARF_IA32_PREFIX = ENV(CLANG_BIN)
2875 DEFINE CLANGDWARF_X64_PREFIX = ENV(CLANG_BIN)
2876
2877 # LLVM/CLANG doesn't support -n link option. So, it can't share the same IA32_X64_DLINK_COMMON flag.
2878 # LLVM/CLANG doesn't support common page size. So, it can't share the same GccBase.lds script.
2879 DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-q,--gc-sections -z max-page-size=0x40
2880 DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/ClangBase.lds
2881 DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
2882 DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
2883 DEFINE CLANGDWARF_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
2884 DEFINE CLANGDWARF_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
2885
2886 ###########################
2887 # CLANGDWARF IA32 definitions
2888 ###########################
2889 *_CLANGDWARF_IA32_CC_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2890 *_CLANGDWARF_IA32_SLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)llvm-ar
2891 *_CLANGDWARF_IA32_DLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2892 *_CLANGDWARF_IA32_ASLDLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2893 *_CLANGDWARF_IA32_ASM_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2894 *_CLANGDWARF_IA32_PP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2895 *_CLANGDWARF_IA32_VFRPP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2896 *_CLANGDWARF_IA32_ASLCC_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2897 *_CLANGDWARF_IA32_ASLPP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2898 *_CLANGDWARF_IA32_RC_PATH = DEF(CLANGDWARF_IA32_PREFIX)llvm-rc
2899
2900 *_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)
2901 *_CLANGDWARF_IA32_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld
2902 *_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)
2903 *_CLANGDWARF_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2904 *_CLANGDWARF_IA32_OBJCOPY_FLAGS =
2905 *_CLANGDWARF_IA32_NASM_FLAGS = -f elf32
2906 *_CLANGDWARF_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET)
2907 *_CLANGDWARF_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)
2908 *_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)
2909
2910 DEBUG_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g
2911 DEBUG_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
2912 DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld
2913
2914 RELEASE_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET)
2915 RELEASE_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
2916 RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld
2917
2918 NOOPT_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g
2919 NOOPT_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
2920 NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld
2921
2922 ##########################
2923 # CLANGDWARF X64 definitions
2924 ##########################
2925 *_CLANGDWARF_X64_CC_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2926 *_CLANGDWARF_X64_SLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-ar
2927 *_CLANGDWARF_X64_DLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2928 *_CLANGDWARF_X64_ASLDLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2929 *_CLANGDWARF_X64_ASM_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2930 *_CLANGDWARF_X64_PP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2931 *_CLANGDWARF_X64_VFRPP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2932 *_CLANGDWARF_X64_ASLCC_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2933 *_CLANGDWARF_X64_ASLPP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2934 *_CLANGDWARF_X64_RC_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-rc
2935
2936 *_CLANGDWARF_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)
2937 *_CLANGDWARF_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -fuse-ld=lld
2938 *_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)
2939 *_CLANGDWARF_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2940 *_CLANGDWARF_X64_OBJCOPY_FLAGS =
2941 *_CLANGDWARF_X64_NASM_FLAGS = -f elf64
2942 *_CLANGDWARF_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET)
2943 *_CLANGDWARF_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)
2944 *_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)
2945
2946 DEBUG_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g
2947 DEBUG_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
2948 DEBUG_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
2949
2950 RELEASE_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET)
2951 RELEASE_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
2952 RELEASE_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
2953
2954 NOOPT_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANG38_X64_TARGET) -g
2955 NOOPT_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
2956 NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O0 -fuse-ld=lld
2957
2958 #
2959 #
2960 # XCODE5 support
2961 #
2962
2963 *_XCODE5_*_*_FAMILY = GCC
2964 *_XCODE5_*_*_BUILDRULEFAMILY = XCODE
2965
2966 #
2967 # use xcode-select to change Xcode version of command line tools
2968 #
2969 *_XCODE5_*_MAKE_PATH = make
2970 *_XCODE5_*_CC_PATH = clang
2971 *_XCODE5_*_SLINK_PATH = libtool
2972 *_XCODE5_*_DLINK_PATH = ld
2973 *_XCODE5_*_ASM_PATH = as
2974 *_XCODE5_*_PP_PATH = clang
2975 *_XCODE5_*_VFRPP_PATH = clang
2976 *_XCODE5_*_ASL_PATH = iasl
2977 *_XCODE5_*_ASLCC_PATH = clang
2978 *_XCODE5_*_ASLPP_PATH = clang
2979 *_XCODE5_*_ASLDLINK_PATH = ld
2980 *_XCODE5_*_DSYMUTIL_PATH = /usr/bin/dsymutil
2981 *_XCODE5_*_MTOC_PATH = /usr/local/bin/mtoc
2982 *_XCODE5_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2983
2984 ##################
2985 # ASL definitions
2986 ##################
2987 *_XCODE5_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h
2988 *_XCODE5_*_ASLDLINK_FLAGS = -e _ReferenceAcpiTable -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
2989 *_XCODE5_*_ASLPP_FLAGS = -x c -E -include AutoGen.h
2990 *_XCODE5_*_ASL_FLAGS =
2991 *_XCODE5_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2992
2993 ##################
2994 # MTOC definitions
2995 ##################
2996
2997 DEBUG_XCODE5_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll
2998 NOOPT_XCODE5_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll
2999 RELEASE_XCODE5_*_MTOC_FLAGS = -align 0x20
3000
3001 ####################
3002 # IA-32 definitions
3003 ####################
3004 DEBUG_XCODE5_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
3005 NOOPT_XCODE5_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
3006 RELEASE_XCODE5_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
3007
3008 *_XCODE5_IA32_SLINK_FLAGS = -static -o
3009 DEBUG_XCODE5_IA32_ASM_FLAGS = -arch i386 -g
3010 NOOPT_XCODE5_IA32_ASM_FLAGS = -arch i386 -g
3011 RELEASE_XCODE5_IA32_ASM_FLAGS = -arch i386
3012 *_XCODE5_IA32_NASM_FLAGS = -f macho32
3013
3014
3015 DEBUG_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -Os -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
3016 RELEASE_XCODE5_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
3017 NOOPT_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
3018
3019 ##################
3020 # X64 definitions
3021 ##################
3022 DEBUG_XCODE5_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
3023 NOOPT_XCODE5_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
3024 RELEASE_XCODE5_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
3025
3026 *_XCODE5_X64_SLINK_FLAGS = -static -o
3027 DEBUG_XCODE5_X64_ASM_FLAGS = -arch x86_64 -g
3028 NOOPT_XCODE5_X64_ASM_FLAGS = -arch x86_64 -g
3029 RELEASE_XCODE5_X64_ASM_FLAGS = -arch x86_64
3030 *_XCODE5_X64_NASM_FLAGS = -f macho64
3031 *_XCODE5_*_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h
3032 *_XCODE5_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include $(MODULE_NAME)StrDefs.h
3033
3034 DEBUG_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -gdwarf -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
3035 NOOPT_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -gdwarf -O0 -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
3036 RELEASE_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
3037
3038 #################
3039 # ASM 16 linker definitions
3040 #################
3041 *_*_*_ASMLINK_PATH = DEF(WINDDK_BIN16)\link16.exe
3042 *_*_*_ASMLINK_FLAGS = /nologo /tiny
3043
3044 ##################
3045 # VfrCompiler definitions
3046 ##################
3047 *_*_*_VFR_PATH = VfrCompile
3048 *_*_*_VFR_FLAGS = -l -n
3049
3050 ##################
3051 # OptionRom tool definitions
3052 ##################
3053 *_*_*_OPTROM_PATH = EfiRom
3054 *_*_*_OPTROM_FLAGS = -e
3055
3056 ##################
3057 # GenFw tool definitions
3058 ##################
3059 *_*_*_GENFW_PATH = GenFw
3060 *_*_*_GENFW_FLAGS =
3061
3062 ##################
3063 # Asl Compiler definitions
3064 ##################
3065 *_*_*_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable
3066 *_*_*_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE
3067 *_*_*_ASLPP_FLAGS = /nologo /EP /C
3068 *_*_*_ASL_FLAGS =
3069
3070 ##################
3071 # GenCrc32 tool definitions
3072 ##################
3073 *_*_*_CRC32_PATH = GenCrc32
3074 *_*_*_CRC32_GUID = FC1BCDB0-7D31-49AA-936A-A4600D9DD083
3075
3076 ##################
3077 # Rsa2048Sha256Sign tool definitions
3078 #
3079 # Notes: This tool definition uses a test signing key for development purposes only.
3080 # The tool Rsa2048Sha256GenerateKeys can be used to generate a new private/public key
3081 # and the gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value.
3082 # A custom tool/script can be implemented using the new private/public key with
3083 # the Rsa2048Sha256Sign tool and this tool definition can be updated to use a
3084 # custom tool/script.
3085 #
3086 # Generate new private/public key and gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value
3087 #
3088 # Rsa2048Sha256GenerateKeys.py -o MyKey.pem --public-key-hash-c MyKey.pcd
3089 #
3090 # Custom script example (MyRsa2048Sha256Sign.cmd):
3091 #
3092 # Rsa2048Sha256Sign --private-key MyKey.pem %1 %2 %3 %4 %5 %6 %7 %8 %9
3093 #
3094 # WARNING: Vendors that uses private keys are responsible for proper management and protection
3095 # of private keys. Vendors may choose to use infrastructure such as signing servers
3096 # or signing portals to support the management and protection of private keys.
3097 #
3098 ##################
3099 *_*_*_RSA2048SHA256SIGN_PATH = Rsa2048Sha256Sign
3100 *_*_*_RSA2048SHA256SIGN_GUID = A7717414-C616-4977-9420-844712A735BF
3101
3102 ##################
3103 # BrotliCompress tool definitions
3104 ##################
3105 *_*_*_BROTLI_PATH = BrotliCompress
3106 *_*_*_BROTLI_GUID = 3D532050-5CDA-4FD0-879E-0F7F630D5AFB
3107
3108 ##################
3109 # LzmaCompress tool definitions
3110 ##################
3111 *_*_*_LZMA_PATH = LzmaCompress
3112 *_*_*_LZMA_GUID = EE4E5898-3914-4259-9D6E-DC7BD79403CF
3113
3114 ##################
3115 # LzmaF86Compress tool definitions with converter for x86 code.
3116 # It can improve the compression ratio if the input file is IA32 or X64 PE image.
3117 ##################
3118 *_*_*_LZMAF86_PATH = LzmaF86Compress
3119 *_*_*_LZMAF86_GUID = D42AE6BD-1352-4bfb-909A-CA72A6EAE889
3120
3121 ##################
3122 # TianoCompress tool definitions
3123 ##################
3124 *_*_*_TIANO_PATH = TianoCompress
3125 *_*_*_TIANO_GUID = A31280AD-481E-41B6-95E8-127F4C984779
3126
3127 ##################
3128 # BPDG tool definitions
3129 ##################
3130 *_*_*_VPDTOOL_PATH = BPDG
3131 *_*_*_VPDTOOL_GUID = 8C3D856A-9BE6-468E-850A-24F7A8D38E08
3132
3133 ##################
3134 # Pkcs7Sign tool definitions
3135 ##################
3136 *_*_*_PKCS7SIGN_PATH = Pkcs7Sign
3137 *_*_*_PKCS7SIGN_GUID = 4AAFD29D-68DF-49EE-8AA9-347D375665A7
3138
3139 ##################
3140 # NASM tool definitions
3141 ##################
3142 *_*_*_NASM_PATH = ENV(NASM_PREFIX)nasm
3143 # NASMB uses NASM produce a .bin from a .nasmb NASM source file
3144 *_*_*_NASMB_FLAGS = -f bin
3145
3146 #################
3147 # Build rule order
3148 #################
3149 *_*_*_*_BUILDRULEORDER = nasm asm Asm ASM S s nasmb asm16