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