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