]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Conf/tools_def.template
tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS
[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_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
1854 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
1855 DEFINE GCC_ARM_CC_XIPFLAGS = -mno-unaligned-access
1856 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
1857 DEFINE GCC_AARCH64_CC_XIPFLAGS = -mstrict-align -mgeneral-regs-only
1858 DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie
1859 DEFINE GCC_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
1860 DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
1861 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
1862 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
1863 DEFINE GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20 -Wl,--pic-veneer
1864 DEFINE GCC_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
1865 DEFINE GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_COMMON) -z common-page-size=0x20
1866 DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z common-page-size=0x20
1867 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
1868 DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
1869 DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
1870 DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
1871 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
1872 DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h
1873 DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h
1874 DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h
1875 DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h
1876 DEFINE GCC_ASLCC_FLAGS = -x c
1877 DEFINE GCC_WINDRES_FLAGS = -J rc -O coff
1878 DEFINE GCC_DTCPP_FLAGS = -E -x assembler-with-cpp -imacros AutoGen.h -nostdinc -undef
1879 DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii
1880 DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii
1881 DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii
1882 DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
1883 DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv -B riscv --rename-section .data=.hii
1884 DEFINE GCC_LOONGARCH64_RC_FLAGS = -I binary -O elf64-loongarch -B loongarch64 --rename-section .data=.hii
1885
1886 # GCC Build Flag for included header file list generation
1887 DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps
1888
1889 DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
1890 DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
1891 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
1892 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
1893 DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
1894 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
1895 DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
1896 DEFINE GCC48_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
1897 DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
1898 DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
1899 DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
1900 DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
1901 DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
1902 DEFINE GCC48_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
1903 DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)
1904 DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
1905 DEFINE GCC48_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--oformat=elf32-littlearm
1906 DEFINE GCC48_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
1907 DEFINE GCC48_AARCH64_DLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS)
1908 DEFINE GCC48_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
1909 DEFINE GCC48_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_ASLDLINK_FLAGS) -Wl,--oformat=elf32-littlearm
1910 DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_ASLDLINK_FLAGS)
1911 DEFINE GCC48_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
1912
1913 DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -fno-pic -fno-pie
1914 DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS)
1915 DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
1916 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
1917 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
1918 DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
1919 DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
1920 DEFINE GCC49_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS)
1921 DEFINE GCC49_ASM_FLAGS = DEF(GCC48_ASM_FLAGS)
1922 DEFINE GCC49_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS)
1923 DEFINE GCC49_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS)
1924 DEFINE GCC49_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS)
1925 DEFINE GCC49_ARM_CC_XIPFLAGS = DEF(GCC48_ARM_CC_XIPFLAGS)
1926 DEFINE GCC49_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC48_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -mcmodel=small
1927 DEFINE GCC49_AARCH64_CC_XIPFLAGS = DEF(GCC48_AARCH64_CC_XIPFLAGS)
1928 DEFINE GCC49_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS)
1929 DEFINE GCC49_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS)
1930 DEFINE GCC49_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
1931 DEFINE GCC49_AARCH64_DLINK2_FLAGS = DEF(GCC48_AARCH64_DLINK2_FLAGS)
1932 DEFINE GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS)
1933 DEFINE GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
1934 DEFINE GCC49_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS)
1935
1936 DEFINE GCC5_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS)
1937 DEFINE GCC5_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS)
1938 DEFINE GCC5_IA32_X64_DLINK_COMMON = DEF(GCC49_IA32_X64_DLINK_COMMON)
1939 DEFINE GCC5_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS)
1940 DEFINE GCC5_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS)
1941 DEFINE GCC5_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) -Wno-error
1942 DEFINE GCC5_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS)
1943 DEFINE GCC5_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) -Wno-error
1944 DEFINE GCC5_ASM_FLAGS = DEF(GCC49_ASM_FLAGS)
1945 DEFINE GCC5_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS)
1946 DEFINE GCC5_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS)
1947 DEFINE GCC5_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS)
1948 DEFINE GCC5_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS)
1949 DEFINE GCC5_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS)
1950 DEFINE GCC5_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS)
1951 DEFINE GCC5_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS)
1952 DEFINE GCC5_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) -Wno-error
1953 DEFINE GCC5_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
1954 DEFINE GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-error
1955 DEFINE GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS)
1956 DEFINE GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
1957 DEFINE GCC5_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -fno-lto
1958
1959 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
1960 DEFINE GCC5_RISCV_ALL_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
1961 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
1962 DEFINE GCC5_RISCV_ALL_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
1963 DEFINE GCC5_RISCV_ALL_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
1964 DEFINE GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE = -Wno-tautological-compare -Wno-pointer-compare
1965
1966 DEFINE GCC5_RISCV_OPENSBI_TYPES = -DOPENSBI_EXTERNAL_SBI_TYPES=OpensbiTypes.h
1967
1968 DEFINE GCC5_RISCV64_ARCH = rv64imafdc
1969 DEFINE GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
1970 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
1971 DEFINE GCC5_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax
1972 DEFINE GCC5_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV_ALL_DLINK2_FLAGS)
1973 DEFINE GCC5_RISCV64_ASM_FLAGS = DEF(GCC5_RISCV_ALL_ASM_FLAGS) -march=DEF(GCC5_RISCV64_ARCH) -mcmodel=medany -mabi=lp64
1974
1975 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
1976 DEFINE GCC5_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS)
1977 DEFINE GCC5_LOONGARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
1978 DEFINE GCC5_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_ASLDLINK_FLAGS) DEF(GCC5_LOONGARCH64_DLINK2_FLAGS)
1979 DEFINE GCC5_LOONGARCH64_ASM_FLAGS = -x assembler-with-cpp -mabi=lp64d -march=loongarch64 -fno-builtin -c -Wall -mno-explicit-relocs
1980 DEFINE GCC5_LOONGARCH64_PP_FLAGS = -mabi=lp64d -march=loongarch64 DEF(GCC_PP_FLAGS)
1981
1982 DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h DEF(GCC5_RISCV_OPENSBI_TYPES)
1983
1984 ####################################################################################
1985 #
1986 # GCC 4.8 - This configuration is used to compile under Linux to produce
1987 # PE/COFF binaries using GCC 4.8.
1988 #
1989 ####################################################################################
1990 *_GCC48_*_*_FAMILY = GCC
1991
1992 *_GCC48_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make
1993 *_GCC48_*_*_DLL = ENV(GCC48_DLL)
1994 *_GCC48_*_ASL_PATH = DEF(UNIX_IASL_BIN)
1995
1996 *_GCC48_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
1997 *_GCC48_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
1998 *_GCC48_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
1999 *_GCC48_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
2000 *_GCC48_*_APP_FLAGS =
2001 *_GCC48_*_ASL_FLAGS = DEF(IASL_FLAGS)
2002 *_GCC48_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2003 *_GCC48_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2004
2005 ##################
2006 # GCC48 IA32 definitions
2007 ##################
2008 *_GCC48_IA32_OBJCOPY_PATH = DEF(GCC48_IA32_PREFIX)objcopy
2009 *_GCC48_IA32_CC_PATH = DEF(GCC48_IA32_PREFIX)gcc
2010 *_GCC48_IA32_SLINK_PATH = DEF(GCC48_IA32_PREFIX)ar
2011 *_GCC48_IA32_DLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc
2012 *_GCC48_IA32_ASLDLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc
2013 *_GCC48_IA32_ASM_PATH = DEF(GCC48_IA32_PREFIX)gcc
2014 *_GCC48_IA32_PP_PATH = DEF(GCC48_IA32_PREFIX)gcc
2015 *_GCC48_IA32_VFRPP_PATH = DEF(GCC48_IA32_PREFIX)gcc
2016 *_GCC48_IA32_ASLCC_PATH = DEF(GCC48_IA32_PREFIX)gcc
2017 *_GCC48_IA32_ASLPP_PATH = DEF(GCC48_IA32_PREFIX)gcc
2018 *_GCC48_IA32_RC_PATH = DEF(GCC48_IA32_PREFIX)objcopy
2019
2020 *_GCC48_IA32_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m32
2021 *_GCC48_IA32_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
2022 *_GCC48_IA32_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -m32 -march=i386
2023 *_GCC48_IA32_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
2024 *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
2025 *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2026 *_GCC48_IA32_OBJCOPY_FLAGS =
2027 *_GCC48_IA32_NASM_FLAGS = -f elf32
2028
2029 DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os
2030 RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable
2031 NOOPT_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -O0
2032
2033 ##################
2034 # GCC48 X64 definitions
2035 ##################
2036 *_GCC48_X64_OBJCOPY_PATH = DEF(GCC48_X64_PREFIX)objcopy
2037 *_GCC48_X64_CC_PATH = DEF(GCC48_X64_PREFIX)gcc
2038 *_GCC48_X64_SLINK_PATH = DEF(GCC48_X64_PREFIX)ar
2039 *_GCC48_X64_DLINK_PATH = DEF(GCC48_X64_PREFIX)gcc
2040 *_GCC48_X64_ASLDLINK_PATH = DEF(GCC48_X64_PREFIX)gcc
2041 *_GCC48_X64_ASM_PATH = DEF(GCC48_X64_PREFIX)gcc
2042 *_GCC48_X64_PP_PATH = DEF(GCC48_X64_PREFIX)gcc
2043 *_GCC48_X64_VFRPP_PATH = DEF(GCC48_X64_PREFIX)gcc
2044 *_GCC48_X64_ASLCC_PATH = DEF(GCC48_X64_PREFIX)gcc
2045 *_GCC48_X64_ASLPP_PATH = DEF(GCC48_X64_PREFIX)gcc
2046 *_GCC48_X64_RC_PATH = DEF(GCC48_X64_PREFIX)objcopy
2047
2048 *_GCC48_X64_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m64
2049 *_GCC48_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
2050 *_GCC48_X64_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -m64
2051 *_GCC48_X64_DLINK_FLAGS = DEF(GCC48_X64_DLINK_FLAGS)
2052 *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS)
2053 *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2054 *_GCC48_X64_OBJCOPY_FLAGS =
2055 *_GCC48_X64_NASM_FLAGS = -f elf64
2056
2057 DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os
2058 RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable
2059 NOOPT_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -O0
2060
2061 ##################
2062 # GCC48 ARM definitions
2063 ##################
2064 *_GCC48_ARM_CC_PATH = ENV(GCC48_ARM_PREFIX)gcc
2065 *_GCC48_ARM_SLINK_PATH = ENV(GCC48_ARM_PREFIX)ar
2066 *_GCC48_ARM_DLINK_PATH = ENV(GCC48_ARM_PREFIX)gcc
2067 *_GCC48_ARM_ASLDLINK_PATH = ENV(GCC48_ARM_PREFIX)gcc
2068 *_GCC48_ARM_ASM_PATH = ENV(GCC48_ARM_PREFIX)gcc
2069 *_GCC48_ARM_PP_PATH = ENV(GCC48_ARM_PREFIX)gcc
2070 *_GCC48_ARM_VFRPP_PATH = ENV(GCC48_ARM_PREFIX)gcc
2071 *_GCC48_ARM_ASLCC_PATH = ENV(GCC48_ARM_PREFIX)gcc
2072 *_GCC48_ARM_ASLPP_PATH = ENV(GCC48_ARM_PREFIX)gcc
2073 *_GCC48_ARM_RC_PATH = ENV(GCC48_ARM_PREFIX)objcopy
2074
2075 *_GCC48_ARM_ARCHCC_FLAGS = -mthumb
2076 *_GCC48_ARM_PLATFORM_FLAGS = -march=armv7-a
2077
2078 *_GCC48_ARM_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS)
2079 *_GCC48_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS)
2080 *_GCC48_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS)
2081 *_GCC48_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS)
2082 *_GCC48_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS)
2083 *_GCC48_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2084 *_GCC48_ARM_PLATFORM_FLAGS = -march=armv7-a
2085 *_GCC48_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2086 *_GCC48_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2087 *_GCC48_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2088 *_GCC48_ARM_CC_XIPFLAGS = DEF(GCC48_ARM_CC_XIPFLAGS)
2089
2090 DEBUG_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -O0
2091 RELEASE_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-variable
2092 NOOPT_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -O0
2093
2094 ##################
2095 # GCC48 AARCH64 definitions
2096 ##################
2097 *_GCC48_AARCH64_CC_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2098 *_GCC48_AARCH64_SLINK_PATH = ENV(GCC48_AARCH64_PREFIX)ar
2099 *_GCC48_AARCH64_DLINK_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2100 *_GCC48_AARCH64_ASLDLINK_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2101 *_GCC48_AARCH64_ASM_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2102 *_GCC48_AARCH64_PP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2103 *_GCC48_AARCH64_VFRPP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2104 *_GCC48_AARCH64_ASLCC_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2105 *_GCC48_AARCH64_ASLPP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc
2106 *_GCC48_AARCH64_RC_PATH = ENV(GCC48_AARCH64_PREFIX)objcopy
2107
2108 *_GCC48_AARCH64_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS)
2109 *_GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
2110 *_GCC48_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS)
2111 *_GCC48_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS)
2112 *_GCC48_AARCH64_DLINK2_FLAGS = DEF(GCC48_AARCH64_DLINK2_FLAGS)
2113 *_GCC48_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2114 *_GCC48_AARCH64_PLATFORM_FLAGS =
2115 *_GCC48_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2116 *_GCC48_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2117 *_GCC48_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2118 *_GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC48_AARCH64_CC_XIPFLAGS)
2119
2120 DEBUG_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -O0
2121 RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable
2122 NOOPT_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -O0
2123
2124 ####################################################################################
2125 #
2126 # GCC 4.9 - This configuration is used to compile under Linux to produce
2127 # PE/COFF binaries using GCC 4.9.
2128 #
2129 ####################################################################################
2130 *_GCC49_*_*_FAMILY = GCC
2131
2132 *_GCC49_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make
2133 *_GCC49_*_*_DLL = ENV(GCC49_DLL)
2134 *_GCC49_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2135
2136 *_GCC49_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
2137 *_GCC49_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
2138 *_GCC49_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2139 *_GCC49_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
2140 *_GCC49_*_APP_FLAGS =
2141 *_GCC49_*_ASL_FLAGS = DEF(IASL_FLAGS)
2142 *_GCC49_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2143 *_GCC49_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2144
2145 ##################
2146 # GCC49 IA32 definitions
2147 ##################
2148 *_GCC49_IA32_OBJCOPY_PATH = DEF(GCC49_IA32_PREFIX)objcopy
2149 *_GCC49_IA32_CC_PATH = DEF(GCC49_IA32_PREFIX)gcc
2150 *_GCC49_IA32_SLINK_PATH = DEF(GCC49_IA32_PREFIX)ar
2151 *_GCC49_IA32_DLINK_PATH = DEF(GCC49_IA32_PREFIX)gcc
2152 *_GCC49_IA32_ASLDLINK_PATH = DEF(GCC49_IA32_PREFIX)gcc
2153 *_GCC49_IA32_ASM_PATH = DEF(GCC49_IA32_PREFIX)gcc
2154 *_GCC49_IA32_PP_PATH = DEF(GCC49_IA32_PREFIX)gcc
2155 *_GCC49_IA32_VFRPP_PATH = DEF(GCC49_IA32_PREFIX)gcc
2156 *_GCC49_IA32_ASLCC_PATH = DEF(GCC49_IA32_PREFIX)gcc
2157 *_GCC49_IA32_ASLPP_PATH = DEF(GCC49_IA32_PREFIX)gcc
2158 *_GCC49_IA32_RC_PATH = DEF(GCC49_IA32_PREFIX)objcopy
2159
2160 *_GCC49_IA32_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m32
2161 *_GCC49_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
2162 *_GCC49_IA32_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m32 -march=i386
2163 *_GCC49_IA32_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
2164 *_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS)
2165 *_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2166 *_GCC49_IA32_OBJCOPY_FLAGS =
2167 *_GCC49_IA32_NASM_FLAGS = -f elf32
2168
2169 DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os
2170 RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
2171 NOOPT_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -O0
2172
2173 ##################
2174 # GCC49 X64 definitions
2175 ##################
2176 *_GCC49_X64_OBJCOPY_PATH = DEF(GCC49_X64_PREFIX)objcopy
2177 *_GCC49_X64_CC_PATH = DEF(GCC49_X64_PREFIX)gcc
2178 *_GCC49_X64_SLINK_PATH = DEF(GCC49_X64_PREFIX)ar
2179 *_GCC49_X64_DLINK_PATH = DEF(GCC49_X64_PREFIX)gcc
2180 *_GCC49_X64_ASLDLINK_PATH = DEF(GCC49_X64_PREFIX)gcc
2181 *_GCC49_X64_ASM_PATH = DEF(GCC49_X64_PREFIX)gcc
2182 *_GCC49_X64_PP_PATH = DEF(GCC49_X64_PREFIX)gcc
2183 *_GCC49_X64_VFRPP_PATH = DEF(GCC49_X64_PREFIX)gcc
2184 *_GCC49_X64_ASLCC_PATH = DEF(GCC49_X64_PREFIX)gcc
2185 *_GCC49_X64_ASLPP_PATH = DEF(GCC49_X64_PREFIX)gcc
2186 *_GCC49_X64_RC_PATH = DEF(GCC49_X64_PREFIX)objcopy
2187
2188 *_GCC49_X64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m64
2189 *_GCC49_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
2190 *_GCC49_X64_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m64
2191 *_GCC49_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS)
2192 *_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS)
2193 *_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2194 *_GCC49_X64_OBJCOPY_FLAGS =
2195 *_GCC49_X64_NASM_FLAGS = -f elf64
2196
2197 DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os
2198 RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
2199 NOOPT_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -O0
2200
2201 ##################
2202 # GCC49 ARM definitions
2203 ##################
2204 *_GCC49_ARM_CC_PATH = ENV(GCC49_ARM_PREFIX)gcc
2205 *_GCC49_ARM_SLINK_PATH = ENV(GCC49_ARM_PREFIX)ar
2206 *_GCC49_ARM_DLINK_PATH = ENV(GCC49_ARM_PREFIX)gcc
2207 *_GCC49_ARM_ASLDLINK_PATH = ENV(GCC49_ARM_PREFIX)gcc
2208 *_GCC49_ARM_ASM_PATH = ENV(GCC49_ARM_PREFIX)gcc
2209 *_GCC49_ARM_PP_PATH = ENV(GCC49_ARM_PREFIX)gcc
2210 *_GCC49_ARM_VFRPP_PATH = ENV(GCC49_ARM_PREFIX)gcc
2211 *_GCC49_ARM_ASLCC_PATH = ENV(GCC49_ARM_PREFIX)gcc
2212 *_GCC49_ARM_ASLPP_PATH = ENV(GCC49_ARM_PREFIX)gcc
2213 *_GCC49_ARM_RC_PATH = ENV(GCC49_ARM_PREFIX)objcopy
2214
2215 *_GCC49_ARM_ARCHCC_FLAGS = -mthumb
2216 *_GCC49_ARM_PLATFORM_FLAGS = -march=armv7-a
2217
2218 *_GCC49_ARM_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS)
2219 *_GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS)
2220 *_GCC49_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS)
2221 *_GCC49_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS)
2222 *_GCC49_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS)
2223 *_GCC49_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2224 *_GCC49_ARM_PLATFORM_FLAGS = -march=armv7-a
2225 *_GCC49_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2226 *_GCC49_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2227 *_GCC49_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2228 *_GCC49_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS)
2229
2230 DEBUG_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0
2231 RELEASE_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
2232 NOOPT_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0
2233
2234 ##################
2235 # GCC49 AARCH64 definitions
2236 ##################
2237 *_GCC49_AARCH64_CC_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2238 *_GCC49_AARCH64_SLINK_PATH = ENV(GCC49_AARCH64_PREFIX)ar
2239 *_GCC49_AARCH64_DLINK_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2240 *_GCC49_AARCH64_ASLDLINK_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2241 *_GCC49_AARCH64_ASM_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2242 *_GCC49_AARCH64_PP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2243 *_GCC49_AARCH64_VFRPP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2244 *_GCC49_AARCH64_ASLCC_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2245 *_GCC49_AARCH64_ASLPP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc
2246 *_GCC49_AARCH64_RC_PATH = ENV(GCC49_AARCH64_PREFIX)objcopy
2247
2248 *_GCC49_AARCH64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS)
2249 *_GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
2250 *_GCC49_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS)
2251 *_GCC49_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS)
2252 *_GCC49_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2253 *_GCC49_AARCH64_PLATFORM_FLAGS =
2254 *_GCC49_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2255 *_GCC49_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2256 *_GCC49_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2257 *_GCC49_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS)
2258
2259 DEBUG_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0
2260 DEBUG_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
2261 DEBUG_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2262
2263 RELEASE_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
2264 RELEASE_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
2265 RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2266
2267 NOOPT_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0
2268 NOOPT_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -O0
2269 NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
2270
2271 ####################################################################################
2272 #
2273 # GCC 5 - This configuration is used to compile under Linux to produce
2274 # PE/COFF binaries using GCC 5
2275 #
2276 ####################################################################################
2277 *_GCC5_*_*_FAMILY = GCC
2278
2279 *_GCC5_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make
2280 *_GCC5_*_*_DLL = ENV(GCC5_DLL)
2281 *_GCC5_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2282
2283 *_GCC5_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
2284 *_GCC5_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
2285 *_GCC5_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2286 *_GCC5_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
2287 *_GCC5_*_APP_FLAGS =
2288 *_GCC5_*_ASL_FLAGS = DEF(IASL_FLAGS)
2289 *_GCC5_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2290 *_GCC5_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2291
2292 ##################
2293 # GCC5 IA32 definitions
2294 ##################
2295 *_GCC5_IA32_OBJCOPY_PATH = DEF(GCC5_IA32_PREFIX)objcopy
2296 *_GCC5_IA32_CC_PATH = DEF(GCC5_IA32_PREFIX)gcc
2297 *_GCC5_IA32_SLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc-ar
2298 *_GCC5_IA32_DLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc
2299 *_GCC5_IA32_ASLDLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc
2300 *_GCC5_IA32_ASM_PATH = DEF(GCC5_IA32_PREFIX)gcc
2301 *_GCC5_IA32_PP_PATH = DEF(GCC5_IA32_PREFIX)gcc
2302 *_GCC5_IA32_VFRPP_PATH = DEF(GCC5_IA32_PREFIX)gcc
2303 *_GCC5_IA32_ASLCC_PATH = DEF(GCC5_IA32_PREFIX)gcc
2304 *_GCC5_IA32_ASLPP_PATH = DEF(GCC5_IA32_PREFIX)gcc
2305 *_GCC5_IA32_RC_PATH = DEF(GCC5_IA32_PREFIX)objcopy
2306
2307 *_GCC5_IA32_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m32
2308 *_GCC5_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie
2309 *_GCC5_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386
2310 *_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie
2311 *_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2312 *_GCC5_IA32_OBJCOPY_FLAGS =
2313 *_GCC5_IA32_NASM_FLAGS = -f elf32
2314
2315 DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os
2316 DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
2317
2318 RELEASE_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
2319 RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
2320
2321 NOOPT_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0
2322 NOOPT_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0
2323
2324 ##################
2325 # GCC5 X64 definitions
2326 ##################
2327 *_GCC5_X64_OBJCOPY_PATH = DEF(GCC5_X64_PREFIX)objcopy
2328 *_GCC5_X64_CC_PATH = DEF(GCC5_X64_PREFIX)gcc
2329 *_GCC5_X64_SLINK_PATH = DEF(GCC5_X64_PREFIX)gcc-ar
2330 *_GCC5_X64_DLINK_PATH = DEF(GCC5_X64_PREFIX)gcc
2331 *_GCC5_X64_ASLDLINK_PATH = DEF(GCC5_X64_PREFIX)gcc
2332 *_GCC5_X64_ASM_PATH = DEF(GCC5_X64_PREFIX)gcc
2333 *_GCC5_X64_PP_PATH = DEF(GCC5_X64_PREFIX)gcc
2334 *_GCC5_X64_VFRPP_PATH = DEF(GCC5_X64_PREFIX)gcc
2335 *_GCC5_X64_ASLCC_PATH = DEF(GCC5_X64_PREFIX)gcc
2336 *_GCC5_X64_ASLPP_PATH = DEF(GCC5_X64_PREFIX)gcc
2337 *_GCC5_X64_RC_PATH = DEF(GCC5_X64_PREFIX)objcopy
2338
2339 *_GCC5_X64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m64
2340 *_GCC5_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
2341 *_GCC5_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64
2342 *_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)
2343 *_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2344 *_GCC5_X64_OBJCOPY_FLAGS =
2345 *_GCC5_X64_NASM_FLAGS = -f elf64
2346
2347 DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os
2348 DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
2349
2350 RELEASE_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
2351 RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
2352
2353 NOOPT_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0
2354 NOOPT_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0
2355
2356 ##################
2357 # GCC5 ARM definitions
2358 ##################
2359 *_GCC5_ARM_CC_PATH = ENV(GCC5_ARM_PREFIX)gcc
2360 *_GCC5_ARM_SLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc-ar
2361 *_GCC5_ARM_DLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc
2362 *_GCC5_ARM_ASLDLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc
2363 *_GCC5_ARM_ASM_PATH = ENV(GCC5_ARM_PREFIX)gcc
2364 *_GCC5_ARM_PP_PATH = ENV(GCC5_ARM_PREFIX)gcc
2365 *_GCC5_ARM_VFRPP_PATH = ENV(GCC5_ARM_PREFIX)gcc
2366 *_GCC5_ARM_ASLCC_PATH = ENV(GCC5_ARM_PREFIX)gcc
2367 *_GCC5_ARM_ASLPP_PATH = ENV(GCC5_ARM_PREFIX)gcc
2368 *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy
2369
2370 *_GCC5_ARM_ARCHCC_FLAGS = -mthumb
2371 *_GCC5_ARM_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS)
2372 *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS)
2373 *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS)
2374 *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS)
2375 *_GCC5_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2376 *_GCC5_ARM_PLATFORM_FLAGS = -march=armv7-a
2377 *_GCC5_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2378 *_GCC5_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2379 *_GCC5_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2380 *_GCC5_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS)
2381
2382 DEBUG_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
2383 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
2384
2385 RELEASE_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
2386 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
2387
2388 NOOPT_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
2389 NOOPT_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0
2390
2391 ##################
2392 # GCC5 AARCH64 definitions
2393 ##################
2394 *_GCC5_AARCH64_CC_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2395 *_GCC5_AARCH64_SLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc-ar
2396 *_GCC5_AARCH64_DLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2397 *_GCC5_AARCH64_ASLDLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2398 *_GCC5_AARCH64_ASM_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2399 *_GCC5_AARCH64_PP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2400 *_GCC5_AARCH64_VFRPP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2401 *_GCC5_AARCH64_ASLCC_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2402 *_GCC5_AARCH64_ASLPP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc
2403 *_GCC5_AARCH64_RC_PATH = ENV(GCC5_AARCH64_PREFIX)objcopy
2404
2405 *_GCC5_AARCH64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS)
2406 *_GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)
2407 *_GCC5_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS)
2408 *_GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS)
2409 *_GCC5_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2410 *_GCC5_AARCH64_PLATFORM_FLAGS =
2411 *_GCC5_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
2412 *_GCC5_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2413 *_GCC5_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
2414 *_GCC5_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS)
2415
2416 DEBUG_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
2417 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
2418 DEBUG_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2419
2420 RELEASE_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
2421 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
2422 RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2423
2424 NOOPT_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0
2425 NOOPT_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0
2426 NOOPT_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
2427
2428 ####################################################################################
2429 #
2430 # GCC RISC-V This configuration is used to compile under Linux to produce
2431 # PE/COFF binaries using GCC RISC-V tool chain
2432 #
2433 ####################################################################################
2434
2435 ##################
2436 # GCC5 RISCV64 definitions
2437 ##################
2438 *_GCC5_RISCV64_OBJCOPY_PATH = ENV(GCC5_RISCV64_PREFIX)objcopy
2439 *_GCC5_RISCV64_CC_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2440 *_GCC5_RISCV64_SLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc-ar
2441 *_GCC5_RISCV64_DLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2442 *_GCC5_RISCV64_ASLDLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2443 *_GCC5_RISCV64_ASM_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2444 *_GCC5_RISCV64_PP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2445 *_GCC5_RISCV64_VFRPP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2446 *_GCC5_RISCV64_ASLCC_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2447 *_GCC5_RISCV64_ASLPP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc
2448 *_GCC5_RISCV64_RC_PATH = ENV(GCC5_RISCV64_PREFIX)objcopy
2449
2450 *_GCC5_RISCV64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2451 *_GCC5_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS)
2452 *_GCC5_RISCV64_ASM_FLAGS = DEF(GCC5_RISCV64_ASM_FLAGS)
2453 *_GCC5_RISCV64_CC_FLAGS = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps
2454 *_GCC5_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV64_DLINK_FLAGS)
2455 *_GCC5_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV64_DLINK2_FLAGS)
2456 *_GCC5_RISCV64_RC_FLAGS = DEF(GCC_RISCV64_RC_FLAGS)
2457 *_GCC5_RISCV64_OBJCOPY_FLAGS =
2458 *_GCC5_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2459
2460 ##################
2461 # GCC5 LOONGARCH64 definitions
2462 ##################
2463 *_GCC5_LOONGARCH64_OBJCOPY_PATH = ENV(GCC5_LOONGARCH64_PREFIX)objcopy
2464 *_GCC5_LOONGARCH64_CC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2465 *_GCC5_LOONGARCH64_SLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc-ar
2466 *_GCC5_LOONGARCH64_DLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2467 *_GCC5_LOONGARCH64_ASLDLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2468 *_GCC5_LOONGARCH64_ASM_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2469 *_GCC5_LOONGARCH64_PP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2470 *_GCC5_LOONGARCH64_VFRPP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2471 *_GCC5_LOONGARCH64_ASLCC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2472 *_GCC5_LOONGARCH64_ASLPP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc
2473 *_GCC5_LOONGARCH64_RC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)objcopy
2474
2475 *_GCC5_LOONGARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2476 *_GCC5_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC5_LOONGARCH64_ASLDLINK_FLAGS)
2477 *_GCC5_LOONGARCH64_ASM_FLAGS = DEF(GCC5_LOONGARCH64_ASM_FLAGS)
2478 *_GCC5_LOONGARCH64_DLINK_FLAGS = DEF(GCC5_LOONGARCH64_DLINK_FLAGS)
2479 *_GCC5_LOONGARCH64_DLINK2_FLAGS = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS)
2480 *_GCC5_LOONGARCH64_RC_FLAGS = DEF(GCC_LOONGARCH64_RC_FLAGS)
2481 *_GCC5_LOONGARCH64_OBJCOPY_FLAGS =
2482 *_GCC5_LOONGARCH64_NASM_FLAGS = -f elf32
2483 *_GCC5_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS)
2484
2485 DEBUG_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS)
2486 RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-variable
2487
2488 ####################################################################################
2489 #
2490 # CLANG35 - This configuration is used to compile under Linux to produce
2491 # PE/COFF binaries using the clang compiler and assembler (v3.5 and up)
2492 # and GNU linker
2493 #
2494 ####################################################################################
2495 *_CLANG35_*_*_FAMILY = GCC
2496
2497 *_CLANG35_*_MAKE_PATH = make
2498 *_CLANG35_*_*_DLL = ENV(CLANG35_DLL)
2499 *_CLANG35_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2500
2501 *_CLANG35_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
2502 *_CLANG35_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2503 *_CLANG35_*_APP_FLAGS =
2504 *_CLANG35_*_ASL_FLAGS = DEF(IASL_FLAGS)
2505 *_CLANG35_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2506 *_CLANG35_*_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2507
2508 *_CLANG35_*_CC_PATH = ENV(CLANG35_BIN)clang
2509 *_CLANG35_*_ASM_PATH = ENV(CLANG35_BIN)clang
2510 *_CLANG35_*_PP_PATH = ENV(CLANG35_BIN)clang
2511 *_CLANG35_*_VFRPP_PATH = ENV(CLANG35_BIN)clang
2512 *_CLANG35_*_ASLCC_PATH = ENV(CLANG35_BIN)clang
2513 *_CLANG35_*_ASLPP_PATH = ENV(CLANG35_BIN)clang
2514 *_CLANG35_*_DLINK_PATH = ENV(CLANG35_BIN)clang
2515 *_CLANG35_*_ASLDLINK_PATH = ENV(CLANG35_BIN)clang
2516 *_CLANG35_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2517
2518 DEFINE CLANG35_ARM_TARGET = -target arm-linux-gnueabi
2519 DEFINE CLANG35_AARCH64_TARGET = -target aarch64-linux-gnu
2520
2521 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
2522 DEFINE CLANG35_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG35_ARM_TARGET) DEF(CLANG35_WARNING_OVERRIDES)
2523 DEFINE CLANG35_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG35_AARCH64_TARGET) -mcmodel=small DEF(CLANG35_WARNING_OVERRIDES)
2524
2525 ##################
2526 # CLANG35 ARM definitions
2527 ##################
2528 *_CLANG35_ARM_SLINK_PATH = ENV(CLANG35_ARM_PREFIX)ar
2529 *_CLANG35_ARM_RC_PATH = ENV(CLANG35_ARM_PREFIX)objcopy
2530
2531 *_CLANG35_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2532 *_CLANG35_ARM_ASLDLINK_FLAGS = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
2533 *_CLANG35_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments
2534 *_CLANG35_ARM_DLINK_FLAGS = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
2535 *_CLANG35_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
2536 *_CLANG35_ARM_PLATFORM_FLAGS = -march=armv7-a -mkernel -Qunused-arguments
2537 *_CLANG35_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2538 *_CLANG35_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2539 *_CLANG35_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2540 *_CLANG35_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_ARM_TARGET)
2541 *_CLANG35_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
2542
2543 DEBUG_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O1
2544 RELEASE_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -Oz
2545 NOOPT_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
2546
2547 ##################
2548 # CLANG35 AARCH64 definitions
2549 ##################
2550 *_CLANG35_AARCH64_SLINK_PATH = ENV(CLANG35_AARCH64_PREFIX)ar
2551 *_CLANG35_AARCH64_RC_PATH = ENV(CLANG35_AARCH64_PREFIX)objcopy
2552
2553 *_CLANG35_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2554 *_CLANG35_AARCH64_ASLDLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
2555 *_CLANG35_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments
2556 *_CLANG35_AARCH64_DLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
2557 *_CLANG35_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2558 *_CLANG35_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
2559 *_CLANG35_AARCH64_PLATFORM_FLAGS =
2560 *_CLANG35_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2561 *_CLANG35_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2562 *_CLANG35_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2563 *_CLANG35_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_AARCH64_TARGET)
2564 *_CLANG35_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
2565
2566 DEBUG_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O1
2567 RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -Oz
2568 NOOPT_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
2569
2570 ####################################################################################
2571 #
2572 # Clang 3.8 - This configuration is used to compile under Linux to produce
2573 # PE/COFF binaries using LLVM/Clang 3.8 with Link Time Optimization enabled
2574 #
2575 ####################################################################################
2576 *_CLANG38_*_*_FAMILY = GCC
2577 *_CLANG38_*_MAKE_PATH = make
2578 *_CLANG38_*_*_DLL = ENV(CLANG38_DLL)
2579 *_CLANG38_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2580
2581 *_CLANG38_*_APP_FLAGS =
2582 *_CLANG38_*_ASL_FLAGS = DEF(IASL_FLAGS)
2583 *_CLANG38_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2584 *_CLANG38_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2585 DEFINE CLANG38_IA32_PREFIX = ENV(CLANG38_BIN)
2586 DEFINE CLANG38_X64_PREFIX = ENV(CLANG38_BIN)
2587
2588 DEFINE CLANG38_IA32_TARGET = -target i686-pc-linux-gnu
2589 DEFINE CLANG38_X64_TARGET = -target x86_64-pc-linux-gnu
2590
2591 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
2592 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
2593
2594 ###########################
2595 # CLANG38 IA32 definitions
2596 ###########################
2597 *_CLANG38_IA32_OBJCOPY_PATH = objcopy
2598 *_CLANG38_IA32_CC_PATH = DEF(CLANG38_IA32_PREFIX)clang
2599 *_CLANG38_IA32_SLINK_PATH = DEF(CLANG38_IA32_PREFIX)llvm-ar
2600 *_CLANG38_IA32_DLINK_PATH = DEF(CLANG38_IA32_PREFIX)clang
2601 *_CLANG38_IA32_ASLDLINK_PATH = DEF(CLANG38_IA32_PREFIX)clang
2602 *_CLANG38_IA32_ASM_PATH = DEF(CLANG38_IA32_PREFIX)clang
2603 *_CLANG38_IA32_PP_PATH = DEF(CLANG38_IA32_PREFIX)clang
2604 *_CLANG38_IA32_VFRPP_PATH = DEF(CLANG38_IA32_PREFIX)clang
2605 *_CLANG38_IA32_ASLCC_PATH = DEF(CLANG38_IA32_PREFIX)clang
2606 *_CLANG38_IA32_ASLPP_PATH = DEF(CLANG38_IA32_PREFIX)clang
2607 *_CLANG38_IA32_RC_PATH = objcopy
2608
2609 *_CLANG38_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)
2610 *_CLANG38_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
2611 *_CLANG38_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)
2612 *_CLANG38_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2613 *_CLANG38_IA32_OBJCOPY_FLAGS =
2614 *_CLANG38_IA32_NASM_FLAGS = -f elf32
2615 *_CLANG38_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET)
2616 *_CLANG38_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)
2617 *_CLANG38_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)
2618
2619 DEBUG_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g
2620 DEBUG_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
2621 DEBUG_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
2622
2623 RELEASE_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET)
2624 RELEASE_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
2625 RELEASE_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
2626
2627 NOOPT_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g
2628 NOOPT_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386
2629 NOOPT_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O0
2630
2631 ##########################
2632 # CLANG38 X64 definitions
2633 ##########################
2634 *_CLANG38_X64_OBJCOPY_PATH = objcopy
2635 *_CLANG38_X64_CC_PATH = DEF(CLANG38_X64_PREFIX)clang
2636 *_CLANG38_X64_SLINK_PATH = DEF(CLANG38_X64_PREFIX)llvm-ar
2637 *_CLANG38_X64_DLINK_PATH = DEF(CLANG38_X64_PREFIX)clang
2638 *_CLANG38_X64_ASLDLINK_PATH = DEF(CLANG38_X64_PREFIX)clang
2639 *_CLANG38_X64_ASM_PATH = DEF(CLANG38_X64_PREFIX)clang
2640 *_CLANG38_X64_PP_PATH = DEF(CLANG38_X64_PREFIX)clang
2641 *_CLANG38_X64_VFRPP_PATH = DEF(CLANG38_X64_PREFIX)clang
2642 *_CLANG38_X64_ASLCC_PATH = DEF(CLANG38_X64_PREFIX)clang
2643 *_CLANG38_X64_ASLPP_PATH = DEF(CLANG38_X64_PREFIX)clang
2644 *_CLANG38_X64_RC_PATH = objcopy
2645
2646 *_CLANG38_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)
2647 *_CLANG38_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
2648 *_CLANG38_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)
2649 *_CLANG38_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2650 *_CLANG38_X64_OBJCOPY_FLAGS =
2651 *_CLANG38_X64_NASM_FLAGS = -f elf64
2652 *_CLANG38_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET)
2653 *_CLANG38_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)
2654 *_CLANG38_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)
2655
2656 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
2657 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
2658 DEBUG_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3
2659
2660 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)
2661 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
2662 RELEASE_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3
2663
2664 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
2665 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
2666 NOOPT_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O0
2667
2668 ##################
2669 # CLANG38 ARM definitions
2670 ##################
2671 DEFINE CLANG38_ARM_TARGET = -target arm-linux-gnueabi
2672 DEFINE CLANG38_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG38_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno-movt
2673 DEFINE CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
2674
2675 *_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS)
2676 *_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2677 *_CLANG38_ARM_APP_FLAGS =
2678 *_CLANG38_ARM_ASL_FLAGS = DEF(IASL_FLAGS)
2679 *_CLANG38_ARM_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2680 *_CLANG38_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2681
2682 *_CLANG38_ARM_CC_PATH = ENV(CLANG38_BIN)clang
2683 *_CLANG38_ARM_ASM_PATH = ENV(CLANG38_BIN)clang
2684 *_CLANG38_ARM_PP_PATH = ENV(CLANG38_BIN)clang
2685 *_CLANG38_ARM_VFRPP_PATH = ENV(CLANG38_BIN)clang
2686 *_CLANG38_ARM_ASLCC_PATH = ENV(CLANG38_BIN)clang
2687 *_CLANG38_ARM_ASLPP_PATH = ENV(CLANG38_BIN)clang
2688 *_CLANG38_ARM_DLINK_PATH = ENV(CLANG38_BIN)clang
2689 *_CLANG38_ARM_ASLDLINK_PATH = ENV(CLANG38_BIN)clang
2690
2691 *_CLANG38_ARM_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar
2692 *_CLANG38_ARM_RC_PATH = ENV(CLANG38_ARM_PREFIX)objcopy
2693
2694 *_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto
2695 *_CLANG38_ARM_ASLDLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
2696 *_CLANG38_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments
2697 *_CLANG38_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
2698 *_CLANG38_ARM_PLATFORM_FLAGS = -march=armv7-a
2699 *_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2700 *_CLANG38_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
2701 *_CLANG38_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2702 *_CLANG38_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_ARM_TARGET)
2703 *_CLANG38_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
2704
2705 DEBUG_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
2706 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
2707 NOOPT_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
2708 NOOPT_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS)
2709 RELEASE_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
2710 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
2711
2712 ##################
2713 # CLANG38 AARCH64 definitions
2714 ##################
2715 DEFINE CLANG38_AARCH64_TARGET = -target aarch64-linux-gnu
2716 DEFINE CLANG38_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES)
2717 DEFINE CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
2718
2719 *_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS)
2720 *_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
2721 *_CLANG38_AARCH64_APP_FLAGS =
2722 *_CLANG38_AARCH64_ASL_FLAGS = DEF(IASL_FLAGS)
2723 *_CLANG38_AARCH64_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2724 *_CLANG38_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
2725
2726 *_CLANG38_AARCH64_CC_PATH = ENV(CLANG38_BIN)clang
2727 *_CLANG38_AARCH64_ASM_PATH = ENV(CLANG38_BIN)clang
2728 *_CLANG38_AARCH64_PP_PATH = ENV(CLANG38_BIN)clang
2729 *_CLANG38_AARCH64_VFRPP_PATH = ENV(CLANG38_BIN)clang
2730 *_CLANG38_AARCH64_ASLCC_PATH = ENV(CLANG38_BIN)clang
2731 *_CLANG38_AARCH64_ASLPP_PATH = ENV(CLANG38_BIN)clang
2732 *_CLANG38_AARCH64_DLINK_PATH = ENV(CLANG38_BIN)clang
2733 *_CLANG38_AARCH64_ASLDLINK_PATH = ENV(CLANG38_BIN)clang
2734
2735 *_CLANG38_AARCH64_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar
2736 *_CLANG38_AARCH64_RC_PATH = ENV(CLANG38_AARCH64_PREFIX)objcopy
2737
2738 *_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto
2739 *_CLANG38_AARCH64_ASLDLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
2740 *_CLANG38_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments
2741 *_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
2742 *_CLANG38_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
2743 *_CLANG38_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
2744 *_CLANG38_AARCH64_PLATFORM_FLAGS =
2745 *_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2746 *_CLANG38_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
2747 *_CLANG38_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)
2748 *_CLANG38_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AARCH64_TARGET)
2749 *_CLANG38_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
2750
2751 DEBUG_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
2752 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
2753 NOOPT_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
2754 NOOPT_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS)
2755 RELEASE_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
2756 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
2757
2758 ####################################################################################
2759 #
2760 # CLANGPDB - This configuration is used to compile under Windows/Linux/Mac to produce
2761 # PE/COFF binaries using LLVM/Clang/LLD with Link Time Optimization enabled
2762 #
2763 ####################################################################################
2764 *_CLANGPDB_*_*_FAMILY = GCC
2765 *_CLANGPDB_*_*_BUILDRULEFAMILY = CLANGPDB
2766 *_CLANGPDB_*_MAKE_PATH = ENV(CLANG_HOST_BIN)make
2767 *_CLANGPDB_*_*_DLL = ENV(CLANGPDB_DLL)
2768 *_CLANGPDB_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2769
2770 *_CLANGPDB_*_APP_FLAGS =
2771 *_CLANGPDB_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
2772 *_CLANGPDB_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
2773 *_CLANGPDB_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
2774 *_CLANGPDB_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2775
2776 DEFINE CLANGPDB_IA32_PREFIX = ENV(CLANG_BIN)
2777 DEFINE CLANGPDB_X64_PREFIX = ENV(CLANG_BIN)
2778
2779 DEFINE CLANGPDB_IA32_TARGET = -target i686-unknown-windows-gnu
2780 DEFINE CLANGPDB_X64_TARGET = -target x86_64-unknown-windows-gnu
2781
2782 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
2783 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
2784
2785 ###########################
2786 # CLANGPDB IA32 definitions
2787 ###########################
2788 *_CLANGPDB_IA32_CC_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2789 *_CLANGPDB_IA32_SLINK_PATH = DEF(CLANGPDB_IA32_PREFIX)llvm-lib
2790 *_CLANGPDB_IA32_DLINK_PATH = DEF(CLANGPDB_IA32_PREFIX)lld-link
2791 *_CLANGPDB_IA32_ASLDLINK_PATH = DEF(CLANGPDB_IA32_PREFIX)lld-link
2792 *_CLANGPDB_IA32_ASM_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2793 *_CLANGPDB_IA32_PP_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2794 *_CLANGPDB_IA32_VFRPP_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2795 *_CLANGPDB_IA32_ASLCC_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2796 *_CLANGPDB_IA32_ASLPP_PATH = DEF(CLANGPDB_IA32_PREFIX)clang
2797 *_CLANGPDB_IA32_RC_PATH = DEF(CLANGPDB_IA32_PREFIX)llvm-rc
2798
2799 *_CLANGPDB_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANGPDB_IA32_TARGET)
2800 *_CLANGPDB_IA32_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -m32 -march=i386 DEF(CLANGPDB_IA32_TARGET)
2801 *_CLANGPDB_IA32_OBJCOPY_FLAGS =
2802 *_CLANGPDB_IA32_NASM_FLAGS = -f win32
2803 *_CLANGPDB_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGPDB_IA32_TARGET)
2804 *_CLANGPDB_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGPDB_IA32_TARGET)
2805 *_CLANGPDB_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB_IA32_TARGET)
2806
2807 DEBUG_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGPDB_IA32_TARGET) -gcodeview
2808 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
2809 DEBUG_CLANGPDB_IA32_DLINK2_FLAGS =
2810
2811 RELEASE_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGPDB_IA32_TARGET)
2812 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
2813 RELEASE_CLANGPDB_IA32_DLINK2_FLAGS =
2814
2815 NOOPT_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANGPDB_IA32_TARGET) -gcodeview
2816 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
2817 NOOPT_CLANGPDB_IA32_DLINK2_FLAGS =
2818
2819 ##########################
2820 # CLANGWIN X64 definitions
2821 ##########################
2822 *_CLANGPDB_X64_CC_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2823 *_CLANGPDB_X64_SLINK_PATH = DEF(CLANGPDB_X64_PREFIX)llvm-lib
2824 *_CLANGPDB_X64_DLINK_PATH = DEF(CLANGPDB_X64_PREFIX)lld-link
2825 *_CLANGPDB_X64_ASLDLINK_PATH = DEF(CLANGPDB_X64_PREFIX)lld-link
2826 *_CLANGPDB_X64_ASM_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2827 *_CLANGPDB_X64_PP_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2828 *_CLANGPDB_X64_VFRPP_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2829 *_CLANGPDB_X64_ASLCC_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2830 *_CLANGPDB_X64_ASLPP_PATH = DEF(CLANGPDB_X64_PREFIX)clang
2831 *_CLANGPDB_X64_RC_PATH = DEF(CLANGPDB_IA32_PREFIX)llvm-rc
2832
2833 *_CLANGPDB_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANGPDB_X64_TARGET)
2834 *_CLANGPDB_X64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -m64 DEF(CLANGPDB_X64_TARGET)
2835 *_CLANGPDB_X64_OBJCOPY_FLAGS =
2836 *_CLANGPDB_X64_NASM_FLAGS = -f win64
2837 *_CLANGPDB_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGPDB_X64_TARGET)
2838 *_CLANGPDB_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGPDB_X64_TARGET)
2839 *_CLANGPDB_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB_X64_TARGET)
2840
2841 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
2842 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
2843 DEBUG_CLANGPDB_X64_DLINK2_FLAGS =
2844 DEBUG_CLANGPDB_X64_GENFW_FLAGS = --keepexceptiontable
2845
2846 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
2847 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
2848 RELEASE_CLANGPDB_X64_DLINK2_FLAGS =
2849 RELEASE_CLANGPDB_X64_GENFW_FLAGS =
2850
2851 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
2852 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
2853 NOOPT_CLANGPDB_X64_DLINK2_FLAGS =
2854 NOOPT_CLANGPDB_X64_GENFW_FLAGS = --keepexceptiontable
2855
2856 ####################################################################################
2857 #
2858 # CLANGDWARF - This configuration is used to compile under Windows/Linux/Mac to produce
2859 # ELF binaries using LLVM/Clang/LLD with Link Time Optimization enabled
2860 #
2861 ####################################################################################
2862 *_CLANGDWARF_*_*_FAMILY = GCC
2863 *_CLANGDWARF_*_*_BUILDRULEFAMILY = CLANGGCC
2864 *_CLANGDWARF_*_MAKE_PATH = ENV(CLANG_HOST_BIN)make
2865 *_CLANGDWARF_*_*_DLL = ENV(CLANGDWARF_DLL)
2866 *_CLANGDWARF_*_ASL_PATH = DEF(UNIX_IASL_BIN)
2867
2868 *_CLANGDWARF_*_APP_FLAGS =
2869 *_CLANGDWARF_*_ASL_FLAGS = DEF(IASL_FLAGS)
2870 *_CLANGDWARF_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2871
2872 DEFINE CLANGDWARF_IA32_PREFIX = ENV(CLANG_BIN)
2873 DEFINE CLANGDWARF_X64_PREFIX = ENV(CLANG_BIN)
2874
2875 # LLVM/CLANG doesn't support -n link option. So, it can't share the same IA32_X64_DLINK_COMMON flag.
2876 # LLVM/CLANG doesn't support common page size. So, it can't share the same GccBase.lds script.
2877 DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-q,--gc-sections -z max-page-size=0x40
2878 DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/ClangBase.lds
2879 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
2880 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
2881 DEFINE CLANGDWARF_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
2882 DEFINE CLANGDWARF_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
2883
2884 ###########################
2885 # CLANGDWARF IA32 definitions
2886 ###########################
2887 *_CLANGDWARF_IA32_CC_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2888 *_CLANGDWARF_IA32_SLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)llvm-ar
2889 *_CLANGDWARF_IA32_DLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2890 *_CLANGDWARF_IA32_ASLDLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2891 *_CLANGDWARF_IA32_ASM_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2892 *_CLANGDWARF_IA32_PP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2893 *_CLANGDWARF_IA32_VFRPP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2894 *_CLANGDWARF_IA32_ASLCC_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2895 *_CLANGDWARF_IA32_ASLPP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
2896 *_CLANGDWARF_IA32_RC_PATH = DEF(CLANGDWARF_IA32_PREFIX)llvm-rc
2897
2898 *_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)
2899 *_CLANGDWARF_IA32_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld
2900 *_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)
2901 *_CLANGDWARF_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
2902 *_CLANGDWARF_IA32_OBJCOPY_FLAGS =
2903 *_CLANGDWARF_IA32_NASM_FLAGS = -f elf32
2904 *_CLANGDWARF_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET)
2905 *_CLANGDWARF_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)
2906 *_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)
2907
2908 DEBUG_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g
2909 DEBUG_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
2910 DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld
2911
2912 RELEASE_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET)
2913 RELEASE_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
2914 RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld
2915
2916 NOOPT_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g
2917 NOOPT_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
2918 NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld
2919
2920 ##########################
2921 # CLANGDWARF X64 definitions
2922 ##########################
2923 *_CLANGDWARF_X64_CC_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2924 *_CLANGDWARF_X64_SLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-ar
2925 *_CLANGDWARF_X64_DLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2926 *_CLANGDWARF_X64_ASLDLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2927 *_CLANGDWARF_X64_ASM_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2928 *_CLANGDWARF_X64_PP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2929 *_CLANGDWARF_X64_VFRPP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2930 *_CLANGDWARF_X64_ASLCC_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2931 *_CLANGDWARF_X64_ASLPP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
2932 *_CLANGDWARF_X64_RC_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-rc
2933
2934 *_CLANGDWARF_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)
2935 *_CLANGDWARF_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -fuse-ld=lld
2936 *_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)
2937 *_CLANGDWARF_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
2938 *_CLANGDWARF_X64_OBJCOPY_FLAGS =
2939 *_CLANGDWARF_X64_NASM_FLAGS = -f elf64
2940 *_CLANGDWARF_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET)
2941 *_CLANGDWARF_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)
2942 *_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)
2943
2944 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
2945 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
2946 DEBUG_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
2947
2948 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)
2949 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
2950 RELEASE_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
2951
2952 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
2953 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
2954 NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O0 -fuse-ld=lld
2955
2956 #
2957 #
2958 # XCODE5 support
2959 #
2960
2961 *_XCODE5_*_*_FAMILY = GCC
2962 *_XCODE5_*_*_BUILDRULEFAMILY = XCODE
2963
2964 #
2965 # use xcode-select to change Xcode version of command line tools
2966 #
2967 *_XCODE5_*_MAKE_PATH = make
2968 *_XCODE5_*_CC_PATH = clang
2969 *_XCODE5_*_SLINK_PATH = libtool
2970 *_XCODE5_*_DLINK_PATH = ld
2971 *_XCODE5_*_ASM_PATH = as
2972 *_XCODE5_*_PP_PATH = clang
2973 *_XCODE5_*_VFRPP_PATH = clang
2974 *_XCODE5_*_ASL_PATH = iasl
2975 *_XCODE5_*_ASLCC_PATH = clang
2976 *_XCODE5_*_ASLPP_PATH = clang
2977 *_XCODE5_*_ASLDLINK_PATH = ld
2978 *_XCODE5_*_DSYMUTIL_PATH = /usr/bin/dsymutil
2979 *_XCODE5_*_MTOC_PATH = /usr/local/bin/mtoc
2980 *_XCODE5_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
2981
2982 ##################
2983 # ASL definitions
2984 ##################
2985 *_XCODE5_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h
2986 *_XCODE5_*_ASLDLINK_FLAGS = -e _ReferenceAcpiTable -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
2987 *_XCODE5_*_ASLPP_FLAGS = -x c -E -include AutoGen.h
2988 *_XCODE5_*_ASL_FLAGS =
2989 *_XCODE5_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
2990
2991 ##################
2992 # MTOC definitions
2993 ##################
2994
2995 DEBUG_XCODE5_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll
2996 NOOPT_XCODE5_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll
2997 RELEASE_XCODE5_*_MTOC_FLAGS = -align 0x20
2998
2999 ####################
3000 # IA-32 definitions
3001 ####################
3002 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
3003 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
3004 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
3005
3006 *_XCODE5_IA32_SLINK_FLAGS = -static -o
3007 DEBUG_XCODE5_IA32_ASM_FLAGS = -arch i386 -g
3008 NOOPT_XCODE5_IA32_ASM_FLAGS = -arch i386 -g
3009 RELEASE_XCODE5_IA32_ASM_FLAGS = -arch i386
3010 *_XCODE5_IA32_NASM_FLAGS = -f macho32
3011
3012
3013 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)
3014 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)
3015 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)
3016
3017 ##################
3018 # X64 definitions
3019 ##################
3020 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
3021 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
3022 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
3023
3024 *_XCODE5_X64_SLINK_FLAGS = -static -o
3025 DEBUG_XCODE5_X64_ASM_FLAGS = -arch x86_64 -g
3026 NOOPT_XCODE5_X64_ASM_FLAGS = -arch x86_64 -g
3027 RELEASE_XCODE5_X64_ASM_FLAGS = -arch x86_64
3028 *_XCODE5_X64_NASM_FLAGS = -f macho64
3029 *_XCODE5_*_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h
3030 *_XCODE5_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include $(MODULE_NAME)StrDefs.h
3031
3032 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)
3033 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)
3034 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)
3035
3036 #################
3037 # ASM 16 linker definitions
3038 #################
3039 *_*_*_ASMLINK_PATH = DEF(WINDDK_BIN16)\link16.exe
3040 *_*_*_ASMLINK_FLAGS = /nologo /tiny
3041
3042 ##################
3043 # VfrCompiler definitions
3044 ##################
3045 *_*_*_VFR_PATH = VfrCompile
3046 *_*_*_VFR_FLAGS = -l -n
3047
3048 ##################
3049 # OptionRom tool definitions
3050 ##################
3051 *_*_*_OPTROM_PATH = EfiRom
3052 *_*_*_OPTROM_FLAGS = -e
3053
3054 ##################
3055 # GenFw tool definitions
3056 ##################
3057 *_*_*_GENFW_PATH = GenFw
3058 *_*_*_GENFW_FLAGS =
3059
3060 ##################
3061 # Asl Compiler definitions
3062 ##################
3063 *_*_*_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable
3064 *_*_*_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE
3065 *_*_*_ASLPP_FLAGS = /nologo /EP /C
3066 *_*_*_ASL_FLAGS =
3067
3068 ##################
3069 # GenCrc32 tool definitions
3070 ##################
3071 *_*_*_CRC32_PATH = GenCrc32
3072 *_*_*_CRC32_GUID = FC1BCDB0-7D31-49AA-936A-A4600D9DD083
3073
3074 ##################
3075 # Rsa2048Sha256Sign tool definitions
3076 #
3077 # Notes: This tool definition uses a test signing key for development purposes only.
3078 # The tool Rsa2048Sha256GenerateKeys can be used to generate a new private/public key
3079 # and the gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value.
3080 # A custom tool/script can be implemented using the new private/public key with
3081 # the Rsa2048Sha256Sign tool and this tool definition can be updated to use a
3082 # custom tool/script.
3083 #
3084 # Generate new private/public key and gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value
3085 #
3086 # Rsa2048Sha256GenerateKeys.py -o MyKey.pem --public-key-hash-c MyKey.pcd
3087 #
3088 # Custom script example (MyRsa2048Sha256Sign.cmd):
3089 #
3090 # Rsa2048Sha256Sign --private-key MyKey.pem %1 %2 %3 %4 %5 %6 %7 %8 %9
3091 #
3092 # WARNING: Vendors that uses private keys are responsible for proper management and protection
3093 # of private keys. Vendors may choose to use infrastructure such as signing servers
3094 # or signing portals to support the management and protection of private keys.
3095 #
3096 ##################
3097 *_*_*_RSA2048SHA256SIGN_PATH = Rsa2048Sha256Sign
3098 *_*_*_RSA2048SHA256SIGN_GUID = A7717414-C616-4977-9420-844712A735BF
3099
3100 ##################
3101 # BrotliCompress tool definitions
3102 ##################
3103 *_*_*_BROTLI_PATH = BrotliCompress
3104 *_*_*_BROTLI_GUID = 3D532050-5CDA-4FD0-879E-0F7F630D5AFB
3105
3106 ##################
3107 # LzmaCompress tool definitions
3108 ##################
3109 *_*_*_LZMA_PATH = LzmaCompress
3110 *_*_*_LZMA_GUID = EE4E5898-3914-4259-9D6E-DC7BD79403CF
3111
3112 ##################
3113 # LzmaF86Compress tool definitions with converter for x86 code.
3114 # It can improve the compression ratio if the input file is IA32 or X64 PE image.
3115 ##################
3116 *_*_*_LZMAF86_PATH = LzmaF86Compress
3117 *_*_*_LZMAF86_GUID = D42AE6BD-1352-4bfb-909A-CA72A6EAE889
3118
3119 ##################
3120 # TianoCompress tool definitions
3121 ##################
3122 *_*_*_TIANO_PATH = TianoCompress
3123 *_*_*_TIANO_GUID = A31280AD-481E-41B6-95E8-127F4C984779
3124
3125 ##################
3126 # BPDG tool definitions
3127 ##################
3128 *_*_*_VPDTOOL_PATH = BPDG
3129 *_*_*_VPDTOOL_GUID = 8C3D856A-9BE6-468E-850A-24F7A8D38E08
3130
3131 ##################
3132 # Pkcs7Sign tool definitions
3133 ##################
3134 *_*_*_PKCS7SIGN_PATH = Pkcs7Sign
3135 *_*_*_PKCS7SIGN_GUID = 4AAFD29D-68DF-49EE-8AA9-347D375665A7
3136
3137 ##################
3138 # NASM tool definitions
3139 ##################
3140 *_*_*_NASM_PATH = ENV(NASM_PREFIX)nasm
3141 # NASMB uses NASM produce a .bin from a .nasmb NASM source file
3142 *_*_*_NASMB_FLAGS = -f bin
3143
3144 #################
3145 # Build rule order
3146 #################
3147 *_*_*_*_BUILDRULEORDER = nasm asm Asm ASM S s nasmb asm16