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