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