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