VirtualBox

Ignore:
Timestamp:
Sep 27, 2023 1:34:02 PM (16 months ago)
Author:
vboxsync
Message:

EFI/FirmwareNew: Make edk2-stable202308 build on all supported platforms (using gcc at least, msvc not tested yet), bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/BaseTools/Conf/tools_def.template

    r99404 r101291  
    1616# 2.00 - Initial version with changes for CI
    1717#      - Change RC path to use plugin
    18 #
    19 #!VERSION=2.00
     18# 3.00 - Update toolchains
     19#      - Add support for ARM and AARCH64 to CLANGDWARF
     20#      - Remove VS2008, VS2010, VS2012, VS2013, CLANG35, CLANG38, EBC
     21#      - Add GCC and GCCNOLTO
     22#      - Deprecate GCC48, GCC49 and GCC5.
     23#
     24#!VERSION=3.00
    2025
    2126IDENTIFIER = Default TOOL_CHAIN_CONF
    2227
    2328# common path macros
    24 DEFINE VS2008_BIN      = ENV(VS2008_PREFIX)Vc\bin
    25 DEFINE VS2008_DLL      = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008_BIN)
    26 DEFINE VS2008_BINX64   = DEF(VS2008_BIN)\x86_amd64
    27 DEFINE VS2008_BIN64    = DEF(VS2008_BIN)\x86_ia64
    28 
    29 DEFINE VS2008x86_BIN    = ENV(VS2008_PREFIX)Vc\bin
    30 DEFINE VS2008x86_DLL    = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008x86_BIN)
    31 DEFINE VS2008x86_BINX64 = DEF(VS2008x86_BIN)\x86_amd64
    32 DEFINE VS2008x86_BIN64  = DEF(VS2008x86_BIN)\x86_ia64
    33 
    34 DEFINE VS2010_BIN      = ENV(VS2010_PREFIX)Vc\bin
    35 DEFINE VS2010_DLL      = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010_BIN)
    36 DEFINE VS2010_BINX64   = DEF(VS2010_BIN)\x86_amd64
    37 DEFINE VS2010_BIN64    = DEF(VS2010_BIN)\x86_ia64
    38 
    39 DEFINE VS2010x86_BIN    = ENV(VS2010_PREFIX)Vc\bin
    40 DEFINE VS2010x86_DLL    = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010x86_BIN)
    41 DEFINE VS2010x86_BINX64 = DEF(VS2010x86_BIN)\x86_amd64
    42 DEFINE VS2010x86_BIN64  = DEF(VS2010x86_BIN)\x86_ia64
    43 
    44 DEFINE VS2012_BIN      = ENV(VS2012_PREFIX)Vc\bin
    45 DEFINE VS2012_DLL      = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012_BIN)
    46 DEFINE VS2012_BINX64   = DEF(VS2012_BIN)\x86_amd64
    47 
    48 DEFINE VS2012x86_BIN    = ENV(VS2012_PREFIX)Vc\bin
    49 DEFINE VS2012x86_DLL    = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012x86_BIN)
    50 DEFINE VS2012x86_BINX64 = DEF(VS2012x86_BIN)\x86_amd64
    51 
    52 DEFINE VS2013_BIN      = ENV(VS2013_PREFIX)Vc\bin
    53 DEFINE VS2013_DLL      = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013_BIN)
    54 DEFINE VS2013_BINX64   = DEF(VS2013_BIN)\x86_amd64
    55 
    56 DEFINE VS2013x86_BIN    = ENV(VS2013_PREFIX)Vc\bin
    57 DEFINE VS2013x86_DLL    = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013x86_BIN)
    58 DEFINE VS2013x86_BINX64 = DEF(VS2013x86_BIN)\x86_amd64
    59 
    6029DEFINE VS2015_BIN      = ENV(VS2015_PREFIX)Vc\bin
    6130DEFINE VS2015_DLL      = ENV(VS2015_PREFIX)Common7\IDE;DEF(VS2015_BIN)
     
    9059DEFINE WINSDKx86_BIN        = ENV(WINSDKx86_PREFIX)
    9160
    92 # Microsoft Visual Studio 2010
    93 DEFINE WINSDK7_BIN          = ENV(WINSDK7_PREFIX)
    94 DEFINE WINSDK7x86_BIN       = ENV(WINSDK7x86_PREFIX)
    95 
    96 # Microsoft Visual Studio 2012 Update 1 (required for rc.exe that was not included in the initial release)
    97 DEFINE WINSDK71_BIN         = ENV(WINSDK71_PREFIX)
    98 DEFINE WINSDK71x86_BIN      = ENV(WINSDK71x86_PREFIX)
    99 
    100 # Microsoft Visual Studio 2013 Professional Edition
    101 DEFINE WINSDK8_BIN          = ENV(WINSDK8_PREFIX)x86\
    102 DEFINE WINSDK8x86_BIN       = ENV(WINSDK8x86_PREFIX)x64
    103 
    10461# Microsoft Visual Studio 2015 Professional Edition
    10562DEFINE WINSDK81_BIN         = ENV(WINSDK81_PREFIX)x86\
     
    11370# uses Microsoft's nmake.exe.
    11471
    115 # Some MS_VS_BIN options: DEF(VS2008_BIN), DEF(VS2008x86_BIN)
    116 DEFINE MS_VS_BIN   = DEF(VS2008_BIN)
    117 # Some MS_VS_DLL options: DEF(VS2008_DLL), DEF(VS2008x86_DLL)
    118 DEFINE MS_VS_DLL   = DEF(VS2008_DLL)
    119 
    12072DEFINE WINDDK_BIN16     = ENV(WINDDK3790_PREFIX)bin16
    12173DEFINE WINDDK_BINX64    = ENV(WINDDK3790_PREFIX)win64\x86\amd64
    122 
    123 DEFINE EBC_BIN          = C:\Program Files\Intel\EBC\Bin
    124 DEFINE EBC_BINx86       = C:\Program Files (x86)\Intel\EBC\Bin
    125 
    12674
    12775DEFINE CYGWIN_BIN              = c:/cygwin/bin
     
    13583DEFINE GCC49_X64_PREFIX        = ENV(GCC49_BIN)
    13684
     85DEFINE GCCNOLTO_IA32_PREFIX    = ENV(GCCNOLTO_BIN)
     86DEFINE GCCNOLTO_X64_PREFIX     = ENV(GCCNOLTO_BIN)
     87
    13788DEFINE GCC5_IA32_PREFIX        = ENV(GCC5_BIN)
    13889DEFINE GCC5_X64_PREFIX         = ENV(GCC5_BIN)
     90DEFINE GCC_IA32_PREFIX         = ENV(GCC_BIN)
     91DEFINE GCC_X64_PREFIX          = ENV(GCC_BIN)
    13992DEFINE GCC_HOST_PREFIX         = ENV(GCC_HOST_BIN)
    14093
     
    155108DEFINE MSFT_ASLCC_FLAGS        = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable
    156109DEFINE MSFT_ASLDLINK_FLAGS     = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE
    157 
    158 DEFINE IPHONE_TOOLS            = /Developer/Platforms/iPhoneOS.platform/Developer
    159 
    160 DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin
    161110
    162111DEFINE DTCPP_BIN               = ENV(DTCPP_PREFIX)cpp
     
    189138# Supported Tool Chains
    190139# =====================
    191 #   VS2008      -win32-  Requires:
    192 #                             Microsoft Visual Studio 2008 Team Suite Edition
    193 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
     140#   VS2015      -win32-  Requires:
     141#                             Microsoft Visual Studio 2015 Professional Edition, Update 3
    194142#                        Optional:
    195 #                             Required to build EBC drivers:
    196 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
    197 #                             Required to build platforms or ACPI tables:
    198 #                               Intel(r) ACPI Compiler (iasl.exe) from
    199 #                               https://acpica.org/downloads
    200 #   VS2010      -win32-  Requires:
    201 #                             Microsoft Visual Studio 2010 Premium Edition
    202 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    203 #                        Optional:
    204 #                             Required to build EBC drivers:
    205 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
    206 #                             Required to build platforms or ACPI tables:
    207 #                               Intel(r) ACPI Compiler (iasl.exe) from
    208 #                               https://acpica.org/downloads
    209 #   VS2012      -win32-  Requires:
    210 #                             Microsoft Visual Studio 2012 Professional Edition
    211 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    212 #                        Optional:
    213 #                             Required to build EBC drivers:
    214 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
    215 #                             Required to build platforms or ACPI tables:
    216 #                               Intel(r) ACPI Compiler (iasl.exe) from
    217 #                               https://acpica.org/downloads
    218 #   VS2013      -win32-  Requires:
    219 #                             Microsoft Visual Studio 2013 Professional Edition
    220 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    221 #                        Optional:
    222 #                             Required to build EBC drivers:
    223 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
    224 #                             Required to build platforms or ACPI tables:
    225 #                               Intel(r) ACPI Compiler (iasl.exe) from
    226 #                               https://acpica.org/downloads
    227 #   VS2015      -win32-  Requires:
    228 #                             Microsoft Visual Studio 2015 Professional Edition
    229 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    230 #                        Optional:
    231 #                             Required to build EBC drivers:
    232 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
    233143#                             Required to build platforms or ACPI tables:
    234144#                               Intel(r) ACPI Compiler (iasl.exe) from
     
    237147#                             Microsoft Visual Studio 2017 version 15.2 (15.4 for ARM64) or later
    238148#                        Optional:
    239 #                             Required to build EBC drivers:
    240 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
    241149#                             Required to build platforms or ACPI tables:
    242150#                               Intel(r) ACPI Compiler (iasl.exe) from
     
    248156#                             Microsoft Visual Studio 2019 version 16.2 or later
    249157#                        Optional:
    250 #                             Required to build EBC drivers:
    251 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
    252158#                             Required to build platforms or ACPI tables:
    253159#                               Intel(r) ACPI Compiler (iasl.exe) from
     
    256162#                             Building of XIP firmware images for ARM/ARM64 is not currently supported (only applications).
    257163#                             /FILEALIGN:4096 and other changes are needed for ARM firmware builds.
     164#   GCCNOLTO    -Linux,Windows-  Requires:
     165#                             GCC 4.9 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
     166#                        Optional:
     167#                             Required to build platforms or ACPI tables:
     168#                               Intel(r) ACPI Compiler from
     169#                               https://acpica.org/downloads
     170#   GCC         -Linux,Windows-  Requires:
     171#                             GCC 5 with LTO support, targeting x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu or loongarch64-linux-gnu
     172#                        Optional:
     173#                             Required to build platforms or ACPI tables:
     174#                               Intel(r) ACPI Compiler from
     175#                               https://acpica.org/downloads
     176#
     177#   CLANGPDB -Linux, Windows, Mac-  Requires:
     178#                             Clang 9 or above from http://releases.llvm.org/
     179#                        Optional:
     180#                             Required to compile nasm source:
     181#                               nasm compiler from
     182#                               NASM -- http://www.nasm.us/
     183#   CLANGDWARF -Linux, Windows, Mac-  Requires:
     184#                             Clang 9 or above from http://releases.llvm.org/
     185#                        Optional:
     186#                             Required to compile nasm source:
     187#                               nasm compiler from
     188#                               NASM -- http://www.nasm.us/
     189#   VS2015x86   -win64-  Requires:
     190#                             Microsoft Visual Studio 2015 (x86) Update 3 or above
     191#                        Optional:
     192#                             Required to build platforms or ACPI tables:
     193#                               Intel(r) ACPI Compiler (iasl.exe) from
     194#                               https://acpica.org/downloads
     195#
     196# Deprecated Tool Chains
     197# ======================
    258198#   GCC48       -Linux,Windows-  Requires:
    259199#                             GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
     
    275215#                               https://acpica.org/downloads
    276216#
    277 #   CLANG35     -Linux,Windows-  Requires:
    278 #                             Clang v3.5 or later, and GNU binutils targeting aarch64-linux-gnu or arm-linux-gnueabi
    279 #                        Optional:
    280 #                             Required to build platforms or ACPI tables:
    281 #                               Intel(r) ACPI Compiler from
    282 #                               https://acpica.org/downloads
    283 #   CLANG38  -Linux-  Requires:
    284 #                             Clang v3.8, LLVMgold plugin and GNU binutils 2.26 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi
    285 #                             Clang v3.9 or later, LLVMgold plugin and GNU binutils 2.28 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi
    286 #                        Optional:
    287 #                             Required to build platforms or ACPI tables:
    288 #                               Intel(r) ACPI Compiler from
    289 #                               https://acpica.org/downloads
    290 #   CLANGPDB -Linux, Windows, Mac-  Requires:
    291 #                             Clang 9 or above from http://releases.llvm.org/
    292 #                        Optional:
    293 #                             Required to compile nasm source:
    294 #                               nasm compiler from
    295 #                               NASM -- http://www.nasm.us/
    296 #   CLANGDWARF -Linux, Windows, Mac-  Requires:
    297 #                             Clang 9 or above from http://releases.llvm.org/
    298 #                        Optional:
    299 #                             Required to compile nasm source:
    300 #                               nasm compiler from
    301 #                               NASM -- http://www.nasm.us/
    302 #   VS2008x86   -win64-  Requires:
    303 #                             Microsoft Visual Studio 2008 (x86)
    304 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    305 #                        Optional:
    306 #                             Required to build platforms or ACPI tables:
    307 #                               Intel(r) ACPI Compiler (iasl.exe) from
    308 #                               https://acpica.org/downloads
    309 #   VS2010x86   -win64-  Requires:
    310 #                             Microsoft Visual Studio 2010 (x86) Premium Edition
    311 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    312 #                        Optional:
    313 #                             Required to build platforms or ACPI tables:
    314 #                               Intel(r) ACPI Compiler (iasl.exe) from
    315 #                               https://acpica.org/downloads
    316 #   VS2012x86   -win64-  Requires:
    317 #                             Microsoft Visual Studio 2012 (x86) Professional Edition
    318 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    319 #                        Optional:
    320 #                             Required to build platforms or ACPI tables:
    321 #                               Intel(r) ACPI Compiler (iasl.exe) from
    322 #                               https://acpica.org/downloads
    323 #   VS2013x86   -win64-  Requires:
    324 #                             Microsoft Visual Studio 2013 (x86) Professional Edition
    325 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    326 #                        Optional:
    327 #                             Required to build platforms or ACPI tables:
    328 #                               Intel(r) ACPI Compiler (iasl.exe) from
    329 #                               https://acpica.org/downloads
    330 #   VS2015x86   -win64-  Requires:
    331 #                             Microsoft Visual Studio 2015 (x86) Update 2 or above
    332 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
    333 #                        Optional:
    334 #                             Required to build platforms or ACPI tables:
    335 #                               Intel(r) ACPI Compiler (iasl.exe) from
    336 #                               https://acpica.org/downloads
    337 # * Commented out - All versions of VS2005 use the same standard install directory
    338 #
    339217####################################################################################
    340218####################################################################################
     
    357235####################################################################################
    358236#
    359 # Intel EFI Byte Code Compiler (Template)
    360 #
    361 ####################################################################################
    362 # *_*_EBC_*_FAMILY                   = INTEL
    363 #
    364 # *_*_EBC_PP_PATH                    = C:\Program Files\Intel\EBC\Bin\iec.exe
    365 # *_*_EBC_CC_PATH                    = C:\Program Files\Intel\EBC\Bin\iec.exe
    366 # *_*_EBC_SLINK_PATH                 = C:\Program Files\Intel\EBC\Bin\link.exe
    367 #
    368 # *_*_EBC_SLINK_FLAGS                = /lib /NOLOGO /MACHINE:EBC
    369 # *_*_EBC_PP_FLAGS                   = /nologo /E /TC /FIAutoGen.h
    370 # *_*_EBC_CC_FLAGS                   = /nologo /FAcs /c /W3 /WX /FIAutoGen.h
    371 # *_*_EBC_DLINK_FLAGS                = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /MACHINE:EBC /OPT:REF /NODEFAULTLIB /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /ALIGN:32 /DRIVER
    372 #
    373 ####################################################################################
    374 #
    375237# Intel ACPI Source Language Compiler (Template)
    376238#
     
    390252#
    391253####################################################################################
    392 
    393 ####################################################################################
    394 #
    395 # Microsoft Visual Studio 2008
    396 #
    397 #   VS2008  - Microsoft Visual Studio 2005 All Edition, including Standard, Professional, Express, TeamSuite
    398 #   ASL     - Intel ACPI Source Language Compiler
    399 ####################################################################################
    400 #   VS2008           - Microsoft Visual Studio 2008 ALL Edition, including Standard, Professional, Express, TeamSuite
    401 *_VS2008_*_*_FAMILY               = MSFT
    402 
    403 *_VS2008_*_MAKE_PATH              = DEF(VS2008_BIN)\nmake.exe
    404 *_VS2008_*_MAKE_FLAGS             = /nologo
    405 *_VS2008_*_RC_PATH                = DEF(WINSDK_BIN)\rc.exe
    406 
    407 *_VS2008_*_SLINK_FLAGS            = /NOLOGO /LTCG
    408 *_VS2008_*_APP_FLAGS              = /nologo /E /TC
    409 *_VS2008_*_PP_FLAGS               = /nologo /E /TC /FIAutoGen.h
    410 *_VS2008_*_VFRPP_FLAGS            = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    411 *_VS2008_*_DEPS_FLAGS            = DEF(MSFT_DEPS_FLAGS)
    412 *_VS2008_*_ASM16_PATH             = DEF(VS2008_BIN)\ml.exe
    413 
    414 ##################
    415 # ASL definitions
    416 ##################
    417 *_VS2008_*_ASL_PATH               = DEF(DEFAULT_WIN_ASL_BIN)
    418 *_VS2008_*_ASL_FLAGS              = DEF(DEFAULT_WIN_ASL_FLAGS)
    419 *_VS2008_*_ASL_OUTFLAGS           = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
    420 *_VS2008_*_ASLCC_FLAGS            = DEF(MSFT_ASLCC_FLAGS)
    421 *_VS2008_*_ASLPP_FLAGS            = DEF(MSFT_ASLPP_FLAGS)
    422 *_VS2008_*_ASLDLINK_FLAGS         = DEF(MSFT_ASLDLINK_FLAGS)
    423 
    424 ##################
    425 # IA32 definitions
    426 ##################
    427 *_VS2008_IA32_*_DLL               = DEF(VS2008_DLL)
    428 
    429 *_VS2008_IA32_CC_PATH             = DEF(VS2008_BIN)\cl.exe
    430 *_VS2008_IA32_VFRPP_PATH          = DEF(VS2008_BIN)\cl.exe
    431 *_VS2008_IA32_SLINK_PATH          = DEF(VS2008_BIN)\lib.exe
    432 *_VS2008_IA32_DLINK_PATH          = DEF(VS2008_BIN)\link.exe
    433 *_VS2008_IA32_APP_PATH            = DEF(VS2008_BIN)\cl.exe
    434 *_VS2008_IA32_PP_PATH             = DEF(VS2008_BIN)\cl.exe
    435 *_VS2008_IA32_ASM_PATH            = DEF(VS2008_BIN)\ml.exe
    436 *_VS2008_IA32_ASLCC_PATH          = DEF(VS2008_BIN)\cl.exe
    437 *_VS2008_IA32_ASLPP_PATH          = DEF(VS2008_BIN)\cl.exe
    438 *_VS2008_IA32_ASLDLINK_PATH       = DEF(VS2008_BIN)\link.exe
    439 
    440   DEBUG_VS2008_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
    441 RELEASE_VS2008_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
    442 NOOPT_VS2008_IA32_CC_FLAGS        = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
    443 
    444   DEBUG_VS2008_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    445 RELEASE_VS2008_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
    446 NOOPT_VS2008_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    447 
    448   DEBUG_VS2008_IA32_NASM_FLAGS    = -Ox -f win32 -g
    449 RELEASE_VS2008_IA32_NASM_FLAGS    = -Ox -f win32
    450 NOOPT_VS2008_IA32_NASM_FLAGS      = -O0 -f win32 -g
    451 
    452   DEBUG_VS2008_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    453 RELEASE_VS2008_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    454 NOOPT_VS2008_IA32_DLINK_FLAGS     = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    455 
    456 ##################
    457 # X64 definitions
    458 ##################
    459 *_VS2008_X64_*_DLL         = DEF(VS2008_DLL)
    460 
    461 *_VS2008_X64_CC_PATH       = DEF(VS2008_BINX64)\cl.exe
    462 *_VS2008_X64_PP_PATH       = DEF(VS2008_BINX64)\cl.exe
    463 *_VS2008_X64_APP_PATH      = DEF(VS2008_BINX64)\cl.exe
    464 *_VS2008_X64_VFRPP_PATH    = DEF(VS2008_BINX64)\cl.exe
    465 *_VS2008_X64_ASM_PATH      = DEF(VS2008_BINX64)\ml64.exe
    466 *_VS2008_X64_SLINK_PATH    = DEF(VS2008_BINX64)\lib.exe
    467 *_VS2008_X64_DLINK_PATH    = DEF(VS2008_BINX64)\link.exe
    468 *_VS2008_X64_ASLCC_PATH    = DEF(VS2008_BINX64)\cl.exe
    469 *_VS2008_X64_ASLPP_PATH    = DEF(VS2008_BINX64)\cl.exe
    470 *_VS2008_X64_ASLDLINK_PATH = DEF(VS2008_BINX64)\link.exe
    471 
    472   DEBUG_VS2008_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
    473 RELEASE_VS2008_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
    474 NOOPT_VS2008_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
    475 
    476   DEBUG_VS2008_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    477 RELEASE_VS2008_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
    478 NOOPT_VS2008_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    479 
    480   DEBUG_VS2008_X64_NASM_FLAGS   = -Ox -f win64 -g
    481 RELEASE_VS2008_X64_NASM_FLAGS   = -Ox -f win64
    482 NOOPT_VS2008_X64_NASM_FLAGS     = -O0 -f win64 -g
    483 
    484   DEBUG_VS2008_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    485 RELEASE_VS2008_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    486 NOOPT_VS2008_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    487 
    488 ##################
    489 # EBC definitions
    490 ##################
    491 *_VS2008_EBC_*_FAMILY            = INTEL
    492 *_VS2008_EBC_*_DLL               = DEF(VS2008_DLL)
    493 
    494 *_VS2008_EBC_PP_PATH             = DEF(EBC_BIN)\iec.exe
    495 *_VS2008_EBC_VFRPP_PATH          = DEF(EBC_BIN)\iec.exe
    496 *_VS2008_EBC_CC_PATH             = DEF(EBC_BIN)\iec.exe
    497 *_VS2008_EBC_SLINK_PATH          = DEF(VS2008_BIN)\link.exe
    498 *_VS2008_EBC_DLINK_PATH          = DEF(VS2008_BIN)\link.exe
    499 
    500 *_VS2008_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    501 *_VS2008_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    502 *_VS2008_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    503 *_VS2008_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    504 *_VS2008_EBC_DLINK_FLAGS         = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    505 
    506 
    507 ####################################################################################
    508 #   VS2008x86       - Microsoft Visual Studio 2008 (x86) with Intel ASL
    509 #   ASL  - Intel ACPI Source Language Compiler (iasl.exe)
    510 ####################################################################################
    511 #   VS2008x86           - Microsoft Visual Studio 2008 (x86) ALL Edition with Intel ASL
    512 *_VS2008x86_*_*_FAMILY        = MSFT
    513 
    514 *_VS2008x86_*_MAKE_PATH       = DEF(VS2008x86_BIN)\nmake.exe
    515 *_VS2008x86_*_MAKE_FLAGS      = /nologo
    516 *_VS2008x86_*_RC_PATH         = DEF(WINSDK_BIN)\rc.exe
    517 
    518 *_VS2008x86_*_SLINK_FLAGS     = /NOLOGO /LTCG
    519 *_VS2008x86_*_APP_FLAGS       = /nologo /E /TC
    520 *_VS2008x86_*_PP_FLAGS        = /nologo /E /TC /FIAutoGen.h
    521 *_VS2008x86_*_VFRPP_FLAGS     = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    522 *_VS2008x86_*_DEPS_FLAGS      = DEF(MSFT_DEPS_FLAGS)
    523 *_VS2008x86_*_ASM16_PATH      = DEF(VS2008x86_BIN)\ml.exe
    524 
    525 ##################
    526 # ASL definitions
    527 ##################
    528 *_VS2008x86_*_ASL_PATH        = DEF(WIN_IASL_BIN)
    529 *_VS2008x86_*_ASL_FLAGS       = DEF(DEFAULT_WIN_ASL_FLAGS)
    530 *_VS2008x86_*_ASL_OUTFLAGS    = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
    531 *_VS2008x86_*_ASLCC_FLAGS     = DEF(MSFT_ASLCC_FLAGS)
    532 *_VS2008x86_*_ASLPP_FLAGS     = DEF(MSFT_ASLPP_FLAGS)
    533 *_VS2008x86_*_ASLDLINK_FLAGS  = DEF(MSFT_ASLDLINK_FLAGS)
    534 
    535 ##################
    536 # IA32 definitions
    537 ##################
    538 *_VS2008x86_IA32_*_DLL        = DEF(VS2008x86_DLL)
    539 
    540 *_VS2008x86_IA32_CC_PATH      = DEF(VS2008x86_BIN)\cl.exe
    541 *_VS2008x86_IA32_VFRPP_PATH   = DEF(VS2008x86_BIN)\cl.exe
    542 *_VS2008x86_IA32_ASLCC_PATH   = DEF(VS2008x86_BIN)\cl.exe
    543 *_VS2008x86_IA32_ASLPP_PATH   = DEF(VS2008x86_BIN)\cl.exe
    544 *_VS2008x86_IA32_SLINK_PATH   = DEF(VS2008x86_BIN)\lib.exe
    545 *_VS2008x86_IA32_DLINK_PATH   = DEF(VS2008x86_BIN)\link.exe
    546 *_VS2008x86_IA32_ASLDLINK_PATH= DEF(VS2008x86_BIN)\link.exe
    547 *_VS2008x86_IA32_APP_PATH     = DEF(VS2008x86_BIN)\cl.exe
    548 *_VS2008x86_IA32_PP_PATH      = DEF(VS2008x86_BIN)\cl.exe
    549 *_VS2008x86_IA32_ASM_PATH     = DEF(VS2008x86_BIN)\ml.exe
    550 
    551   DEBUG_VS2008x86_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
    552 RELEASE_VS2008x86_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
    553 NOOPT_VS2008x86_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
    554 
    555   DEBUG_VS2008x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    556 RELEASE_VS2008x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
    557 NOOPT_VS2008x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    558 
    559   DEBUG_VS2008x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
    560 RELEASE_VS2008x86_IA32_NASM_FLAGS  = -Ox -f win32
    561 NOOPT_VS2008x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
    562 
    563   DEBUG_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    564 RELEASE_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    565 NOOPT_VS2008x86_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    566 
    567 ##################
    568 # X64 definitions
    569 ##################
    570 *_VS2008x86_X64_*_DLL         = DEF(VS2008x86_DLL)
    571 
    572 *_VS2008x86_X64_CC_PATH       = DEF(VS2008x86_BINX64)\cl.exe
    573 *_VS2008x86_X64_PP_PATH       = DEF(VS2008x86_BINX64)\cl.exe
    574 *_VS2008x86_X64_APP_PATH      = DEF(VS2008x86_BINX64)\cl.exe
    575 *_VS2008x86_X64_VFRPP_PATH    = DEF(VS2008x86_BINX64)\cl.exe
    576 *_VS2008x86_X64_ASLCC_PATH    = DEF(VS2008x86_BINX64)\cl.exe
    577 *_VS2008x86_X64_ASLPP_PATH    = DEF(VS2008x86_BINX64)\cl.exe
    578 *_VS2008x86_X64_ASM_PATH      = DEF(VS2008x86_BINX64)\ml64.exe
    579 *_VS2008x86_X64_SLINK_PATH    = DEF(VS2008x86_BINX64)\lib.exe
    580 *_VS2008x86_X64_DLINK_PATH    = DEF(VS2008x86_BINX64)\link.exe
    581 *_VS2008x86_X64_ASLDLINK_PATH = DEF(VS2008x86_BINX64)\link.exe
    582 
    583   DEBUG_VS2008x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
    584 RELEASE_VS2008x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
    585 NOOPT_VS2008x86_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
    586   DEBUG_VS2008x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    587 RELEASE_VS2008x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
    588 NOOPT_VS2008x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
    589 
    590   DEBUG_VS2008x86_X64_NASM_FLAGS   = -Ox -f win64 -g
    591 RELEASE_VS2008x86_X64_NASM_FLAGS   = -Ox -f win64
    592 NOOPT_VS2008x86_X64_NASM_FLAGS     = -O0 -f win64 -g
    593 
    594   DEBUG_VS2008x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    595 RELEASE_VS2008x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    596 NOOPT_VS2008x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    597 
    598 ##################
    599 # EBC definitions
    600 ##################
    601 *_VS2008x86_EBC_*_FAMILY            = INTEL
    602 *_VS2008x86_EBC_*_DLL               = DEF(VS2008x86_DLL)
    603 
    604 *_VS2008x86_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
    605 *_VS2008x86_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
    606 *_VS2008x86_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
    607 *_VS2008x86_EBC_SLINK_PATH          = DEF(VS2008x86_BIN)\link.exe
    608 *_VS2008x86_EBC_DLINK_PATH          = DEF(VS2008x86_BIN)\link.exe
    609 
    610 *_VS2008x86_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    611 *_VS2008x86_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    612 *_VS2008x86_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    613 *_VS2008x86_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    614 *_VS2008x86_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    615 
    616 
    617 
    618 ####################################################################################
    619 #
    620 # Microsoft Visual Studio 2010
    621 #
    622 #   VS2010  - Microsoft Visual Studio 2010 Premium Edition with Intel ASL
    623 #   ASL     - Intel ACPI Source Language Compiler
    624 ####################################################################################
    625 #   VS2010           - Microsoft Visual Studio 2010 Premium Edition
    626 *_VS2010_*_*_FAMILY               = MSFT
    627 
    628 *_VS2010_*_MAKE_PATH              = DEF(VS2010_BIN)\nmake.exe
    629 *_VS2010_*_MAKE_FLAGS             = /nologo
    630 *_VS2010_*_RC_PATH                = DEF(WINSDK7_BIN)\rc.exe
    631 
    632 *_VS2010_*_SLINK_FLAGS            = /NOLOGO /LTCG
    633 *_VS2010_*_APP_FLAGS              = /nologo /E /TC
    634 *_VS2010_*_PP_FLAGS               = /nologo /E /TC /FIAutoGen.h
    635 *_VS2010_*_VFRPP_FLAGS            = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    636 *_VS2010_*_DEPS_FLAGS      = DEF(MSFT_DEPS_FLAGS)
    637 *_VS2010_*_ASM16_PATH             = DEF(VS2010_BIN)\ml.exe
    638 
    639 ##################
    640 # ASL definitions
    641 ##################
    642 *_VS2010_*_ASL_PATH               = DEF(DEFAULT_WIN_ASL_BIN)
    643 *_VS2010_*_ASL_FLAGS              = DEF(DEFAULT_WIN_ASL_FLAGS)
    644 *_VS2010_*_ASL_OUTFLAGS           = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
    645 *_VS2010_*_ASLCC_FLAGS            = DEF(MSFT_ASLCC_FLAGS)
    646 *_VS2010_*_ASLPP_FLAGS            = DEF(MSFT_ASLPP_FLAGS)
    647 *_VS2010_*_ASLDLINK_FLAGS         = DEF(MSFT_ASLDLINK_FLAGS)
    648 
    649 ##################
    650 # IA32 definitions
    651 ##################
    652 *_VS2010_IA32_*_DLL               = DEF(VS2010_DLL)
    653 
    654 *_VS2010_IA32_CC_PATH             = DEF(VS2010_BIN)\cl.exe
    655 *_VS2010_IA32_VFRPP_PATH          = DEF(VS2010_BIN)\cl.exe
    656 *_VS2010_IA32_SLINK_PATH          = DEF(VS2010_BIN)\lib.exe
    657 *_VS2010_IA32_DLINK_PATH          = DEF(VS2010_BIN)\link.exe
    658 *_VS2010_IA32_APP_PATH            = DEF(VS2010_BIN)\cl.exe
    659 *_VS2010_IA32_PP_PATH             = DEF(VS2010_BIN)\cl.exe
    660 *_VS2010_IA32_ASM_PATH            = DEF(VS2010_BIN)\ml.exe
    661 *_VS2010_IA32_ASLCC_PATH          = DEF(VS2010_BIN)\cl.exe
    662 *_VS2010_IA32_ASLPP_PATH          = DEF(VS2010_BIN)\cl.exe
    663 *_VS2010_IA32_ASLDLINK_PATH       = DEF(VS2010_BIN)\link.exe
    664 
    665   DEBUG_VS2010_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
    666 RELEASE_VS2010_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
    667 NOOPT_VS2010_IA32_CC_FLAGS        = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
    668 
    669   DEBUG_VS2010_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    670 RELEASE_VS2010_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
    671 NOOPT_VS2010_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    672 
    673   DEBUG_VS2010_IA32_NASM_FLAGS    = -Ox -f win32 -g
    674 RELEASE_VS2010_IA32_NASM_FLAGS    = -Ox -f win32
    675 NOOPT_VS2010_IA32_NASM_FLAGS      = -O0 -f win32 -g
    676 
    677   DEBUG_VS2010_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    678 RELEASE_VS2010_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    679 NOOPT_VS2010_IA32_DLINK_FLAGS     = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    680 
    681 ##################
    682 # X64 definitions
    683 ##################
    684 *_VS2010_X64_*_DLL         = DEF(VS2010_DLL)
    685 
    686 *_VS2010_X64_CC_PATH       = DEF(VS2010_BINX64)\cl.exe
    687 *_VS2010_X64_PP_PATH       = DEF(VS2010_BINX64)\cl.exe
    688 *_VS2010_X64_APP_PATH      = DEF(VS2010_BINX64)\cl.exe
    689 *_VS2010_X64_VFRPP_PATH    = DEF(VS2010_BINX64)\cl.exe
    690 *_VS2010_X64_ASM_PATH      = DEF(VS2010_BINX64)\ml64.exe
    691 *_VS2010_X64_SLINK_PATH    = DEF(VS2010_BINX64)\lib.exe
    692 *_VS2010_X64_DLINK_PATH    = DEF(VS2010_BINX64)\link.exe
    693 *_VS2010_X64_ASLCC_PATH    = DEF(VS2010_BINX64)\cl.exe
    694 *_VS2010_X64_ASLPP_PATH    = DEF(VS2010_BINX64)\cl.exe
    695 *_VS2010_X64_ASLDLINK_PATH = DEF(VS2010_BINX64)\link.exe
    696 
    697   DEBUG_VS2010_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
    698 RELEASE_VS2010_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
    699 NOOPT_VS2010_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
    700 
    701   DEBUG_VS2010_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    702 RELEASE_VS2010_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
    703 NOOPT_VS2010_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    704 
    705   DEBUG_VS2010_X64_NASM_FLAGS   = -Ox -f win64 -g
    706 RELEASE_VS2010_X64_NASM_FLAGS   = -Ox -f win64
    707 NOOPT_VS2010_X64_NASM_FLAGS     = -O0 -f win64 -g
    708 
    709   DEBUG_VS2010_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    710 RELEASE_VS2010_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    711 NOOPT_VS2010_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    712 
    713 ##################
    714 # EBC definitions
    715 ##################
    716 *_VS2010_EBC_*_FAMILY            = INTEL
    717 *_VS2010_EBC_*_DLL               = DEF(VS2010_DLL)
    718 
    719 *_VS2010_EBC_PP_PATH             = DEF(EBC_BIN)\iec.exe
    720 *_VS2010_EBC_VFRPP_PATH          = DEF(EBC_BIN)\iec.exe
    721 *_VS2010_EBC_CC_PATH             = DEF(EBC_BIN)\iec.exe
    722 *_VS2010_EBC_SLINK_PATH          = DEF(VS2010_BIN)\link.exe
    723 *_VS2010_EBC_DLINK_PATH          = DEF(VS2010_BIN)\link.exe
    724 
    725 *_VS2010_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    726 *_VS2010_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    727 *_VS2010_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    728 *_VS2010_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    729 *_VS2010_EBC_DLINK_FLAGS         = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    730 
    731 
    732 ####################################################################################
    733 #   VS2010x86       - Microsoft Visual Studio 2010 (x86) with Intel ASL
    734 #   ASL  - Intel ACPI Source Language Compiler (iasl.exe)
    735 ####################################################################################
    736 #   VS2010x86           - Microsoft Visual Studio 2010 (x86) ALL Edition with Intel ASL
    737 *_VS2010x86_*_*_FAMILY        = MSFT
    738 
    739 *_VS2010x86_*_MAKE_PATH       = DEF(VS2010x86_BIN)\nmake.exe
    740 *_VS2010x86_*_MAKE_FLAGS      = /nologo
    741 *_VS2010x86_*_RC_PATH         = DEF(WINSDK7x86_BIN)\rc.exe
    742 
    743 *_VS2010x86_*_SLINK_FLAGS     = /NOLOGO /LTCG
    744 *_VS2010x86_*_APP_FLAGS       = /nologo /E /TC
    745 *_VS2010x86_*_PP_FLAGS        = /nologo /E /TC /FIAutoGen.h
    746 *_VS2010x86_*_VFRPP_FLAGS     = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    747 *_VS2010x86_*_DEPS_FLAGS      = DEF(MSFT_DEPS_FLAGS)
    748 *_VS2010x86_*_ASM16_PATH      = DEF(VS2010x86_BIN)\ml.exe
    749 
    750 ##################
    751 # ASL definitions
    752 ##################
    753 *_VS2010x86_*_ASL_PATH        = DEF(WIN_IASL_BIN)
    754 *_VS2010x86_*_ASL_FLAGS       = DEF(DEFAULT_WIN_ASL_FLAGS)
    755 *_VS2010x86_*_ASL_OUTFLAGS    = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
    756 *_VS2010x86_*_ASLCC_FLAGS     = DEF(MSFT_ASLCC_FLAGS)
    757 *_VS2010x86_*_ASLPP_FLAGS     = DEF(MSFT_ASLPP_FLAGS)
    758 *_VS2010x86_*_ASLDLINK_FLAGS  = DEF(MSFT_ASLDLINK_FLAGS)
    759 
    760 ##################
    761 # IA32 definitions
    762 ##################
    763 *_VS2010x86_IA32_*_DLL        = DEF(VS2010x86_DLL)
    764 
    765 *_VS2010x86_IA32_CC_PATH      = DEF(VS2010x86_BIN)\cl.exe
    766 *_VS2010x86_IA32_VFRPP_PATH   = DEF(VS2010x86_BIN)\cl.exe
    767 *_VS2010x86_IA32_ASLCC_PATH   = DEF(VS2010x86_BIN)\cl.exe
    768 *_VS2010x86_IA32_ASLPP_PATH   = DEF(VS2010x86_BIN)\cl.exe
    769 *_VS2010x86_IA32_SLINK_PATH   = DEF(VS2010x86_BIN)\lib.exe
    770 *_VS2010x86_IA32_DLINK_PATH   = DEF(VS2010x86_BIN)\link.exe
    771 *_VS2010x86_IA32_ASLDLINK_PATH= DEF(VS2010x86_BIN)\link.exe
    772 *_VS2010x86_IA32_APP_PATH     = DEF(VS2010x86_BIN)\cl.exe
    773 *_VS2010x86_IA32_PP_PATH      = DEF(VS2010x86_BIN)\cl.exe
    774 *_VS2010x86_IA32_ASM_PATH     = DEF(VS2010x86_BIN)\ml.exe
    775 
    776   DEBUG_VS2010x86_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
    777 RELEASE_VS2010x86_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
    778 NOOPT_VS2010x86_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
    779 
    780   DEBUG_VS2010x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    781 RELEASE_VS2010x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
    782 NOOPT_VS2010x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    783 
    784   DEBUG_VS2010x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
    785 RELEASE_VS2010x86_IA32_NASM_FLAGS  = -Ox -f win32
    786 NOOPT_VS2010x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
    787 
    788   DEBUG_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    789 RELEASE_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    790 NOOPT_VS2010x86_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    791 
    792 ##################
    793 # X64 definitions
    794 ##################
    795 *_VS2010x86_X64_*_DLL         = DEF(VS2010x86_DLL)
    796 
    797 *_VS2010x86_X64_CC_PATH       = DEF(VS2010x86_BINX64)\cl.exe
    798 *_VS2010x86_X64_PP_PATH       = DEF(VS2010x86_BINX64)\cl.exe
    799 *_VS2010x86_X64_APP_PATH      = DEF(VS2010x86_BINX64)\cl.exe
    800 *_VS2010x86_X64_VFRPP_PATH    = DEF(VS2010x86_BINX64)\cl.exe
    801 *_VS2010x86_X64_ASLCC_PATH    = DEF(VS2010x86_BINX64)\cl.exe
    802 *_VS2010x86_X64_ASLPP_PATH    = DEF(VS2010x86_BINX64)\cl.exe
    803 *_VS2010x86_X64_ASM_PATH      = DEF(VS2010x86_BINX64)\ml64.exe
    804 *_VS2010x86_X64_SLINK_PATH    = DEF(VS2010x86_BINX64)\lib.exe
    805 *_VS2010x86_X64_DLINK_PATH    = DEF(VS2010x86_BINX64)\link.exe
    806 *_VS2010x86_X64_ASLDLINK_PATH = DEF(VS2010x86_BINX64)\link.exe
    807 
    808   DEBUG_VS2010x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
    809 RELEASE_VS2010x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
    810 NOOPT_VS2010x86_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
    811 
    812   DEBUG_VS2010x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    813 RELEASE_VS2010x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
    814 NOOPT_VS2010x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
    815 
    816   DEBUG_VS2010x86_X64_NASM_FLAGS   = -Ox -f win64 -g
    817 RELEASE_VS2010x86_X64_NASM_FLAGS   = -Ox -f win64
    818 NOOPT_VS2010x86_X64_NASM_FLAGS     = -O0 -f win64 -g
    819 
    820   DEBUG_VS2010x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    821 RELEASE_VS2010x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    822 NOOPT_VS2010x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    823 
    824 ##################
    825 # EBC definitions
    826 ##################
    827 *_VS2010x86_EBC_*_FAMILY            = INTEL
    828 *_VS2010x86_EBC_*_DLL               = DEF(VS2010x86_DLL)
    829 
    830 *_VS2010x86_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
    831 *_VS2010x86_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
    832 *_VS2010x86_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
    833 *_VS2010x86_EBC_SLINK_PATH          = DEF(VS2010x86_BIN)\link.exe
    834 *_VS2010x86_EBC_DLINK_PATH          = DEF(VS2010x86_BIN)\link.exe
    835 
    836 *_VS2010x86_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    837 *_VS2010x86_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    838 *_VS2010x86_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    839 *_VS2010x86_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    840 *_VS2010x86_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    841 
    842 
    843 ####################################################################################
    844 #
    845 # Microsoft Visual Studio 2012
    846 #
    847 #   VS2012  - Microsoft Visual Studio 2012 Professional Edition with Intel ASL
    848 #   ASL     - Intel ACPI Source Language Compiler
    849 ####################################################################################
    850 #   VS2012           - Microsoft Visual Studio 2012 Professional Edition
    851 *_VS2012_*_*_FAMILY               = MSFT
    852 
    853 *_VS2012_*_MAKE_PATH              = DEF(VS2012_BIN)\nmake.exe
    854 *_VS2012_*_MAKE_FLAGS             = /nologo
    855 *_VS2012_*_RC_PATH                = DEF(WINSDK71_BIN)\rc.exe
    856 
    857 *_VS2012_*_SLINK_FLAGS            = /NOLOGO /LTCG
    858 *_VS2012_*_APP_FLAGS              = /nologo /E /TC
    859 *_VS2012_*_PP_FLAGS               = /nologo /E /TC /FIAutoGen.h
    860 *_VS2012_*_VFRPP_FLAGS            = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    861 *_VS2012_*_DEPS_FLAGS      = DEF(MSFT_DEPS_FLAGS)
    862 *_VS2012_*_ASM16_PATH             = DEF(VS2012_BIN)\ml.exe
    863 
    864 ##################
    865 # ASL definitions
    866 ##################
    867 *_VS2012_*_ASL_PATH               = DEF(DEFAULT_WIN_ASL_BIN)
    868 *_VS2012_*_ASL_FLAGS              = DEF(DEFAULT_WIN_ASL_FLAGS)
    869 *_VS2012_*_ASL_OUTFLAGS           = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
    870 *_VS2012_*_ASLCC_FLAGS            = DEF(MSFT_ASLCC_FLAGS)
    871 *_VS2012_*_ASLPP_FLAGS            = DEF(MSFT_ASLPP_FLAGS)
    872 *_VS2012_*_ASLDLINK_FLAGS         = DEF(MSFT_ASLDLINK_FLAGS)
    873 
    874 ##################
    875 # IA32 definitions
    876 ##################
    877 *_VS2012_IA32_*_DLL               = DEF(VS2012_DLL)
    878 
    879 *_VS2012_IA32_CC_PATH             = DEF(VS2012_BIN)\cl.exe
    880 *_VS2012_IA32_VFRPP_PATH          = DEF(VS2012_BIN)\cl.exe
    881 *_VS2012_IA32_SLINK_PATH          = DEF(VS2012_BIN)\lib.exe
    882 *_VS2012_IA32_DLINK_PATH          = DEF(VS2012_BIN)\link.exe
    883 *_VS2012_IA32_APP_PATH            = DEF(VS2012_BIN)\cl.exe
    884 *_VS2012_IA32_PP_PATH             = DEF(VS2012_BIN)\cl.exe
    885 *_VS2012_IA32_ASM_PATH            = DEF(VS2012_BIN)\ml.exe
    886 *_VS2012_IA32_ASLCC_PATH          = DEF(VS2012_BIN)\cl.exe
    887 *_VS2012_IA32_ASLPP_PATH          = DEF(VS2012_BIN)\cl.exe
    888 *_VS2012_IA32_ASLDLINK_PATH       = DEF(VS2012_BIN)\link.exe
    889 
    890   DEBUG_VS2012_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
    891 RELEASE_VS2012_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
    892 NOOPT_VS2012_IA32_CC_FLAGS        = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
    893 
    894   DEBUG_VS2012_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    895 RELEASE_VS2012_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
    896 NOOPT_VS2012_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    897 
    898   DEBUG_VS2012_IA32_NASM_FLAGS    = -Ox -f win32 -g
    899 RELEASE_VS2012_IA32_NASM_FLAGS    = -Ox -f win32
    900 NOOPT_VS2012_IA32_NASM_FLAGS      = -O0 -f win32 -g
    901 
    902   DEBUG_VS2012_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    903 RELEASE_VS2012_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    904 NOOPT_VS2012_IA32_DLINK_FLAGS     = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    905 
    906 ##################
    907 # X64 definitions
    908 ##################
    909 *_VS2012_X64_*_DLL         = DEF(VS2012_DLL)
    910 
    911 *_VS2012_X64_CC_PATH       = DEF(VS2012_BINX64)\cl.exe
    912 *_VS2012_X64_PP_PATH       = DEF(VS2012_BINX64)\cl.exe
    913 *_VS2012_X64_APP_PATH      = DEF(VS2012_BINX64)\cl.exe
    914 *_VS2012_X64_VFRPP_PATH    = DEF(VS2012_BINX64)\cl.exe
    915 *_VS2012_X64_ASM_PATH      = DEF(VS2012_BINX64)\ml64.exe
    916 *_VS2012_X64_SLINK_PATH    = DEF(VS2012_BINX64)\lib.exe
    917 *_VS2012_X64_DLINK_PATH    = DEF(VS2012_BINX64)\link.exe
    918 *_VS2012_X64_ASLCC_PATH    = DEF(VS2012_BINX64)\cl.exe
    919 *_VS2012_X64_ASLPP_PATH    = DEF(VS2012_BINX64)\cl.exe
    920 *_VS2012_X64_ASLDLINK_PATH = DEF(VS2012_BINX64)\link.exe
    921 
    922   DEBUG_VS2012_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
    923 RELEASE_VS2012_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
    924 NOOPT_VS2012_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
    925 
    926   DEBUG_VS2012_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    927 RELEASE_VS2012_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
    928 NOOPT_VS2012_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    929 
    930   DEBUG_VS2012_X64_NASM_FLAGS   = -Ox -f win64 -g
    931 RELEASE_VS2012_X64_NASM_FLAGS   = -Ox -f win64
    932 NOOPT_VS2012_X64_NASM_FLAGS     = -O0 -f win64 -g
    933 
    934   DEBUG_VS2012_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    935 RELEASE_VS2012_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    936 NOOPT_VS2012_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    937 
    938 ##################
    939 # EBC definitions
    940 ##################
    941 *_VS2012_EBC_*_FAMILY            = INTEL
    942 *_VS2012_EBC_*_DLL               = DEF(VS2012_DLL)
    943 
    944 *_VS2012_EBC_PP_PATH             = DEF(EBC_BIN)\iec.exe
    945 *_VS2012_EBC_VFRPP_PATH          = DEF(EBC_BIN)\iec.exe
    946 *_VS2012_EBC_CC_PATH             = DEF(EBC_BIN)\iec.exe
    947 *_VS2012_EBC_SLINK_PATH          = DEF(VS2012_BIN)\link.exe
    948 *_VS2012_EBC_DLINK_PATH          = DEF(VS2012_BIN)\link.exe
    949 
    950 *_VS2012_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    951 *_VS2012_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    952 *_VS2012_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    953 *_VS2012_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    954 *_VS2012_EBC_DLINK_FLAGS         = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    955 
    956 
    957 ####################################################################################
    958 #   VS2012x86       - Microsoft Visual Studio 2012 (x86) professional with Intel ASL
    959 #   ASL  - Intel ACPI Source Language Compiler (iasl.exe)
    960 ####################################################################################
    961 #   VS2012x86           - Microsoft Visual Studio 2012 (x86) professional Edition with Intel ASL
    962 *_VS2012x86_*_*_FAMILY        = MSFT
    963 
    964 *_VS2012x86_*_MAKE_PATH       = DEF(VS2012x86_BIN)\nmake.exe
    965 *_VS2012x86_*_MAKE_FLAGS      = /nologo
    966 *_VS2012x86_*_RC_PATH         = DEF(WINSDK71x86_BIN)\rc.exe
    967 
    968 *_VS2012x86_*_SLINK_FLAGS     = /NOLOGO /LTCG
    969 *_VS2012x86_*_APP_FLAGS       = /nologo /E /TC
    970 *_VS2012x86_*_PP_FLAGS        = /nologo /E /TC /FIAutoGen.h
    971 *_VS2012x86_*_VFRPP_FLAGS     = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    972 *_VS2012x86_*_DEPS_FLAGS      = DEF(MSFT_DEPS_FLAGS)
    973 *_VS2012x86_*_ASM16_PATH      = DEF(VS2012x86_BIN)\ml.exe
    974 
    975 ##################
    976 # ASL definitions
    977 ##################
    978 *_VS2012x86_*_ASL_PATH        = DEF(WIN_IASL_BIN)
    979 *_VS2012x86_*_ASL_FLAGS       = DEF(DEFAULT_WIN_ASL_FLAGS)
    980 *_VS2012x86_*_ASL_OUTFLAGS    = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
    981 *_VS2012x86_*_ASLCC_FLAGS     = DEF(MSFT_ASLCC_FLAGS)
    982 *_VS2012x86_*_ASLPP_FLAGS     = DEF(MSFT_ASLPP_FLAGS)
    983 *_VS2012x86_*_ASLDLINK_FLAGS  = DEF(MSFT_ASLDLINK_FLAGS)
    984 
    985 ##################
    986 # IA32 definitions
    987 ##################
    988 *_VS2012x86_IA32_*_DLL        = DEF(VS2012x86_DLL)
    989 
    990 *_VS2012x86_IA32_CC_PATH      = DEF(VS2012x86_BIN)\cl.exe
    991 *_VS2012x86_IA32_VFRPP_PATH   = DEF(VS2012x86_BIN)\cl.exe
    992 *_VS2012x86_IA32_ASLCC_PATH   = DEF(VS2012x86_BIN)\cl.exe
    993 *_VS2012x86_IA32_ASLPP_PATH   = DEF(VS2012x86_BIN)\cl.exe
    994 *_VS2012x86_IA32_SLINK_PATH   = DEF(VS2012x86_BIN)\lib.exe
    995 *_VS2012x86_IA32_DLINK_PATH   = DEF(VS2012x86_BIN)\link.exe
    996 *_VS2012x86_IA32_ASLDLINK_PATH= DEF(VS2012x86_BIN)\link.exe
    997 *_VS2012x86_IA32_APP_PATH     = DEF(VS2012x86_BIN)\cl.exe
    998 *_VS2012x86_IA32_PP_PATH      = DEF(VS2012x86_BIN)\cl.exe
    999 *_VS2012x86_IA32_ASM_PATH     = DEF(VS2012x86_BIN)\ml.exe
    1000 
    1001   DEBUG_VS2012x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
    1002 RELEASE_VS2012x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
    1003 NOOPT_VS2012x86_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
    1004 
    1005   DEBUG_VS2012x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    1006 RELEASE_VS2012x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
    1007 NOOPT_VS2012x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    1008 
    1009   DEBUG_VS2012x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
    1010 RELEASE_VS2012x86_IA32_NASM_FLAGS  = -Ox -f win32
    1011 NOOPT_VS2012x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
    1012 
    1013   DEBUG_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1014 RELEASE_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    1015 NOOPT_VS2012x86_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1016 
    1017 ##################
    1018 # X64 definitions
    1019 ##################
    1020 *_VS2012x86_X64_*_DLL         = DEF(VS2012x86_DLL)
    1021 
    1022 *_VS2012x86_X64_CC_PATH       = DEF(VS2012x86_BINX64)\cl.exe
    1023 *_VS2012x86_X64_PP_PATH       = DEF(VS2012x86_BINX64)\cl.exe
    1024 *_VS2012x86_X64_APP_PATH      = DEF(VS2012x86_BINX64)\cl.exe
    1025 *_VS2012x86_X64_VFRPP_PATH    = DEF(VS2012x86_BINX64)\cl.exe
    1026 *_VS2012x86_X64_ASLCC_PATH    = DEF(VS2012x86_BINX64)\cl.exe
    1027 *_VS2012x86_X64_ASLPP_PATH    = DEF(VS2012x86_BINX64)\cl.exe
    1028 *_VS2012x86_X64_ASM_PATH      = DEF(VS2012x86_BINX64)\ml64.exe
    1029 *_VS2012x86_X64_SLINK_PATH    = DEF(VS2012x86_BINX64)\lib.exe
    1030 *_VS2012x86_X64_DLINK_PATH    = DEF(VS2012x86_BINX64)\link.exe
    1031 *_VS2012x86_X64_ASLDLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
    1032 
    1033   DEBUG_VS2012x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
    1034 RELEASE_VS2012x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
    1035 NOOPT_VS2012x86_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
    1036 
    1037   DEBUG_VS2012x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    1038 RELEASE_VS2012x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
    1039 NOOPT_VS2012x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
    1040 
    1041   DEBUG_VS2012x86_X64_NASM_FLAGS   = -Ox -f win64 -g
    1042 RELEASE_VS2012x86_X64_NASM_FLAGS   = -Ox -f win64
    1043 NOOPT_VS2012x86_X64_NASM_FLAGS     = -O0 -f win64 -g
    1044 
    1045   DEBUG_VS2012x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1046 RELEASE_VS2012x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    1047 NOOPT_VS2012x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1048 
    1049 ##################
    1050 # EBC definitions
    1051 ##################
    1052 *_VS2012x86_EBC_*_FAMILY            = INTEL
    1053 *_VS2012x86_EBC_*_DLL               = DEF(VS2012x86_DLL)
    1054 
    1055 *_VS2012x86_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
    1056 *_VS2012x86_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
    1057 *_VS2012x86_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
    1058 *_VS2012x86_EBC_SLINK_PATH          = DEF(VS2012x86_BIN)\link.exe
    1059 *_VS2012x86_EBC_DLINK_PATH          = DEF(VS2012x86_BIN)\link.exe
    1060 
    1061 *_VS2012x86_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    1062 *_VS2012x86_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    1063 *_VS2012x86_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1064 *_VS2012x86_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    1065 *_VS2012x86_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    1066 
    1067 
    1068 ####################################################################################
    1069 #
    1070 # Microsoft Visual Studio 2013
    1071 #
    1072 #   VS2013  - Microsoft Visual Studio 2013 Professional Edition with Intel ASL
    1073 #   ASL     - Intel ACPI Source Language Compiler
    1074 ####################################################################################
    1075 #   VS2013           - Microsoft Visual Studio 2013 Professional Edition
    1076 *_VS2013_*_*_FAMILY               = MSFT
    1077 
    1078 *_VS2013_*_MAKE_PATH              = DEF(VS2013_BIN)\nmake.exe
    1079 *_VS2013_*_MAKE_FLAGS             = /nologo
    1080 *_VS2013_*_RC_PATH                = DEF(WINSDK8_BIN)\rc.exe
    1081 
    1082 *_VS2013_*_SLINK_FLAGS            = /NOLOGO /LTCG
    1083 *_VS2013_*_APP_FLAGS              = /nologo /E /TC
    1084 *_VS2013_*_PP_FLAGS               = /nologo /E /TC /FIAutoGen.h
    1085 *_VS2013_*_VFRPP_FLAGS            = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1086 *_VS2013_*_DEPS_FLAGS      = DEF(MSFT_DEPS_FLAGS)
    1087 *_VS2013_*_ASM16_PATH             = DEF(VS2013_BIN)\ml.exe
    1088 
    1089 ##################
    1090 # ASL definitions
    1091 ##################
    1092 *_VS2013_*_ASL_PATH               = DEF(DEFAULT_WIN_ASL_BIN)
    1093 *_VS2013_*_ASL_FLAGS              = DEF(DEFAULT_WIN_ASL_FLAGS)
    1094 *_VS2013_*_ASL_OUTFLAGS           = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
    1095 *_VS2013_*_ASLCC_FLAGS            = DEF(MSFT_ASLCC_FLAGS)
    1096 *_VS2013_*_ASLPP_FLAGS            = DEF(MSFT_ASLPP_FLAGS)
    1097 *_VS2013_*_ASLDLINK_FLAGS         = DEF(MSFT_ASLDLINK_FLAGS)
    1098 
    1099 ##################
    1100 # IA32 definitions
    1101 ##################
    1102 *_VS2013_IA32_*_DLL               = DEF(VS2013_DLL)
    1103 
    1104 *_VS2013_IA32_CC_PATH             = DEF(VS2013_BIN)\cl.exe
    1105 *_VS2013_IA32_VFRPP_PATH          = DEF(VS2013_BIN)\cl.exe
    1106 *_VS2013_IA32_SLINK_PATH          = DEF(VS2013_BIN)\lib.exe
    1107 *_VS2013_IA32_DLINK_PATH          = DEF(VS2013_BIN)\link.exe
    1108 *_VS2013_IA32_APP_PATH            = DEF(VS2013_BIN)\cl.exe
    1109 *_VS2013_IA32_PP_PATH             = DEF(VS2013_BIN)\cl.exe
    1110 *_VS2013_IA32_ASM_PATH            = DEF(VS2013_BIN)\ml.exe
    1111 *_VS2013_IA32_ASLCC_PATH          = DEF(VS2013_BIN)\cl.exe
    1112 *_VS2013_IA32_ASLPP_PATH          = DEF(VS2013_BIN)\cl.exe
    1113 *_VS2013_IA32_ASLDLINK_PATH       = DEF(VS2013_BIN)\link.exe
    1114 
    1115   DEBUG_VS2013_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
    1116 RELEASE_VS2013_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
    1117 NOOPT_VS2013_IA32_CC_FLAGS        = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
    1118 
    1119   DEBUG_VS2013_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    1120 RELEASE_VS2013_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
    1121 NOOPT_VS2013_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    1122 
    1123   DEBUG_VS2013_IA32_NASM_FLAGS    = -Ox -f win32 -g
    1124 RELEASE_VS2013_IA32_NASM_FLAGS    = -Ox -f win32
    1125 NOOPT_VS2013_IA32_NASM_FLAGS      = -O0 -f win32 -g
    1126 
    1127   DEBUG_VS2013_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1128 RELEASE_VS2013_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    1129 NOOPT_VS2013_IA32_DLINK_FLAGS     = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1130 
    1131 ##################
    1132 # X64 definitions
    1133 ##################
    1134 *_VS2013_X64_*_DLL         = DEF(VS2013_DLL)
    1135 
    1136 *_VS2013_X64_CC_PATH       = DEF(VS2013_BINX64)\cl.exe
    1137 *_VS2013_X64_PP_PATH       = DEF(VS2013_BINX64)\cl.exe
    1138 *_VS2013_X64_APP_PATH      = DEF(VS2013_BINX64)\cl.exe
    1139 *_VS2013_X64_VFRPP_PATH    = DEF(VS2013_BINX64)\cl.exe
    1140 *_VS2013_X64_ASM_PATH      = DEF(VS2013_BINX64)\ml64.exe
    1141 *_VS2013_X64_SLINK_PATH    = DEF(VS2013_BINX64)\lib.exe
    1142 *_VS2013_X64_DLINK_PATH    = DEF(VS2013_BINX64)\link.exe
    1143 *_VS2013_X64_ASLCC_PATH    = DEF(VS2013_BINX64)\cl.exe
    1144 *_VS2013_X64_ASLPP_PATH    = DEF(VS2013_BINX64)\cl.exe
    1145 *_VS2013_X64_ASLDLINK_PATH = DEF(VS2013_BINX64)\link.exe
    1146 
    1147   DEBUG_VS2013_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
    1148 RELEASE_VS2013_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
    1149 NOOPT_VS2013_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
    1150 
    1151   DEBUG_VS2013_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    1152 RELEASE_VS2013_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
    1153 NOOPT_VS2013_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    1154 
    1155   DEBUG_VS2013_X64_NASM_FLAGS   = -Ox -f win64 -g
    1156 RELEASE_VS2013_X64_NASM_FLAGS   = -Ox -f win64
    1157 NOOPT_VS2013_X64_NASM_FLAGS     = -O0 -f win64 -g
    1158 
    1159   DEBUG_VS2013_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1160 RELEASE_VS2013_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    1161 NOOPT_VS2013_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1162 
    1163 ##################
    1164 # EBC definitions
    1165 ##################
    1166 *_VS2013_EBC_*_FAMILY            = INTEL
    1167 *_VS2013_EBC_*_DLL               = DEF(VS2013_DLL)
    1168 
    1169 *_VS2013_EBC_PP_PATH             = DEF(EBC_BIN)\iec.exe
    1170 *_VS2013_EBC_VFRPP_PATH          = DEF(EBC_BIN)\iec.exe
    1171 *_VS2013_EBC_CC_PATH             = DEF(EBC_BIN)\iec.exe
    1172 *_VS2013_EBC_SLINK_PATH          = DEF(VS2013_BIN)\link.exe
    1173 *_VS2013_EBC_DLINK_PATH          = DEF(VS2013_BIN)\link.exe
    1174 
    1175 *_VS2013_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    1176 *_VS2013_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    1177 *_VS2013_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1178 *_VS2013_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    1179 *_VS2013_EBC_DLINK_FLAGS         = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    1180 
    1181 
    1182 ####################################################################################
    1183 #   VS2013x86       - Microsoft Visual Studio 2013 (x86) professional with Intel ASL
    1184 #   ASL  - Intel ACPI Source Language Compiler (iasl.exe)
    1185 ####################################################################################
    1186 #   VS2013x86           - Microsoft Visual Studio 2013 (x86) professional Edition with Intel ASL
    1187 *_VS2013x86_*_*_FAMILY        = MSFT
    1188 
    1189 *_VS2013x86_*_MAKE_PATH       = DEF(VS2013x86_BIN)\nmake.exe
    1190 *_VS2013x86_*_MAKE_FLAGS      = /nologo
    1191 *_VS2013x86_*_RC_PATH         = DEF(WINSDK8x86_BIN)\rc.exe
    1192 
    1193 *_VS2013x86_*_SLINK_FLAGS     = /NOLOGO /LTCG
    1194 *_VS2013x86_*_APP_FLAGS       = /nologo /E /TC
    1195 *_VS2013x86_*_PP_FLAGS        = /nologo /E /TC /FIAutoGen.h
    1196 *_VS2013x86_*_VFRPP_FLAGS     = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1197 *_VS2013x86_*_DEPS_FLAGS      = DEF(MSFT_DEPS_FLAGS)
    1198 *_VS2013x86_*_ASM16_PATH      = DEF(VS2013x86_BIN)\ml.exe
    1199 
    1200 ##################
    1201 # ASL definitions
    1202 ##################
    1203 *_VS2013x86_*_ASL_PATH        = DEF(WIN_IASL_BIN)
    1204 *_VS2013x86_*_ASL_FLAGS       = DEF(DEFAULT_WIN_ASL_FLAGS)
    1205 *_VS2013x86_*_ASL_OUTFLAGS    = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
    1206 *_VS2013x86_*_ASLCC_FLAGS     = DEF(MSFT_ASLCC_FLAGS)
    1207 *_VS2013x86_*_ASLPP_FLAGS     = DEF(MSFT_ASLPP_FLAGS)
    1208 *_VS2013x86_*_ASLDLINK_FLAGS  = DEF(MSFT_ASLDLINK_FLAGS)
    1209 
    1210 ##################
    1211 # IA32 definitions
    1212 ##################
    1213 *_VS2013x86_IA32_*_DLL        = DEF(VS2013x86_DLL)
    1214 
    1215 *_VS2013x86_IA32_CC_PATH      = DEF(VS2013x86_BIN)\cl.exe
    1216 *_VS2013x86_IA32_VFRPP_PATH   = DEF(VS2013x86_BIN)\cl.exe
    1217 *_VS2013x86_IA32_ASLCC_PATH   = DEF(VS2013x86_BIN)\cl.exe
    1218 *_VS2013x86_IA32_ASLPP_PATH   = DEF(VS2013x86_BIN)\cl.exe
    1219 *_VS2013x86_IA32_SLINK_PATH   = DEF(VS2013x86_BIN)\lib.exe
    1220 *_VS2013x86_IA32_DLINK_PATH   = DEF(VS2013x86_BIN)\link.exe
    1221 *_VS2013x86_IA32_ASLDLINK_PATH= DEF(VS2013x86_BIN)\link.exe
    1222 *_VS2013x86_IA32_APP_PATH     = DEF(VS2013x86_BIN)\cl.exe
    1223 *_VS2013x86_IA32_PP_PATH      = DEF(VS2013x86_BIN)\cl.exe
    1224 *_VS2013x86_IA32_ASM_PATH     = DEF(VS2013x86_BIN)\ml.exe
    1225 
    1226   DEBUG_VS2013x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
    1227 RELEASE_VS2013x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
    1228 NOOPT_VS2013x86_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
    1229 
    1230   DEBUG_VS2013x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    1231 RELEASE_VS2013x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
    1232 NOOPT_VS2013x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
    1233 
    1234   DEBUG_VS2013x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
    1235 RELEASE_VS2013x86_IA32_NASM_FLAGS  = -Ox -f win32
    1236 NOOPT_VS2013x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
    1237 
    1238   DEBUG_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1239 RELEASE_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    1240 NOOPT_VS2013x86_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1241 
    1242 ##################
    1243 # X64 definitions
    1244 ##################
    1245 *_VS2013x86_X64_*_DLL         = DEF(VS2013x86_DLL)
    1246 
    1247 *_VS2013x86_X64_CC_PATH       = DEF(VS2013x86_BINX64)\cl.exe
    1248 *_VS2013x86_X64_PP_PATH       = DEF(VS2013x86_BINX64)\cl.exe
    1249 *_VS2013x86_X64_APP_PATH      = DEF(VS2013x86_BINX64)\cl.exe
    1250 *_VS2013x86_X64_VFRPP_PATH    = DEF(VS2013x86_BINX64)\cl.exe
    1251 *_VS2013x86_X64_ASLCC_PATH    = DEF(VS2013x86_BINX64)\cl.exe
    1252 *_VS2013x86_X64_ASLPP_PATH    = DEF(VS2013x86_BINX64)\cl.exe
    1253 *_VS2013x86_X64_ASM_PATH      = DEF(VS2013x86_BINX64)\ml64.exe
    1254 *_VS2013x86_X64_SLINK_PATH    = DEF(VS2013x86_BINX64)\lib.exe
    1255 *_VS2013x86_X64_DLINK_PATH    = DEF(VS2013x86_BINX64)\link.exe
    1256 *_VS2013x86_X64_ASLDLINK_PATH = DEF(VS2013x86_BINX64)\link.exe
    1257 
    1258   DEBUG_VS2013x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
    1259 RELEASE_VS2013x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
    1260 NOOPT_VS2013x86_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
    1261 
    1262   DEBUG_VS2013x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
    1263 RELEASE_VS2013x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
    1264 NOOPT_VS2013x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
    1265 
    1266   DEBUG_VS2013x86_X64_NASM_FLAGS   = -Ox -f win64 -g
    1267 RELEASE_VS2013x86_X64_NASM_FLAGS   = -Ox -f win64
    1268 NOOPT_VS2013x86_X64_NASM_FLAGS     = -O0 -f win64 -g
    1269 
    1270   DEBUG_VS2013x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1271 RELEASE_VS2013x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
    1272 NOOPT_VS2013x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1273 
    1274 ##################
    1275 # EBC definitions
    1276 ##################
    1277 *_VS2013x86_EBC_*_FAMILY            = INTEL
    1278 *_VS2013x86_EBC_*_DLL               = DEF(VS2013x86_DLL)
    1279 
    1280 *_VS2013x86_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
    1281 *_VS2013x86_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
    1282 *_VS2013x86_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
    1283 *_VS2013x86_EBC_SLINK_PATH          = DEF(VS2013x86_BIN)\link.exe
    1284 *_VS2013x86_EBC_DLINK_PATH          = DEF(VS2013x86_BIN)\link.exe
    1285 
    1286 *_VS2013x86_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    1287 *_VS2013x86_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    1288 *_VS2013x86_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1289 *_VS2013x86_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    1290 *_VS2013x86_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    1291 
    1292254
    1293255####################################################################################
     
    1387349NOOPT_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
    1388350
    1389 ##################
    1390 # EBC definitions
    1391 ##################
    1392 *_VS2015_EBC_*_FAMILY            = INTEL
    1393 *_VS2015_EBC_*_DLL               = DEF(VS2015_DLL)
    1394 
    1395 *_VS2015_EBC_PP_PATH             = DEF(EBC_BIN)\iec.exe
    1396 *_VS2015_EBC_VFRPP_PATH          = DEF(EBC_BIN)\iec.exe
    1397 *_VS2015_EBC_CC_PATH             = DEF(EBC_BIN)\iec.exe
    1398 *_VS2015_EBC_SLINK_PATH          = DEF(VS2015_BIN)\link.exe
    1399 *_VS2015_EBC_DLINK_PATH          = DEF(VS2015_BIN)\link.exe
    1400 
    1401 *_VS2015_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    1402 *_VS2015_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    1403 *_VS2015_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1404 *_VS2015_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    1405 *_VS2015_EBC_DLINK_FLAGS         = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    1406 
    1407 
    1408351####################################################################################
    1409352#   VS2015x86       - Microsoft Visual Studio 2015 (x86) professional with Intel ASL
     
    1498441RELEASE_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
    1499442NOOPT_VS2015x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
    1500 
    1501 ##################
    1502 # EBC definitions
    1503 ##################
    1504 *_VS2015x86_EBC_*_FAMILY            = INTEL
    1505 *_VS2015x86_EBC_*_DLL               = DEF(VS2015x86_DLL)
    1506 
    1507 *_VS2015x86_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
    1508 *_VS2015x86_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
    1509 *_VS2015x86_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
    1510 *_VS2015x86_EBC_SLINK_PATH          = DEF(VS2015x86_BIN)\link.exe
    1511 *_VS2015x86_EBC_DLINK_PATH          = DEF(VS2015x86_BIN)\link.exe
    1512 
    1513 *_VS2015x86_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    1514 *_VS2015x86_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    1515 *_VS2015x86_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1516 *_VS2015x86_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    1517 *_VS2015x86_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    1518 
    1519443
    1520444####################################################################################
     
    1659583NOOPT_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
    1660584
    1661 ##################
    1662 # EBC definitions
    1663 ##################
    1664 *_VS2017_EBC_*_FAMILY            = INTEL
    1665 
    1666 *_VS2017_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
    1667 *_VS2017_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
    1668 *_VS2017_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
    1669 *_VS2017_EBC_SLINK_PATH          = DEF(VS2017_BIN_IA32)\link.exe
    1670 *_VS2017_EBC_DLINK_PATH          = DEF(VS2017_BIN_IA32)\link.exe
    1671 
    1672 *_VS2017_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    1673 *_VS2017_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    1674 *_VS2017_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1675 *_VS2017_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    1676 *_VS2017_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    1677 
    1678585####################################################################################
    1679586#   VS2019       - Microsoft Visual Studio 2019 with Intel ASL
     
    1817724NOOPT_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
    1818725
    1819 ##################
    1820 # EBC definitions
    1821 ##################
    1822 *_VS2019_EBC_*_FAMILY            = INTEL
    1823 
    1824 *_VS2019_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
    1825 *_VS2019_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
    1826 *_VS2019_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
    1827 *_VS2019_EBC_SLINK_PATH          = DEF(VS2019_BIN_IA32)\link.exe
    1828 *_VS2019_EBC_DLINK_PATH          = DEF(VS2019_BIN_IA32)\link.exe
    1829 
    1830 *_VS2019_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
    1831 *_VS2019_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
    1832 *_VS2019_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
    1833 *_VS2019_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
    1834 *_VS2019_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
    1835 
    1836726####################################################################################
    1837727# GCC Common
     
    1842732*_*_*_SYMRENAME_PATH            = echo
    1843733*_*_*_SYMRENAME_FLAGS           = Symbol renaming not needed for
    1844 DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
     734DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink="$(DEBUG_DIR)/$(MODULE_NAME).debug"
    1845735RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG   =
    1846 NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
     736NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink="$(DEBUG_DIR)/$(MODULE_NAME).debug"
    1847737*_*_*_OBJCOPY_STRIPFLAG            = --strip-unneeded -R .eh_frame
    1848738*_*_*_DTC_FLAGS                    = -H epapr
     
    1856746DEFINE 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
    1857747DEFINE GCC_AARCH64_CC_XIPFLAGS     = -mstrict-align -mgeneral-regs-only
     748DEFINE GCC_RISCV64_CC_XIPFLAGS     = -mstrict-align -mgeneral-regs-only
    1858749DEFINE GCC_DLINK_FLAGS_COMMON      = -nostdlib --pie
    1859750DEFINE GCC_DLINK2_FLAGS_COMMON     = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
     
    1881772DEFINE GCC_ARM_RC_FLAGS            = -I binary -O elf32-littlearm     -B arm         --rename-section .data=.hii
    1882773DEFINE GCC_AARCH64_RC_FLAGS        = -I binary -O elf64-littleaarch64 -B aarch64     --rename-section .data=.hii
     774DEFINE GCC_AARCH64_RC_BTI_FLAGS    = --add-section .note.gnu.property=$(WORKSPACE)/ArmPkg/Library/GnuNoteBti.bin --set-section-flags .note.gnu.property=alloc,readonly
    1883775DEFINE GCC_RISCV64_RC_FLAGS        = -I binary -O elf64-littleriscv   -B riscv       --rename-section .data=.hii
    1884776DEFINE GCC_LOONGARCH64_RC_FLAGS    = -I binary -O elf64-loongarch     -B loongarch64 --rename-section .data=.hii
     
    1968860DEFINE GCC5_RISCV64_ARCH                   = rv64gc
    1969861DEFINE GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
    1970 DEFINE GCC5_RISCV64_CC_FLAGS               = DEF(GCC5_RISCV_ALL_CC_FLAGS) DEF(GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE) DEF(GCC5_RISCV_OPENSBI_TYPES) -march=DEF(GCC5_RISCV64_ARCH) -fno-builtin -fno-builtin-memcpy -fno-stack-protector -Wno-address -fno-asynchronous-unwind-tables -Wno-unused-but-set-variable -fpack-struct=8 -mcmodel=medany -mabi=lp64 -mno-relax
     862DEFINE 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 -fno-unwind-tables -Wno-unused-but-set-variable -fpack-struct=8 -mcmodel=medany -mabi=lp64 -mno-relax
    1971863DEFINE GCC5_RISCV64_DLINK_FLAGS            = DEF(GCC5_RISCV_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax
    1972864DEFINE GCC5_RISCV64_DLINK2_FLAGS           = DEF(GCC5_RISCV_ALL_DLINK2_FLAGS)
     
    22631155####################################################################################
    22641156#
     1157# GCC NOLTO - This configuration is used to compile under Linux to produce
     1158#             PE/COFF binaries using GCC without Link Time Optimization
     1159#
     1160####################################################################################
     1161*_GCCNOLTO_*_*_FAMILY               = GCC
     1162
     1163*_GCCNOLTO_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
     1164*_GCCNOLTO_*_*_DLL                        = ENV(GCCNOLTO_DLL)
     1165*_GCCNOLTO_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
     1166
     1167*_GCCNOLTO_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
     1168*_GCCNOLTO_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
     1169*_GCCNOLTO_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
     1170*_GCCNOLTO_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
     1171*_GCCNOLTO_*_APP_FLAGS                    =
     1172*_GCCNOLTO_*_ASL_FLAGS                    = DEF(IASL_FLAGS)
     1173*_GCCNOLTO_*_ASL_OUTFLAGS                 = DEF(IASL_OUTFLAGS)
     1174*_GCCNOLTO_*_DEPS_FLAGS                   = DEF(GCC_DEPS_FLAGS)
     1175
     1176##################
     1177# GCCNOLTO IA32 definitions
     1178##################
     1179*_GCCNOLTO_IA32_OBJCOPY_PATH         = DEF(GCCNOLTO_IA32_PREFIX)objcopy
     1180*_GCCNOLTO_IA32_CC_PATH              = DEF(GCCNOLTO_IA32_PREFIX)gcc
     1181*_GCCNOLTO_IA32_SLINK_PATH           = DEF(GCCNOLTO_IA32_PREFIX)ar
     1182*_GCCNOLTO_IA32_DLINK_PATH           = DEF(GCCNOLTO_IA32_PREFIX)gcc
     1183*_GCCNOLTO_IA32_ASLDLINK_PATH        = DEF(GCCNOLTO_IA32_PREFIX)gcc
     1184*_GCCNOLTO_IA32_ASM_PATH             = DEF(GCCNOLTO_IA32_PREFIX)gcc
     1185*_GCCNOLTO_IA32_PP_PATH              = DEF(GCCNOLTO_IA32_PREFIX)gcc
     1186*_GCCNOLTO_IA32_VFRPP_PATH           = DEF(GCCNOLTO_IA32_PREFIX)gcc
     1187*_GCCNOLTO_IA32_ASLCC_PATH           = DEF(GCCNOLTO_IA32_PREFIX)gcc
     1188*_GCCNOLTO_IA32_ASLPP_PATH           = DEF(GCCNOLTO_IA32_PREFIX)gcc
     1189*_GCCNOLTO_IA32_RC_PATH              = DEF(GCCNOLTO_IA32_PREFIX)objcopy
     1190
     1191*_GCCNOLTO_IA32_ASLCC_FLAGS          = DEF(GCC49_ASLCC_FLAGS) -m32
     1192*_GCCNOLTO_IA32_ASLDLINK_FLAGS       = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
     1193*_GCCNOLTO_IA32_ASM_FLAGS            = DEF(GCC49_ASM_FLAGS) -m32 -march=i386
     1194*_GCCNOLTO_IA32_DLINK_FLAGS          = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
     1195*_GCCNOLTO_IA32_DLINK2_FLAGS         = DEF(GCC49_IA32_DLINK2_FLAGS)
     1196*_GCCNOLTO_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
     1197*_GCCNOLTO_IA32_OBJCOPY_FLAGS        =
     1198*_GCCNOLTO_IA32_NASM_FLAGS           = -f elf32
     1199
     1200  DEBUG_GCCNOLTO_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS)
     1201RELEASE_GCCNOLTO_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
     1202  NOOPT_GCCNOLTO_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -O0
     1203
     1204##################
     1205# GCCNOLTO X64 definitions
     1206##################
     1207*_GCCNOLTO_X64_OBJCOPY_PATH         = DEF(GCCNOLTO_X64_PREFIX)objcopy
     1208*_GCCNOLTO_X64_CC_PATH              = DEF(GCCNOLTO_X64_PREFIX)gcc
     1209*_GCCNOLTO_X64_SLINK_PATH           = DEF(GCCNOLTO_X64_PREFIX)ar
     1210*_GCCNOLTO_X64_DLINK_PATH           = DEF(GCCNOLTO_X64_PREFIX)gcc
     1211*_GCCNOLTO_X64_ASLDLINK_PATH        = DEF(GCCNOLTO_X64_PREFIX)gcc
     1212*_GCCNOLTO_X64_ASM_PATH             = DEF(GCCNOLTO_X64_PREFIX)gcc
     1213*_GCCNOLTO_X64_PP_PATH              = DEF(GCCNOLTO_X64_PREFIX)gcc
     1214*_GCCNOLTO_X64_VFRPP_PATH           = DEF(GCCNOLTO_X64_PREFIX)gcc
     1215*_GCCNOLTO_X64_ASLCC_PATH           = DEF(GCCNOLTO_X64_PREFIX)gcc
     1216*_GCCNOLTO_X64_ASLPP_PATH           = DEF(GCCNOLTO_X64_PREFIX)gcc
     1217*_GCCNOLTO_X64_RC_PATH              = DEF(GCCNOLTO_X64_PREFIX)objcopy
     1218
     1219*_GCCNOLTO_X64_ASLCC_FLAGS          = DEF(GCC49_ASLCC_FLAGS) -m64
     1220*_GCCNOLTO_X64_ASLDLINK_FLAGS       = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
     1221*_GCCNOLTO_X64_ASM_FLAGS            = DEF(GCC49_ASM_FLAGS) -m64
     1222*_GCCNOLTO_X64_DLINK_FLAGS          = DEF(GCC49_X64_DLINK_FLAGS)
     1223*_GCCNOLTO_X64_DLINK2_FLAGS         = DEF(GCC49_X64_DLINK2_FLAGS)
     1224*_GCCNOLTO_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
     1225*_GCCNOLTO_X64_OBJCOPY_FLAGS        =
     1226*_GCCNOLTO_X64_NASM_FLAGS           = -f elf64
     1227
     1228  DEBUG_GCCNOLTO_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS)
     1229RELEASE_GCCNOLTO_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
     1230  NOOPT_GCCNOLTO_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -O0
     1231
     1232##################
     1233# GCCNOLTO ARM definitions
     1234##################
     1235*_GCCNOLTO_ARM_CC_PATH              = ENV(GCCNOLTO_ARM_PREFIX)gcc
     1236*_GCCNOLTO_ARM_SLINK_PATH           = ENV(GCCNOLTO_ARM_PREFIX)ar
     1237*_GCCNOLTO_ARM_DLINK_PATH           = ENV(GCCNOLTO_ARM_PREFIX)gcc
     1238*_GCCNOLTO_ARM_ASLDLINK_PATH        = ENV(GCCNOLTO_ARM_PREFIX)gcc
     1239*_GCCNOLTO_ARM_ASM_PATH             = ENV(GCCNOLTO_ARM_PREFIX)gcc
     1240*_GCCNOLTO_ARM_PP_PATH              = ENV(GCCNOLTO_ARM_PREFIX)gcc
     1241*_GCCNOLTO_ARM_VFRPP_PATH           = ENV(GCCNOLTO_ARM_PREFIX)gcc
     1242*_GCCNOLTO_ARM_ASLCC_PATH           = ENV(GCCNOLTO_ARM_PREFIX)gcc
     1243*_GCCNOLTO_ARM_ASLPP_PATH           = ENV(GCCNOLTO_ARM_PREFIX)gcc
     1244*_GCCNOLTO_ARM_RC_PATH              = ENV(GCCNOLTO_ARM_PREFIX)objcopy
     1245
     1246*_GCCNOLTO_ARM_ASLCC_FLAGS          = DEF(GCC49_ASLCC_FLAGS)
     1247*_GCCNOLTO_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS)
     1248*_GCCNOLTO_ARM_ASM_FLAGS            = DEF(GCC49_ARM_ASM_FLAGS)
     1249*_GCCNOLTO_ARM_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
     1250*_GCCNOLTO_ARM_DLINK2_FLAGS         = DEF(GCC49_ARM_DLINK2_FLAGS)
     1251*_GCCNOLTO_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
     1252*_GCCNOLTO_ARM_PLATFORM_FLAGS       = -march=armv7-a
     1253*_GCCNOLTO_ARM_PP_FLAGS             = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
     1254*_GCCNOLTO_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
     1255*_GCCNOLTO_ARM_VFRPP_FLAGS          = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
     1256*_GCCNOLTO_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
     1257
     1258  DEBUG_GCCNOLTO_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -O0
     1259RELEASE_GCCNOLTO_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
     1260  NOOPT_GCCNOLTO_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -O0
     1261
     1262##################
     1263# GCCNOLTO AARCH64 definitions
     1264##################
     1265*_GCCNOLTO_AARCH64_CC_PATH          = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
     1266*_GCCNOLTO_AARCH64_SLINK_PATH       = ENV(GCCNOLTO_AARCH64_PREFIX)ar
     1267*_GCCNOLTO_AARCH64_DLINK_PATH       = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
     1268*_GCCNOLTO_AARCH64_ASLDLINK_PATH    = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
     1269*_GCCNOLTO_AARCH64_ASM_PATH         = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
     1270*_GCCNOLTO_AARCH64_PP_PATH          = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
     1271*_GCCNOLTO_AARCH64_VFRPP_PATH       = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
     1272*_GCCNOLTO_AARCH64_ASLCC_PATH       = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
     1273*_GCCNOLTO_AARCH64_ASLPP_PATH       = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
     1274*_GCCNOLTO_AARCH64_RC_PATH          = ENV(GCCNOLTO_AARCH64_PREFIX)objcopy
     1275
     1276*_GCCNOLTO_AARCH64_ASLCC_FLAGS      = DEF(GCC49_ASLCC_FLAGS)
     1277*_GCCNOLTO_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
     1278*_GCCNOLTO_AARCH64_ASM_FLAGS        = DEF(GCC49_AARCH64_ASM_FLAGS)
     1279*_GCCNOLTO_AARCH64_DLINK2_FLAGS     = DEF(GCC49_AARCH64_DLINK2_FLAGS)
     1280*_GCCNOLTO_AARCH64_DTCPP_FLAGS      = DEF(GCC_DTCPP_FLAGS)
     1281*_GCCNOLTO_AARCH64_PLATFORM_FLAGS   =
     1282*_GCCNOLTO_AARCH64_PP_FLAGS         = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
     1283*_GCCNOLTO_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)
     1284*_GCCNOLTO_AARCH64_VFRPP_FLAGS      = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
     1285*_GCCNOLTO_AARCH64_CC_XIPFLAGS      = DEF(GCC49_AARCH64_CC_XIPFLAGS)
     1286
     1287  DEBUG_GCCNOLTO_AARCH64_CC_FLAGS     = DEF(GCC49_AARCH64_CC_FLAGS) -O0
     1288  DEBUG_GCCNOLTO_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)
     1289  DEBUG_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
     1290
     1291RELEASE_GCCNOLTO_AARCH64_CC_FLAGS     = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
     1292RELEASE_GCCNOLTO_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)
     1293RELEASE_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
     1294
     1295  NOOPT_GCCNOLTO_AARCH64_CC_FLAGS     = DEF(GCC49_AARCH64_CC_FLAGS) -O0
     1296  NOOPT_GCCNOLTO_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS) -O0
     1297  NOOPT_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
     1298
     1299####################################################################################
     1300#
    22651301# GCC 5 - This configuration is used to compile under Linux to produce
    22661302#         PE/COFF binaries using GCC 5
     
    24011437*_GCC5_AARCH64_PLATFORM_FLAGS    =
    24021438*_GCC5_AARCH64_PP_FLAGS          = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
    2403 *_GCC5_AARCH64_RC_FLAGS          = DEF(GCC_AARCH64_RC_FLAGS)
     1439*_GCC5_AARCH64_RC_FLAGS          = DEF(GCC_AARCH64_RC_FLAGS) DEF(GCC_AARCH64_RC_BTI_FLAGS)
    24041440*_GCC5_AARCH64_VFRPP_FLAGS       = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
    24051441*_GCC5_AARCH64_CC_XIPFLAGS       = DEF(GCC5_AARCH64_CC_XIPFLAGS)
     
    24801516####################################################################################
    24811517#
    2482 # CLANG35   - This configuration is used to compile under Linux to produce
    2483 #             PE/COFF binaries using the clang compiler and assembler (v3.5 and up)
    2484 #             and GNU linker
    2485 #
    2486 ####################################################################################
    2487 *_CLANG35_*_*_FAMILY             = GCC
    2488 
    2489 *_CLANG35_*_MAKE_PATH            = make
    2490 *_CLANG35_*_*_DLL                = ENV(CLANG35_DLL)
    2491 *_CLANG35_*_ASL_PATH             = DEF(UNIX_IASL_BIN)
    2492 
    2493 *_CLANG35_*_PP_FLAGS             = DEF(GCC_PP_FLAGS)
    2494 *_CLANG35_*_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
    2495 *_CLANG35_*_APP_FLAGS            =
    2496 *_CLANG35_*_ASL_FLAGS            = DEF(IASL_FLAGS)
    2497 *_CLANG35_*_ASL_OUTFLAGS         = DEF(IASL_OUTFLAGS)
    2498 *_CLANG35_*_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
    2499 
    2500 *_CLANG35_*_CC_PATH              = ENV(CLANG35_BIN)clang
    2501 *_CLANG35_*_ASM_PATH             = ENV(CLANG35_BIN)clang
    2502 *_CLANG35_*_PP_PATH              = ENV(CLANG35_BIN)clang
    2503 *_CLANG35_*_VFRPP_PATH           = ENV(CLANG35_BIN)clang
    2504 *_CLANG35_*_ASLCC_PATH           = ENV(CLANG35_BIN)clang
    2505 *_CLANG35_*_ASLPP_PATH           = ENV(CLANG35_BIN)clang
    2506 *_CLANG35_*_DLINK_PATH           = ENV(CLANG35_BIN)clang
    2507 *_CLANG35_*_ASLDLINK_PATH        = ENV(CLANG35_BIN)clang
    2508 *_CLANG35_*_DEPS_FLAGS           = DEF(GCC_DEPS_FLAGS)
    2509 
    2510 DEFINE CLANG35_ARM_TARGET        = -target arm-linux-gnueabi
    2511 DEFINE CLANG35_AARCH64_TARGET    = -target aarch64-linux-gnu
    2512 
    2513 DEFINE CLANG35_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable
    2514 DEFINE CLANG35_ARM_CC_FLAGS      = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG35_ARM_TARGET) DEF(CLANG35_WARNING_OVERRIDES)
    2515 DEFINE CLANG35_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG35_AARCH64_TARGET) -mcmodel=small DEF(CLANG35_WARNING_OVERRIDES)
    2516 
    2517 ##################
    2518 # CLANG35 ARM definitions
    2519 ##################
    2520 *_CLANG35_ARM_SLINK_PATH         = ENV(CLANG35_ARM_PREFIX)ar
    2521 *_CLANG35_ARM_RC_PATH            = ENV(CLANG35_ARM_PREFIX)objcopy
    2522 
    2523 *_CLANG35_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS)
    2524 *_CLANG35_ARM_ASLDLINK_FLAGS     = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
    2525 *_CLANG35_ARM_ASM_FLAGS          = DEF(GCC_ASM_FLAGS) DEF(CLANG35_ARM_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
    2526 *_CLANG35_ARM_DLINK_FLAGS        = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
    2527 *_CLANG35_ARM_DLINK2_FLAGS       = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
    2528 *_CLANG35_ARM_PLATFORM_FLAGS     = -march=armv7-a -mkernel -Qunused-arguments
    2529 *_CLANG35_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS) DEF(CLANG35_ARM_TARGET) $(PLATFORM_FLAGS)
    2530 *_CLANG35_ARM_RC_FLAGS           = DEF(GCC_ARM_RC_FLAGS)
    2531 *_CLANG35_ARM_VFRPP_FLAGS        = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_ARM_TARGET) $(PLATFORM_FLAGS)
    2532 *_CLANG35_ARM_ASLPP_FLAGS        = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_ARM_TARGET)
    2533 *_CLANG35_ARM_CC_XIPFLAGS        = DEF(GCC_ARM_CC_XIPFLAGS)
    2534 
    2535   DEBUG_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O1
    2536 RELEASE_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -Oz
    2537   NOOPT_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O0
    2538 
    2539 ##################
    2540 # CLANG35 AARCH64 definitions
    2541 ##################
    2542 *_CLANG35_AARCH64_SLINK_PATH     = ENV(CLANG35_AARCH64_PREFIX)ar
    2543 *_CLANG35_AARCH64_RC_PATH        = ENV(CLANG35_AARCH64_PREFIX)objcopy
    2544 
    2545 *_CLANG35_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS)
    2546 *_CLANG35_AARCH64_ASLDLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
    2547 *_CLANG35_AARCH64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
    2548 *_CLANG35_AARCH64_DLINK_FLAGS    = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
    2549 *_CLANG35_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
    2550 *_CLANG35_AARCH64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
    2551 *_CLANG35_AARCH64_PLATFORM_FLAGS =
    2552 *_CLANG35_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(PLATFORM_FLAGS)
    2553 *_CLANG35_AARCH64_RC_FLAGS       = DEF(GCC_AARCH64_RC_FLAGS)
    2554 *_CLANG35_AARCH64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(PLATFORM_FLAGS)
    2555 *_CLANG35_AARCH64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_AARCH64_TARGET)
    2556 *_CLANG35_AARCH64_CC_XIPFLAGS    = DEF(GCC_AARCH64_CC_XIPFLAGS)
    2557 
    2558   DEBUG_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O1
    2559 RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -Oz
    2560   NOOPT_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
    2561 
    2562 ####################################################################################
    2563 #
    2564 # Clang 3.8 - This configuration is used to compile under Linux to produce
    2565 #  PE/COFF binaries using LLVM/Clang 3.8 with Link Time Optimization enabled
    2566 #
    2567 ####################################################################################
    2568 *_CLANG38_*_*_FAMILY                = GCC
    2569 *_CLANG38_*_MAKE_PATH               = make
    2570 *_CLANG38_*_*_DLL                   = ENV(CLANG38_DLL)
    2571 *_CLANG38_*_ASL_PATH                = DEF(UNIX_IASL_BIN)
    2572 
    2573 *_CLANG38_*_APP_FLAGS               =
    2574 *_CLANG38_*_ASL_FLAGS               = DEF(IASL_FLAGS)
    2575 *_CLANG38_*_ASL_OUTFLAGS            = DEF(IASL_OUTFLAGS)
    2576 *_CLANG38_*_DEPS_FLAGS              = DEF(GCC_DEPS_FLAGS)
    2577 DEFINE CLANG38_IA32_PREFIX          = ENV(CLANG38_BIN)
    2578 DEFINE CLANG38_X64_PREFIX           = ENV(CLANG38_BIN)
    2579 
    2580 DEFINE CLANG38_IA32_TARGET          = -target i686-pc-linux-gnu
    2581 DEFINE CLANG38_X64_TARGET           = -target x86_64-pc-linux-gnu
    2582 
    2583 DEFINE CLANG38_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access
    2584 DEFINE CLANG38_ALL_CC_FLAGS         = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float  -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
    2585 
    2586 ###########################
    2587 # CLANG38 IA32 definitions
    2588 ###########################
    2589 *_CLANG38_IA32_OBJCOPY_PATH         = objcopy
    2590 *_CLANG38_IA32_CC_PATH              = DEF(CLANG38_IA32_PREFIX)clang
    2591 *_CLANG38_IA32_SLINK_PATH           = DEF(CLANG38_IA32_PREFIX)llvm-ar
    2592 *_CLANG38_IA32_DLINK_PATH           = DEF(CLANG38_IA32_PREFIX)clang
    2593 *_CLANG38_IA32_ASLDLINK_PATH        = DEF(CLANG38_IA32_PREFIX)clang
    2594 *_CLANG38_IA32_ASM_PATH             = DEF(CLANG38_IA32_PREFIX)clang
    2595 *_CLANG38_IA32_PP_PATH              = DEF(CLANG38_IA32_PREFIX)clang
    2596 *_CLANG38_IA32_VFRPP_PATH           = DEF(CLANG38_IA32_PREFIX)clang
    2597 *_CLANG38_IA32_ASLCC_PATH           = DEF(CLANG38_IA32_PREFIX)clang
    2598 *_CLANG38_IA32_ASLPP_PATH           = DEF(CLANG38_IA32_PREFIX)clang
    2599 *_CLANG38_IA32_RC_PATH              = objcopy
    2600 
    2601 *_CLANG38_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)
    2602 *_CLANG38_IA32_ASLDLINK_FLAGS       = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
    2603 *_CLANG38_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)
    2604 *_CLANG38_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
    2605 *_CLANG38_IA32_OBJCOPY_FLAGS        =
    2606 *_CLANG38_IA32_NASM_FLAGS           = -f elf32
    2607 *_CLANG38_IA32_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET)
    2608 *_CLANG38_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)
    2609 *_CLANG38_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)
    2610 
    2611 DEBUG_CLANG38_IA32_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double
    2612 DEBUG_CLANG38_IA32_DLINK_FLAGS      = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
    2613 DEBUG_CLANG38_IA32_DLINK2_FLAGS     = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
    2614 
    2615 RELEASE_CLANG38_IA32_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -malign-double
    2616 RELEASE_CLANG38_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
    2617 RELEASE_CLANG38_IA32_DLINK2_FLAGS   = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
    2618 
    2619 NOOPT_CLANG38_IA32_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double
    2620 NOOPT_CLANG38_IA32_DLINK_FLAGS      = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386
    2621 NOOPT_CLANG38_IA32_DLINK2_FLAGS     = DEF(GCC5_IA32_DLINK2_FLAGS) -O0
    2622 
    2623 ##########################
    2624 # CLANG38 X64 definitions
    2625 ##########################
    2626 *_CLANG38_X64_OBJCOPY_PATH         = objcopy
    2627 *_CLANG38_X64_CC_PATH              = DEF(CLANG38_X64_PREFIX)clang
    2628 *_CLANG38_X64_SLINK_PATH           = DEF(CLANG38_X64_PREFIX)llvm-ar
    2629 *_CLANG38_X64_DLINK_PATH           = DEF(CLANG38_X64_PREFIX)clang
    2630 *_CLANG38_X64_ASLDLINK_PATH        = DEF(CLANG38_X64_PREFIX)clang
    2631 *_CLANG38_X64_ASM_PATH             = DEF(CLANG38_X64_PREFIX)clang
    2632 *_CLANG38_X64_PP_PATH              = DEF(CLANG38_X64_PREFIX)clang
    2633 *_CLANG38_X64_VFRPP_PATH           = DEF(CLANG38_X64_PREFIX)clang
    2634 *_CLANG38_X64_ASLCC_PATH           = DEF(CLANG38_X64_PREFIX)clang
    2635 *_CLANG38_X64_ASLPP_PATH           = DEF(CLANG38_X64_PREFIX)clang
    2636 *_CLANG38_X64_RC_PATH              = objcopy
    2637 
    2638 *_CLANG38_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)
    2639 *_CLANG38_X64_ASLDLINK_FLAGS       = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
    2640 *_CLANG38_X64_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)
    2641 *_CLANG38_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
    2642 *_CLANG38_X64_OBJCOPY_FLAGS        =
    2643 *_CLANG38_X64_NASM_FLAGS           = -f elf64
    2644 *_CLANG38_X64_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET)
    2645 *_CLANG38_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)
    2646 *_CLANG38_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)
    2647 
    2648 DEBUG_CLANG38_X64_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g
    2649 DEBUG_CLANG38_X64_DLINK_FLAGS      = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
    2650 DEBUG_CLANG38_X64_DLINK2_FLAGS     = DEF(GCC5_X64_DLINK2_FLAGS) -O3
    2651 
    2652 RELEASE_CLANG38_X64_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET)
    2653 RELEASE_CLANG38_X64_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
    2654 RELEASE_CLANG38_X64_DLINK2_FLAGS   = DEF(GCC5_X64_DLINK2_FLAGS) -O3
    2655 
    2656 NOOPT_CLANG38_X64_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANG38_X64_TARGET) -g
    2657 NOOPT_CLANG38_X64_DLINK_FLAGS      = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
    2658 NOOPT_CLANG38_X64_DLINK2_FLAGS     = DEF(GCC5_X64_DLINK2_FLAGS) -O0
    2659 
    2660 ##################
    2661 # CLANG38 ARM definitions
    2662 ##################
    2663 DEFINE CLANG38_ARM_TARGET        = -target arm-linux-gnueabi
    2664 DEFINE CLANG38_ARM_CC_FLAGS      = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG38_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno-movt
    2665 DEFINE CLANG38_ARM_DLINK_FLAGS   = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
    2666 
    2667 *_CLANG38_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS)
    2668 *_CLANG38_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS)
    2669 *_CLANG38_ARM_APP_FLAGS          =
    2670 *_CLANG38_ARM_ASL_FLAGS          = DEF(IASL_FLAGS)
    2671 *_CLANG38_ARM_ASL_OUTFLAGS       = DEF(IASL_OUTFLAGS)
    2672 *_CLANG38_ARM_DTCPP_FLAGS        = DEF(GCC_DTCPP_FLAGS)
    2673 
    2674 *_CLANG38_ARM_CC_PATH            = ENV(CLANG38_BIN)clang
    2675 *_CLANG38_ARM_ASM_PATH           = ENV(CLANG38_BIN)clang
    2676 *_CLANG38_ARM_PP_PATH            = ENV(CLANG38_BIN)clang
    2677 *_CLANG38_ARM_VFRPP_PATH         = ENV(CLANG38_BIN)clang
    2678 *_CLANG38_ARM_ASLCC_PATH         = ENV(CLANG38_BIN)clang
    2679 *_CLANG38_ARM_ASLPP_PATH         = ENV(CLANG38_BIN)clang
    2680 *_CLANG38_ARM_DLINK_PATH         = ENV(CLANG38_BIN)clang
    2681 *_CLANG38_ARM_ASLDLINK_PATH      = ENV(CLANG38_BIN)clang
    2682 
    2683 *_CLANG38_ARM_SLINK_PATH         = ENV(CLANG38_BIN)llvm-ar
    2684 *_CLANG38_ARM_RC_PATH            = ENV(CLANG38_ARM_PREFIX)objcopy
    2685 
    2686 *_CLANG38_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS) -fno-lto
    2687 *_CLANG38_ARM_ASLDLINK_FLAGS     = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
    2688 *_CLANG38_ARM_ASM_FLAGS          = DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
    2689 *_CLANG38_ARM_DLINK2_FLAGS       = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
    2690 *_CLANG38_ARM_PLATFORM_FLAGS     = -march=armv7-a
    2691 *_CLANG38_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_TARGET) $(PLATFORM_FLAGS)
    2692 *_CLANG38_ARM_RC_FLAGS           = DEF(GCC_ARM_RC_FLAGS)
    2693 *_CLANG38_ARM_VFRPP_FLAGS        = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_ARM_TARGET) $(PLATFORM_FLAGS)
    2694 *_CLANG38_ARM_ASLPP_FLAGS        = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_ARM_TARGET)
    2695 *_CLANG38_ARM_CC_XIPFLAGS        = DEF(GCC_ARM_CC_XIPFLAGS)
    2696 
    2697   DEBUG_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
    2698   DEBUG_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
    2699   NOOPT_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O0
    2700   NOOPT_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS)
    2701 RELEASE_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
    2702 RELEASE_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
    2703 
    2704 ##################
    2705 # CLANG38 AARCH64 definitions
    2706 ##################
    2707 DEFINE CLANG38_AARCH64_TARGET    = -target aarch64-linux-gnu
    2708 DEFINE CLANG38_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES)
    2709 DEFINE CLANG38_AARCH64_DLINK_FLAGS  = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
    2710 
    2711 *_CLANG38_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS)
    2712 *_CLANG38_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS)
    2713 *_CLANG38_AARCH64_APP_FLAGS      =
    2714 *_CLANG38_AARCH64_ASL_FLAGS      = DEF(IASL_FLAGS)
    2715 *_CLANG38_AARCH64_ASL_OUTFLAGS   = DEF(IASL_OUTFLAGS)
    2716 *_CLANG38_AARCH64_DTCPP_FLAGS    = DEF(GCC_DTCPP_FLAGS)
    2717 
    2718 *_CLANG38_AARCH64_CC_PATH        = ENV(CLANG38_BIN)clang
    2719 *_CLANG38_AARCH64_ASM_PATH       = ENV(CLANG38_BIN)clang
    2720 *_CLANG38_AARCH64_PP_PATH        = ENV(CLANG38_BIN)clang
    2721 *_CLANG38_AARCH64_VFRPP_PATH     = ENV(CLANG38_BIN)clang
    2722 *_CLANG38_AARCH64_ASLCC_PATH     = ENV(CLANG38_BIN)clang
    2723 *_CLANG38_AARCH64_ASLPP_PATH     = ENV(CLANG38_BIN)clang
    2724 *_CLANG38_AARCH64_DLINK_PATH     = ENV(CLANG38_BIN)clang
    2725 *_CLANG38_AARCH64_ASLDLINK_PATH  = ENV(CLANG38_BIN)clang
    2726 
    2727 *_CLANG38_AARCH64_SLINK_PATH     = ENV(CLANG38_BIN)llvm-ar
    2728 *_CLANG38_AARCH64_RC_PATH        = ENV(CLANG38_AARCH64_PREFIX)objcopy
    2729 
    2730 *_CLANG38_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS) -fno-lto
    2731 *_CLANG38_AARCH64_ASLDLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
    2732 *_CLANG38_AARCH64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
    2733 *_CLANG38_AARCH64_DLINK_FLAGS    = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
    2734 *_CLANG38_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
    2735 *_CLANG38_AARCH64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
    2736 *_CLANG38_AARCH64_PLATFORM_FLAGS =
    2737 *_CLANG38_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(PLATFORM_FLAGS)
    2738 *_CLANG38_AARCH64_RC_FLAGS       = DEF(GCC_AARCH64_RC_FLAGS)
    2739 *_CLANG38_AARCH64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(PLATFORM_FLAGS)
    2740 *_CLANG38_AARCH64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AARCH64_TARGET)
    2741 *_CLANG38_AARCH64_CC_XIPFLAGS    = DEF(GCC_AARCH64_CC_XIPFLAGS)
    2742 
    2743   DEBUG_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
    2744   DEBUG_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
    2745   NOOPT_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
    2746   NOOPT_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS)
    2747 RELEASE_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
    2748 RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
     1518# GCC - This configuration is used to compile under Linux to produce
     1519#       PE/COFF binaries using GCC 5 or newer
     1520#
     1521####################################################################################
     1522*_GCC_*_*_FAMILY                = GCC
     1523
     1524*_GCC_*_MAKE_PATH               = DEF(GCC_HOST_PREFIX)make
     1525*_GCC_*_*_DLL                   = ENV(GCC_DLL)
     1526*_GCC_*_ASL_PATH                = DEF(UNIX_IASL_BIN)
     1527
     1528*_GCC_*_PP_FLAGS                = DEF(GCC_PP_FLAGS)
     1529*_GCC_*_ASLPP_FLAGS             = DEF(GCC_ASLPP_FLAGS)
     1530*_GCC_*_ASLCC_FLAGS             = DEF(GCC_ASLCC_FLAGS)
     1531*_GCC_*_VFRPP_FLAGS             = DEF(GCC_VFRPP_FLAGS)
     1532*_GCC_*_APP_FLAGS               =
     1533*_GCC_*_ASL_FLAGS               = DEF(IASL_FLAGS)
     1534*_GCC_*_ASL_OUTFLAGS            = DEF(IASL_OUTFLAGS)
     1535*_GCC_*_DEPS_FLAGS                   = DEF(GCC_DEPS_FLAGS)
     1536
     1537##################
     1538# GCC IA32 definitions
     1539##################
     1540*_GCC_IA32_OBJCOPY_PATH         = DEF(GCC_IA32_PREFIX)objcopy
     1541*_GCC_IA32_CC_PATH              = DEF(GCC_IA32_PREFIX)gcc
     1542*_GCC_IA32_SLINK_PATH           = DEF(GCC_IA32_PREFIX)gcc-ar
     1543*_GCC_IA32_DLINK_PATH           = DEF(GCC_IA32_PREFIX)gcc
     1544*_GCC_IA32_ASLDLINK_PATH        = DEF(GCC_IA32_PREFIX)gcc
     1545*_GCC_IA32_ASM_PATH             = DEF(GCC_IA32_PREFIX)gcc
     1546*_GCC_IA32_PP_PATH              = DEF(GCC_IA32_PREFIX)gcc
     1547*_GCC_IA32_VFRPP_PATH           = DEF(GCC_IA32_PREFIX)gcc
     1548*_GCC_IA32_ASLCC_PATH           = DEF(GCC_IA32_PREFIX)gcc
     1549*_GCC_IA32_ASLPP_PATH           = DEF(GCC_IA32_PREFIX)gcc
     1550*_GCC_IA32_RC_PATH              = DEF(GCC_IA32_PREFIX)objcopy
     1551
     1552*_GCC_IA32_ASLCC_FLAGS          = DEF(GCC5_ASLCC_FLAGS) -m32
     1553*_GCC_IA32_ASLDLINK_FLAGS       = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie
     1554*_GCC_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 -march=i386
     1555*_GCC_IA32_DLINK2_FLAGS         = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie
     1556*_GCC_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
     1557*_GCC_IA32_OBJCOPY_FLAGS        =
     1558*_GCC_IA32_NASM_FLAGS           = -f elf32
     1559
     1560  DEBUG_GCC_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -flto
     1561  DEBUG_GCC_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
     1562
     1563RELEASE_GCC_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
     1564RELEASE_GCC_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
     1565
     1566  NOOPT_GCC_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -O0
     1567  NOOPT_GCC_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0
     1568
     1569##################
     1570# GCC X64 definitions
     1571##################
     1572*_GCC_X64_OBJCOPY_PATH          = DEF(GCC_X64_PREFIX)objcopy
     1573*_GCC_X64_CC_PATH               = DEF(GCC_X64_PREFIX)gcc
     1574*_GCC_X64_SLINK_PATH            = DEF(GCC_X64_PREFIX)gcc-ar
     1575*_GCC_X64_DLINK_PATH            = DEF(GCC_X64_PREFIX)gcc
     1576*_GCC_X64_ASLDLINK_PATH         = DEF(GCC_X64_PREFIX)gcc
     1577*_GCC_X64_ASM_PATH              = DEF(GCC_X64_PREFIX)gcc
     1578*_GCC_X64_PP_PATH               = DEF(GCC_X64_PREFIX)gcc
     1579*_GCC_X64_VFRPP_PATH            = DEF(GCC_X64_PREFIX)gcc
     1580*_GCC_X64_ASLCC_PATH            = DEF(GCC_X64_PREFIX)gcc
     1581*_GCC_X64_ASLPP_PATH            = DEF(GCC_X64_PREFIX)gcc
     1582*_GCC_X64_RC_PATH               = DEF(GCC_X64_PREFIX)objcopy
     1583
     1584*_GCC_X64_ASLCC_FLAGS           = DEF(GCC5_ASLCC_FLAGS) -m64
     1585*_GCC_X64_ASLDLINK_FLAGS        = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
     1586*_GCC_X64_ASM_FLAGS             = DEF(GCC5_ASM_FLAGS) -m64
     1587*_GCC_X64_DLINK2_FLAGS          = DEF(GCC5_X64_DLINK2_FLAGS)
     1588*_GCC_X64_RC_FLAGS              = DEF(GCC_X64_RC_FLAGS)
     1589*_GCC_X64_OBJCOPY_FLAGS         =
     1590*_GCC_X64_NASM_FLAGS            = -f elf64
     1591
     1592  DEBUG_GCC_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO
     1593  DEBUG_GCC_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
     1594
     1595RELEASE_GCC_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Wno-unused-but-set-variable -Wno-unused-const-variable
     1596RELEASE_GCC_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
     1597
     1598  NOOPT_GCC_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -O0
     1599  NOOPT_GCC_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -O0
     1600
     1601##################
     1602# GCC ARM definitions
     1603##################
     1604*_GCC_ARM_CC_PATH               = ENV(GCC_ARM_PREFIX)gcc
     1605*_GCC_ARM_SLINK_PATH            = ENV(GCC_ARM_PREFIX)gcc-ar
     1606*_GCC_ARM_DLINK_PATH            = ENV(GCC_ARM_PREFIX)gcc
     1607*_GCC_ARM_ASLDLINK_PATH         = ENV(GCC_ARM_PREFIX)gcc
     1608*_GCC_ARM_ASM_PATH              = ENV(GCC_ARM_PREFIX)gcc
     1609*_GCC_ARM_PP_PATH               = ENV(GCC_ARM_PREFIX)gcc
     1610*_GCC_ARM_VFRPP_PATH            = ENV(GCC_ARM_PREFIX)gcc
     1611*_GCC_ARM_ASLCC_PATH            = ENV(GCC_ARM_PREFIX)gcc
     1612*_GCC_ARM_ASLPP_PATH            = ENV(GCC_ARM_PREFIX)gcc
     1613*_GCC_ARM_RC_PATH               = ENV(GCC_ARM_PREFIX)objcopy
     1614
     1615*_GCC_ARM_ASLCC_FLAGS           = DEF(GCC5_ASLCC_FLAGS)
     1616*_GCC_ARM_ASLDLINK_FLAGS        = DEF(GCC5_ARM_ASLDLINK_FLAGS)
     1617*_GCC_ARM_ASM_FLAGS             = DEF(GCC5_ARM_ASM_FLAGS)
     1618*_GCC_ARM_DLINK2_FLAGS          = DEF(GCC5_ARM_DLINK2_FLAGS)
     1619*_GCC_ARM_DTCPP_FLAGS           = DEF(GCC_DTCPP_FLAGS)
     1620*_GCC_ARM_PLATFORM_FLAGS        = -march=armv7-a -mfloat-abi=soft
     1621*_GCC_ARM_PP_FLAGS              = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
     1622*_GCC_ARM_RC_FLAGS              = DEF(GCC_ARM_RC_FLAGS)
     1623*_GCC_ARM_VFRPP_FLAGS           = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
     1624*_GCC_ARM_CC_XIPFLAGS           = DEF(GCC5_ARM_CC_XIPFLAGS)
     1625
     1626  DEBUG_GCC_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
     1627  DEBUG_GCC_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
     1628
     1629RELEASE_GCC_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
     1630RELEASE_GCC_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
     1631
     1632  NOOPT_GCC_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -O0
     1633  NOOPT_GCC_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -O0
     1634
     1635##################
     1636# GCC AARCH64 definitions
     1637##################
     1638*_GCC_AARCH64_CC_PATH           = ENV(GCC_AARCH64_PREFIX)gcc
     1639*_GCC_AARCH64_SLINK_PATH        = ENV(GCC_AARCH64_PREFIX)gcc-ar
     1640*_GCC_AARCH64_DLINK_PATH        = ENV(GCC_AARCH64_PREFIX)gcc
     1641*_GCC_AARCH64_ASLDLINK_PATH     = ENV(GCC_AARCH64_PREFIX)gcc
     1642*_GCC_AARCH64_ASM_PATH          = ENV(GCC_AARCH64_PREFIX)gcc
     1643*_GCC_AARCH64_PP_PATH           = ENV(GCC_AARCH64_PREFIX)gcc
     1644*_GCC_AARCH64_VFRPP_PATH        = ENV(GCC_AARCH64_PREFIX)gcc
     1645*_GCC_AARCH64_ASLCC_PATH        = ENV(GCC_AARCH64_PREFIX)gcc
     1646*_GCC_AARCH64_ASLPP_PATH        = ENV(GCC_AARCH64_PREFIX)gcc
     1647*_GCC_AARCH64_RC_PATH           = ENV(GCC_AARCH64_PREFIX)objcopy
     1648
     1649*_GCC_AARCH64_ASLCC_FLAGS       = DEF(GCC5_ASLCC_FLAGS)
     1650*_GCC_AARCH64_ASLDLINK_FLAGS    = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)
     1651*_GCC_AARCH64_ASM_FLAGS         = DEF(GCC5_AARCH64_ASM_FLAGS)
     1652*_GCC_AARCH64_DLINK2_FLAGS      = DEF(GCC5_AARCH64_DLINK2_FLAGS)
     1653*_GCC_AARCH64_DTCPP_FLAGS       = DEF(GCC_DTCPP_FLAGS)
     1654*_GCC_AARCH64_PLATFORM_FLAGS    =
     1655*_GCC_AARCH64_PP_FLAGS          = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
     1656*_GCC_AARCH64_RC_FLAGS          = DEF(GCC_AARCH64_RC_FLAGS) DEF(GCC_AARCH64_RC_BTI_FLAGS)
     1657*_GCC_AARCH64_VFRPP_FLAGS       = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
     1658*_GCC_AARCH64_CC_XIPFLAGS       = DEF(GCC5_AARCH64_CC_XIPFLAGS)
     1659
     1660  DEBUG_GCC_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
     1661  DEBUG_GCC_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
     1662  DEBUG_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
     1663
     1664RELEASE_GCC_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
     1665RELEASE_GCC_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
     1666RELEASE_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
     1667
     1668  NOOPT_GCC_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -O0
     1669  NOOPT_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0
     1670  NOOPT_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
     1671
     1672####################################################################################
     1673#
     1674# GCC RISC-V This configuration is used to compile under Linux to produce
     1675#             PE/COFF binaries using GCC RISC-V tool chain
     1676#
     1677####################################################################################
     1678
     1679##################
     1680# GCC RISCV64 definitions
     1681##################
     1682*_GCC_RISCV64_OBJCOPY_PATH         = ENV(GCC_RISCV64_PREFIX)objcopy
     1683*_GCC_RISCV64_CC_PATH              = ENV(GCC_RISCV64_PREFIX)gcc
     1684*_GCC_RISCV64_SLINK_PATH           = ENV(GCC_RISCV64_PREFIX)gcc-ar
     1685*_GCC_RISCV64_DLINK_PATH           = ENV(GCC_RISCV64_PREFIX)gcc
     1686*_GCC_RISCV64_ASLDLINK_PATH        = ENV(GCC_RISCV64_PREFIX)gcc
     1687*_GCC_RISCV64_ASM_PATH             = ENV(GCC_RISCV64_PREFIX)gcc
     1688*_GCC_RISCV64_PP_PATH              = ENV(GCC_RISCV64_PREFIX)gcc
     1689*_GCC_RISCV64_VFRPP_PATH           = ENV(GCC_RISCV64_PREFIX)gcc
     1690*_GCC_RISCV64_ASLCC_PATH           = ENV(GCC_RISCV64_PREFIX)gcc
     1691*_GCC_RISCV64_ASLPP_PATH           = ENV(GCC_RISCV64_PREFIX)gcc
     1692*_GCC_RISCV64_RC_PATH              = ENV(GCC_RISCV64_PREFIX)objcopy
     1693
     1694*_GCC_RISCV64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
     1695*_GCC_RISCV64_ASLDLINK_FLAGS       = DEF(GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS)
     1696*_GCC_RISCV64_ASM_FLAGS            = DEF(GCC5_RISCV64_ASM_FLAGS)
     1697*_GCC_RISCV64_CC_FLAGS             = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps
     1698*_GCC_RISCV64_DLINK_FLAGS          = DEF(GCC5_RISCV64_DLINK_FLAGS)
     1699*_GCC_RISCV64_DLINK2_FLAGS         = DEF(GCC5_RISCV64_DLINK2_FLAGS)
     1700*_GCC_RISCV64_RC_FLAGS             = DEF(GCC_RISCV64_RC_FLAGS)
     1701*_GCC_RISCV64_OBJCOPY_FLAGS        =
     1702*_GCC_RISCV64_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
     1703*_GCC_RISCV64_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(GCC5_RISCV_OPENSBI_TYPES)
     1704
     1705##################
     1706# GCC LOONGARCH64 definitions
     1707##################
     1708*_GCC_LOONGARCH64_OBJCOPY_PATH         = ENV(GCC_LOONGARCH64_PREFIX)objcopy
     1709*_GCC_LOONGARCH64_CC_PATH              = ENV(GCC_LOONGARCH64_PREFIX)gcc
     1710*_GCC_LOONGARCH64_SLINK_PATH           = ENV(GCC_LOONGARCH64_PREFIX)gcc-ar
     1711*_GCC_LOONGARCH64_DLINK_PATH           = ENV(GCC_LOONGARCH64_PREFIX)gcc
     1712*_GCC_LOONGARCH64_ASLDLINK_PATH        = ENV(GCC_LOONGARCH64_PREFIX)gcc
     1713*_GCC_LOONGARCH64_ASM_PATH             = ENV(GCC_LOONGARCH64_PREFIX)gcc
     1714*_GCC_LOONGARCH64_PP_PATH              = ENV(GCC_LOONGARCH64_PREFIX)gcc
     1715*_GCC_LOONGARCH64_VFRPP_PATH           = ENV(GCC_LOONGARCH64_PREFIX)gcc
     1716*_GCC_LOONGARCH64_ASLCC_PATH           = ENV(GCC_LOONGARCH64_PREFIX)gcc
     1717*_GCC_LOONGARCH64_ASLPP_PATH           = ENV(GCC_LOONGARCH64_PREFIX)gcc
     1718*_GCC_LOONGARCH64_RC_PATH              = ENV(GCC_LOONGARCH64_PREFIX)objcopy
     1719
     1720*_GCC_LOONGARCH64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
     1721*_GCC_LOONGARCH64_ASLDLINK_FLAGS       = DEF(GCC5_LOONGARCH64_ASLDLINK_FLAGS)
     1722*_GCC_LOONGARCH64_ASM_FLAGS            = DEF(GCC5_LOONGARCH64_ASM_FLAGS)
     1723*_GCC_LOONGARCH64_DLINK_FLAGS          = DEF(GCC5_LOONGARCH64_DLINK_FLAGS)
     1724*_GCC_LOONGARCH64_DLINK2_FLAGS         = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS)
     1725*_GCC_LOONGARCH64_RC_FLAGS             = DEF(GCC_LOONGARCH64_RC_FLAGS)
     1726*_GCC_LOONGARCH64_OBJCOPY_FLAGS        =
     1727*_GCC_LOONGARCH64_NASM_FLAGS           = -f elf32
     1728*_GCC_LOONGARCH64_PP_FLAGS             = DEF(GCC5_LOONGARCH64_PP_FLAGS)
     1729
     1730DEBUG_GCC_LOONGARCH64_CC_FLAGS         = DEF(GCC5_LOONGARCH64_CC_FLAGS)
     1731RELEASE_GCC_LOONGARCH64_CC_FLAGS       = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-variable
    27491732
    27501733####################################################################################
     
    27721755DEFINE CLANGPDB_X64_TARGET           = -target x86_64-unknown-windows-gnu
    27731756
    2774 DEFINE CLANGPDB_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-microsoft-enum-forward-reference
     1757DEFINE 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-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access -Wno-microsoft-enum-forward-reference
    27751758DEFINE 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
    27761759
     
    28531836####################################################################################
    28541837*_CLANGDWARF_*_*_FAMILY             = GCC
    2855 *_CLANGDWARF_*_*_BUILDRULEFAMILY    = CLANGGCC
     1838
    28561839*_CLANGDWARF_*_MAKE_PATH            = ENV(CLANG_HOST_BIN)make
    28571840*_CLANGDWARF_*_*_DLL                = ENV(CLANGDWARF_DLL)
     
    28701853DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON     = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/ClangBase.lds
    28711854DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
    2872 DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS    = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
     1855DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS    = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
    28731856DEFINE CLANGDWARF_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
    28741857DEFINE CLANGDWARF_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
     1858
     1859DEFINE CLANGDWARF_IA32_TARGET             = -target i686-pc-linux-gnu
     1860DEFINE CLANGDWARF_X64_TARGET              = -target x86_64-pc-linux-gnu
     1861
     1862DEFINE CLANGDWARF_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access -Wno-unneeded-internal-declaration
     1863DEFINE CLANGDWARF_ALL_CC_FLAGS         = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_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
    28751864
    28761865###########################
     
    28861875*_CLANGDWARF_IA32_ASLCC_PATH           = DEF(CLANGDWARF_IA32_PREFIX)clang
    28871876*_CLANGDWARF_IA32_ASLPP_PATH           = DEF(CLANGDWARF_IA32_PREFIX)clang
    2888 *_CLANGDWARF_IA32_RC_PATH              = DEF(CLANGDWARF_IA32_PREFIX)llvm-rc
    2889 
    2890 *_CLANGDWARF_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)
    2891 *_CLANGDWARF_IA32_ASLDLINK_FLAGS       = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld
    2892 *_CLANGDWARF_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)
     1877*_CLANGDWARF_IA32_RC_PATH              = DEF(CLANGDWARF_IA32_PREFIX)llvm-objcopy
     1878
     1879*_CLANGDWARF_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANGDWARF_IA32_TARGET)
     1880*_CLANGDWARF_IA32_ASLDLINK_FLAGS       = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld -no-pie
     1881*_CLANGDWARF_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANGDWARF_IA32_TARGET)
    28931882*_CLANGDWARF_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
    28941883*_CLANGDWARF_IA32_OBJCOPY_FLAGS        =
    28951884*_CLANGDWARF_IA32_NASM_FLAGS           = -f elf32
    2896 *_CLANGDWARF_IA32_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET)
    2897 *_CLANGDWARF_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)
    2898 *_CLANGDWARF_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)
    2899 
    2900 DEBUG_CLANGDWARF_IA32_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double
     1885*_CLANGDWARF_IA32_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
     1886*_CLANGDWARF_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
     1887*_CLANGDWARF_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
     1888
     1889DEBUG_CLANGDWARF_IA32_CC_FLAGS         = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double
    29011890DEBUG_CLANGDWARF_IA32_DLINK_FLAGS      = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
    2902 DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS     = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld
    2903 
    2904 RELEASE_CLANGDWARF_IA32_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -malign-double
     1891DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS     = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -no-pie
     1892
     1893RELEASE_CLANGDWARF_IA32_CC_FLAGS       = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -malign-double
    29051894RELEASE_CLANGDWARF_IA32_DLINK_FLAGS    = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
    2906 RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS   = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld
    2907 
    2908 NOOPT_CLANGDWARF_IA32_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double
     1895RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS   = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -no-pie
     1896
     1897NOOPT_CLANGDWARF_IA32_CC_FLAGS         = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -O0 -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double
    29091898NOOPT_CLANGDWARF_IA32_DLINK_FLAGS      = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
    2910 NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS     = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld
     1899NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS     = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld -no-pie
    29111900
    29121901##########################
     
    29221911*_CLANGDWARF_X64_ASLCC_PATH           = DEF(CLANGDWARF_X64_PREFIX)clang
    29231912*_CLANGDWARF_X64_ASLPP_PATH           = DEF(CLANGDWARF_X64_PREFIX)clang
    2924 *_CLANGDWARF_X64_RC_PATH              = DEF(CLANGDWARF_X64_PREFIX)llvm-rc
    2925 
    2926 *_CLANGDWARF_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)
     1913*_CLANGDWARF_X64_RC_PATH              = DEF(CLANGDWARF_X64_PREFIX)llvm-objcopy
     1914
     1915*_CLANGDWARF_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANGDWARF_X64_TARGET)
    29271916*_CLANGDWARF_X64_ASLDLINK_FLAGS       = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -fuse-ld=lld
    2928 *_CLANGDWARF_X64_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)
     1917*_CLANGDWARF_X64_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANGDWARF_X64_TARGET)
    29291918*_CLANGDWARF_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
    29301919*_CLANGDWARF_X64_OBJCOPY_FLAGS        =
    29311920*_CLANGDWARF_X64_NASM_FLAGS           = -f elf64
    2932 *_CLANGDWARF_X64_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET)
    2933 *_CLANGDWARF_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)
    2934 *_CLANGDWARF_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)
    2935 
    2936 DEBUG_CLANGDWARF_X64_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g
     1921*_CLANGDWARF_X64_PP_FLAGS             = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
     1922*_CLANGDWARF_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
     1923*_CLANGDWARF_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
     1924
     1925DEBUG_CLANGDWARF_X64_CC_FLAGS         = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -fdirect-access-external-data -Oz -flto DEF(CLANGDWARF_X64_TARGET) -g
    29371926DEBUG_CLANGDWARF_X64_DLINK_FLAGS      = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
    29381927DEBUG_CLANGDWARF_X64_DLINK2_FLAGS     = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
    29391928
    2940 RELEASE_CLANGDWARF_X64_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET)
     1929RELEASE_CLANGDWARF_X64_CC_FLAGS       = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -fdirect-access-external-data -Oz -flto DEF(CLANGDWARF_X64_TARGET)
    29411930RELEASE_CLANGDWARF_X64_DLINK_FLAGS    = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
    29421931RELEASE_CLANGDWARF_X64_DLINK2_FLAGS   = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
    29431932
    2944 NOOPT_CLANGDWARF_X64_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANG38_X64_TARGET) -g
     1933NOOPT_CLANGDWARF_X64_CC_FLAGS         = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -fdirect-access-external-data -O0 DEF(CLANGDWARF_X64_TARGET) -g
    29451934NOOPT_CLANGDWARF_X64_DLINK_FLAGS      = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
    29461935NOOPT_CLANGDWARF_X64_DLINK2_FLAGS     = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O0 -fuse-ld=lld
     1936
     1937##################
     1938# CLANGDWARF ARM definitions
     1939##################
     1940DEFINE CLANGDWARF_ARM_TARGET        = -target arm-linux-gnueabi
     1941DEFINE CLANGDWARF_ARM_CC_FLAGS      = DEF(GCC_ARM_CC_FLAGS) DEF(CLANGDWARF_ARM_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) -mno-movt
     1942DEFINE CLANGDWARF_ARM_DLINK_FLAGS   = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
     1943
     1944*_CLANGDWARF_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS)
     1945*_CLANGDWARF_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS)
     1946*_CLANGDWARF_ARM_APP_FLAGS          =
     1947*_CLANGDWARF_ARM_ASL_FLAGS          = DEF(IASL_FLAGS)
     1948*_CLANGDWARF_ARM_ASL_OUTFLAGS       = DEF(IASL_OUTFLAGS)
     1949*_CLANGDWARF_ARM_DTCPP_FLAGS        = DEF(GCC_DTCPP_FLAGS)
     1950
     1951*_CLANGDWARF_ARM_CC_PATH            = ENV(CLANGDWARF_BIN)clang
     1952*_CLANGDWARF_ARM_ASM_PATH           = ENV(CLANGDWARF_BIN)clang
     1953*_CLANGDWARF_ARM_PP_PATH            = ENV(CLANGDWARF_BIN)clang
     1954*_CLANGDWARF_ARM_VFRPP_PATH         = ENV(CLANGDWARF_BIN)clang
     1955*_CLANGDWARF_ARM_ASLCC_PATH         = ENV(CLANGDWARF_BIN)clang
     1956*_CLANGDWARF_ARM_ASLPP_PATH         = ENV(CLANGDWARF_BIN)clang
     1957*_CLANGDWARF_ARM_DLINK_PATH         = ENV(CLANGDWARF_BIN)clang
     1958*_CLANGDWARF_ARM_ASLDLINK_PATH      = ENV(CLANGDWARF_BIN)clang
     1959
     1960*_CLANGDWARF_ARM_SLINK_PATH         = ENV(CLANGDWARF_BIN)llvm-ar
     1961*_CLANGDWARF_ARM_RC_PATH            = ENV(CLANGDWARF_BIN)llvm-objcopy
     1962
     1963*_CLANGDWARF_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS) -fno-lto
     1964*_CLANGDWARF_ARM_ASLDLINK_FLAGS     = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
     1965*_CLANGDWARF_ARM_ASM_FLAGS          = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
     1966*_CLANGDWARF_ARM_DLINK2_FLAGS       = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
     1967*_CLANGDWARF_ARM_PLATFORM_FLAGS     = -march=armv7-a
     1968*_CLANGDWARF_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS)
     1969*_CLANGDWARF_ARM_RC_FLAGS           = DEF(GCC_ARM_RC_FLAGS)
     1970*_CLANGDWARF_ARM_VFRPP_FLAGS        = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS)
     1971*_CLANGDWARF_ARM_ASLPP_FLAGS        = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_ARM_TARGET)
     1972*_CLANGDWARF_ARM_CC_XIPFLAGS        = DEF(GCC_ARM_CC_XIPFLAGS)
     1973
     1974  DEBUG_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
     1975  DEBUG_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm -Wl,--no-pie,--no-relax
     1976  NOOPT_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O0
     1977  NOOPT_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
     1978RELEASE_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
     1979RELEASE_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm -Wl,--no-pie,--no-relax
     1980
     1981##################
     1982# CLANGDWARF AARCH64 definitions
     1983##################
     1984DEFINE CLANGDWARF_AARCH64_TARGET    = -target aarch64-linux-gnu
     1985DEFINE CLANGDWARF_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) -mcmodel=small DEF(CLANGDWARF_WARNING_OVERRIDES)
     1986DEFINE CLANGDWARF_AARCH64_DLINK_FLAGS  = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
     1987
     1988*_CLANGDWARF_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS)
     1989*_CLANGDWARF_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS)
     1990*_CLANGDWARF_AARCH64_APP_FLAGS      =
     1991*_CLANGDWARF_AARCH64_ASL_FLAGS      = DEF(IASL_FLAGS)
     1992*_CLANGDWARF_AARCH64_ASL_OUTFLAGS   = DEF(IASL_OUTFLAGS)
     1993*_CLANGDWARF_AARCH64_DTCPP_FLAGS    = DEF(GCC_DTCPP_FLAGS)
     1994
     1995*_CLANGDWARF_AARCH64_CC_PATH        = ENV(CLANGDWARF_BIN)clang
     1996*_CLANGDWARF_AARCH64_ASM_PATH       = ENV(CLANGDWARF_BIN)clang
     1997*_CLANGDWARF_AARCH64_PP_PATH        = ENV(CLANGDWARF_BIN)clang
     1998*_CLANGDWARF_AARCH64_VFRPP_PATH     = ENV(CLANGDWARF_BIN)clang
     1999*_CLANGDWARF_AARCH64_ASLCC_PATH     = ENV(CLANGDWARF_BIN)clang
     2000*_CLANGDWARF_AARCH64_ASLPP_PATH     = ENV(CLANGDWARF_BIN)clang
     2001*_CLANGDWARF_AARCH64_DLINK_PATH     = ENV(CLANGDWARF_BIN)clang
     2002*_CLANGDWARF_AARCH64_ASLDLINK_PATH  = ENV(CLANGDWARF_BIN)clang
     2003
     2004*_CLANGDWARF_AARCH64_SLINK_PATH     = ENV(CLANGDWARF_BIN)llvm-ar
     2005*_CLANGDWARF_AARCH64_RC_PATH        = ENV(CLANGDWARF_BIN)llvm-objcopy
     2006
     2007*_CLANGDWARF_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS) -fno-lto
     2008*_CLANGDWARF_AARCH64_ASLDLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
     2009*_CLANGDWARF_AARCH64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
     2010*_CLANGDWARF_AARCH64_DLINK_FLAGS    = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
     2011*_CLANGDWARF_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
     2012*_CLANGDWARF_AARCH64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
     2013*_CLANGDWARF_AARCH64_PLATFORM_FLAGS =
     2014*_CLANGDWARF_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS)
     2015*_CLANGDWARF_AARCH64_RC_FLAGS       = DEF(GCC_AARCH64_RC_FLAGS) DEF(GCC_AARCH64_RC_BTI_FLAGS)
     2016*_CLANGDWARF_AARCH64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS)
     2017*_CLANGDWARF_AARCH64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET)
     2018*_CLANGDWARF_AARCH64_CC_XIPFLAGS    = DEF(GCC_AARCH64_CC_XIPFLAGS)
     2019
     2020  DEBUG_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
     2021  DEBUG_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wl,--no-pie,--no-relax
     2022  NOOPT_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
     2023  NOOPT_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
     2024RELEASE_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
     2025RELEASE_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wl,--no-pie,--no-relax
     2026
     2027##################
     2028# CLANGDWARF RISCV64 definitions
     2029##################
     2030DEFINE CLANGDWARF_RISCV64_TARGET    = -target riscv64-linux-gnu
     2031DEFINE CLANGDWARF_RISCV64_CC_COMMON = 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 -fno-unwind-tables -Wno-unused-but-set-variable -fpack-struct=8 -mcmodel=medany -mabi=lp64 -mno-relax
     2032DEFINE CLANGDWARF_RISCV64_CC_FLAGS  = DEF(CLANGDWARF_RISCV64_CC_COMMON) DEF(CLANGDWARF_RISCV64_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES)
     2033
     2034# This is similar to GCC flags but without -n
     2035DEFINE CLANGDWARF_RISCV64_ALL_DLINK_COMMON  = -nostdlib -Wl,-q,--gc-sections -z common-page-size=0x40
     2036DEFINE CLANGDWARF_RISCV64_ALL_DLINK_FLAGS   = DEF(CLANGDWARF_RISCV64_ALL_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
     2037DEFINE CLANGDWARF_RISCV64_DLINK_FLAGS       = DEF(CLANGDWARF_RISCV64_TARGET) DEF(CLANGDWARF_RISCV64_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax
     2038
     2039*_CLANGDWARF_RISCV64_PP_FLAGS       = DEF(GCC_PP_FLAGS)
     2040*_CLANGDWARF_RISCV64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS)
     2041*_CLANGDWARF_RISCV64_APP_FLAGS      =
     2042*_CLANGDWARF_RISCV64_ASL_FLAGS      = DEF(IASL_FLAGS)
     2043*_CLANGDWARF_RISCV64_ASL_OUTFLAGS   = DEF(IASL_OUTFLAGS)
     2044*_CLANGDWARF_RISCV64_DTCPP_FLAGS    = DEF(GCC_DTCPP_FLAGS)
     2045*_CLANGDWARF_RISCV64_DEPS_FLAGS     = DEF(GCC_DEPS_FLAGS)
     2046
     2047*_CLANGDWARF_RISCV64_CC_PATH        = ENV(CLANGDWARF_BIN)clang
     2048*_CLANGDWARF_RISCV64_ASM_PATH       = ENV(CLANGDWARF_BIN)clang
     2049*_CLANGDWARF_RISCV64_PP_PATH        = ENV(CLANGDWARF_BIN)clang
     2050*_CLANGDWARF_RISCV64_VFRPP_PATH     = ENV(CLANGDWARF_BIN)clang
     2051*_CLANGDWARF_RISCV64_ASLCC_PATH     = ENV(CLANGDWARF_BIN)clang
     2052*_CLANGDWARF_RISCV64_ASLPP_PATH     = ENV(CLANGDWARF_BIN)clang
     2053*_CLANGDWARF_RISCV64_DLINK_PATH     = ENV(CLANGDWARF_BIN)clang
     2054*_CLANGDWARF_RISCV64_ASLDLINK_PATH  = ENV(CLANGDWARF_BIN)clang
     2055
     2056*_CLANGDWARF_RISCV64_SLINK_PATH     = ENV(CLANGDWARF_BIN)llvm-ar
     2057*_CLANGDWARF_RISCV64_RC_PATH        = ENV(CLANGDWARF_BIN)llvm-objcopy
     2058
     2059*_CLANGDWARF_RISCV64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS) -fno-lto
     2060*_CLANGDWARF_RISCV64_ASLDLINK_FLAGS = DEF(CLANGDWARF_RISCV64_TARGET) DEF(GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS)
     2061*_CLANGDWARF_RISCV64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_RISCV64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments -mabi=lp64 -mno-relax
     2062*_CLANGDWARF_RISCV64_DLINK_FLAGS    = DEF(CLANGDWARF_RISCV64_TARGET) DEF(GCC5_RISCV64_DLINK_FLAGS)
     2063*_CLANGDWARF_RISCV64_DLINK_XIPFLAGS = -z common-page-size=0x20
     2064*_CLANGDWARF_RISCV64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x240
     2065*_CLANGDWARF_RISCV64_PLATFORM_FLAGS =
     2066*_CLANGDWARF_RISCV64_PP_FLAGS       = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_RISCV64_TARGET) $(PLATFORM_FLAGS)
     2067*_CLANGDWARF_RISCV64_RC_FLAGS       = DEF(GCC_RISCV64_RC_FLAGS)
     2068*_CLANGDWARF_RISCV64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_RISCV64_TARGET) $(PLATFORM_FLAGS)
     2069*_CLANGDWARF_RISCV64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_RISCV64_TARGET)
     2070*_CLANGDWARF_RISCV64_CC_XIPFLAGS    = DEF(GCC_RISCV64_CC_XIPFLAGS)
     2071
     2072  DEBUG_CLANGDWARF_RISCV64_CC_FLAGS    = DEF(CLANGDWARF_RISCV64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
     2073  DEBUG_CLANGDWARF_RISCV64_DLINK_FLAGS = DEF(CLANGDWARF_RISCV64_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -Wl,--no-pie,--no-relax
     2074  NOOPT_CLANGDWARF_RISCV64_CC_FLAGS    = DEF(CLANGDWARF_RISCV64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
     2075  NOOPT_CLANGDWARF_RISCV64_DLINK_FLAGS = DEF(CLANGDWARF_RISCV64_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
     2076RELEASE_CLANGDWARF_RISCV64_CC_FLAGS    = DEF(CLANGDWARF_RISCV64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
     2077RELEASE_CLANGDWARF_RISCV64_DLINK_FLAGS = DEF(CLANGDWARF_RISCV64_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -Wl,--no-pie,--no-relax
    29472078
    29482079#
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette