]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/tools_def.template
BaseTools Conf: Update tools_def and build_rule to remove IPF setting
[mirror_edk2.git] / BaseTools / Conf / tools_def.template
index 974656cb3851725a4bea22fdf7dd47cfe0fa9bc8..a22b96c0b85527b385d30dd04ee2d291493f6e8b 100755 (executable)
@@ -1,5 +1,5 @@
 #\r
-#  Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
 #  Portions copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>\r
 #  Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>\r
 IDENTIFIER = Default TOOL_CHAIN_CONF\r
 \r
 # common path macros\r
-DEFINE VS2003_BIN       = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\r
-DEFINE VS2003_DLL       = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\r
+DEFINE VS2003_BIN       = ENV(VS2003_PREFIX)Vc7\bin\r
+DEFINE VS2003_DLL       = ENV(VS2003_PREFIX)Common7\IDE\r
 \r
-DEFINE VS2005_BIN       = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\r
-DEFINE VS2005_DLL       = C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;DEF(VS2005_BIN)\r
-DEFINE VS2005_BINX64    = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\x86_amd64\r
-DEFINE VS2005_BIN64     = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\x86_ia64\r
+DEFINE VS2005_BIN       = ENV(VS2005_PREFIX)Vc\bin\r
+DEFINE VS2005_DLL       = ENV(VS2005_PREFIX)Common7\IDE;DEF(VS2005_BIN)\r
+DEFINE VS2005_BINX64    = DEF(VS2005_BIN)\x86_amd64\r
+DEFINE VS2005_BIN64     = DEF(VS2005_BIN)\x86_ia64\r
 \r
-DEFINE VS2005x86_BIN    = C:\Program Files (x86)\Microsoft Visual Studio 8\Vc\bin\r
-DEFINE VS2005x86_DLL    = C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;DEF(VS2005x86_BIN)\r
+DEFINE VS2005x86_BIN    = ENV(VS2005_PREFIX)Vc\bin\r
+DEFINE VS2005x86_DLL    = ENV(VS2005_PREFIX)Common7\IDE;DEF(VS2005x86_BIN)\r
 DEFINE VS2005x86_BINX64 = DEF(VS2005x86_BIN)\x86_amd64\r
 DEFINE VS2005x86_BIN64  = DEF(VS2005x86_BIN)\x86_ia64\r
 \r
-DEFINE VS2008_BIN      = C:\Program Files\Microsoft Visual Studio 9.0\Vc\bin\r
-DEFINE VS2008_DLL      = C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;DEF(VS2008_BIN)\r
+DEFINE VS2008_BIN      = ENV(VS2008_PREFIX)Vc\bin\r
+DEFINE VS2008_DLL      = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008_BIN)\r
 DEFINE VS2008_BINX64   = DEF(VS2008_BIN)\x86_amd64\r
 DEFINE VS2008_BIN64    = DEF(VS2008_BIN)\x86_ia64\r
 \r
-DEFINE VS2008x86_BIN    = C:\Program Files (x86)\Microsoft Visual Studio 9.0\Vc\bin\r
-DEFINE VS2008x86_DLL    = C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;DEF(VS2008x86_BIN)\r
+DEFINE VS2008x86_BIN    = ENV(VS2008_PREFIX)Vc\bin\r
+DEFINE VS2008x86_DLL    = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008x86_BIN)\r
 DEFINE VS2008x86_BINX64 = DEF(VS2008x86_BIN)\x86_amd64\r
 DEFINE VS2008x86_BIN64  = DEF(VS2008x86_BIN)\x86_ia64\r
 \r
-DEFINE VS2010_BIN      = C:\Program Files\Microsoft Visual Studio 10.0\Vc\bin\r
-DEFINE VS2010_DLL      = C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE;DEF(VS2010_BIN)\r
+DEFINE VS2010_BIN      = ENV(VS2010_PREFIX)Vc\bin\r
+DEFINE VS2010_DLL      = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010_BIN)\r
 DEFINE VS2010_BINX64   = DEF(VS2010_BIN)\x86_amd64\r
 DEFINE VS2010_BIN64    = DEF(VS2010_BIN)\x86_ia64\r
 \r
-DEFINE VS2010x86_BIN    = C:\Program Files (x86)\Microsoft Visual Studio 10.0\Vc\bin\r
-DEFINE VS2010x86_DLL    = C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;DEF(VS2010x86_BIN)\r
+DEFINE VS2010x86_BIN    = ENV(VS2010_PREFIX)Vc\bin\r
+DEFINE VS2010x86_DLL    = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010x86_BIN)\r
 DEFINE VS2010x86_BINX64 = DEF(VS2010x86_BIN)\x86_amd64\r
 DEFINE VS2010x86_BIN64  = DEF(VS2010x86_BIN)\x86_ia64\r
 \r
-DEFINE VS2012_BIN      = C:\Program Files\Microsoft Visual Studio 11.0\Vc\bin\r
-DEFINE VS2012_DLL      = C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE;DEF(VS2012_BIN)\r
+DEFINE VS2012_BIN      = ENV(VS2012_PREFIX)Vc\bin\r
+DEFINE VS2012_DLL      = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012_BIN)\r
 DEFINE VS2012_BINX64   = DEF(VS2012_BIN)\x86_amd64\r
 \r
-DEFINE VS2012x86_BIN    = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Vc\bin\r
-DEFINE VS2012x86_DLL    = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE;DEF(VS2012x86_BIN)\r
+DEFINE VS2012x86_BIN    = ENV(VS2012_PREFIX)Vc\bin\r
+DEFINE VS2012x86_DLL    = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012x86_BIN)\r
 DEFINE VS2012x86_BINX64 = DEF(VS2012x86_BIN)\x86_amd64\r
 \r
-DEFINE VS2013_BIN      = C:\Program Files\Microsoft Visual Studio 12.0\Vc\bin\r
-DEFINE VS2013_DLL      = C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE;DEF(VS2012_BIN)\r
+DEFINE VS2013_BIN      = ENV(VS2013_PREFIX)Vc\bin\r
+DEFINE VS2013_DLL      = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013_BIN)\r
 DEFINE VS2013_BINX64   = DEF(VS2013_BIN)\x86_amd64\r
 \r
-DEFINE VS2013x86_BIN    = C:\Program Files (x86)\Microsoft Visual Studio 12.0\Vc\bin\r
-DEFINE VS2013x86_DLL    = C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;DEF(VS2013x86_BIN)\r
+DEFINE VS2013x86_BIN    = ENV(VS2013_PREFIX)Vc\bin\r
+DEFINE VS2013x86_DLL    = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013x86_BIN)\r
 DEFINE VS2013x86_BINX64 = DEF(VS2013x86_BIN)\x86_amd64\r
 \r
-DEFINE VS2015_BIN      = C:\Program Files\Microsoft Visual Studio 14.0\Vc\bin\r
-DEFINE VS2015_DLL      = C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE;DEF(VS2015_BIN)\r
+DEFINE VS2015_BIN      = ENV(VS2015_PREFIX)Vc\bin\r
+DEFINE VS2015_DLL      = ENV(VS2015_PREFIX)Common7\IDE;DEF(VS2015_BIN)\r
 DEFINE VS2015_BINX64   = DEF(VS2015_BIN)\x86_amd64\r
 \r
-DEFINE VS2015x86_BIN    = C:\Program Files (x86)\Microsoft Visual Studio 14.0\Vc\bin\r
-DEFINE VS2015x86_DLL    = C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE;DEF(VS2015x86_BIN)\r
+DEFINE VS2015x86_BIN    = ENV(VS2015_PREFIX)Vc\bin\r
+DEFINE VS2015x86_DLL    = ENV(VS2015_PREFIX)Common7\IDE;DEF(VS2015x86_BIN)\r
 DEFINE VS2015x86_BINX64 = DEF(VS2015x86_BIN)\x86_amd64\r
 \r
-DEFINE WINSDK_VERSION   = v6.0A\r
-DEFINE WINSDK_BIN       = c:\Program Files\Microsoft SDKs\Windows\DEF(WINSDK_VERSION)\bin\r
-DEFINE WINSDKx86_BIN    = c:\Program Files (x86)\Microsoft SDKs\Windows\DEF(WINSDK_VERSION)\bin\r
+DEFINE VS2017_BIN         = ENV(VS2017_PREFIX)bin\r
+DEFINE VS2017_HOST        = x86\r
+DEFINE VS2017_BIN_HOST    = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\DEF(VS2017_HOST)\r
+DEFINE VS2017_BIN_IA32    = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x86\r
+DEFINE VS2017_BIN_X64     = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x64\r
+DEFINE VS2017_BIN_ARM     = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm\r
+DEFINE VS2017_BIN_AARCH64 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm64\r
+\r
+DEFINE WINSDK_BIN       = ENV(WINSDK_PREFIX)\r
+DEFINE WINSDKx86_BIN    = ENV(WINSDKx86_PREFIX)\r
 \r
 # Microsoft Visual Studio 2010\r
-DEFINE WINSDK7_BIN       = c:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\r
-DEFINE WINSDK7x86_BIN    = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\r
+DEFINE WINSDK7_BIN       = ENV(WINSDK7_PREFIX)\r
+DEFINE WINSDK7x86_BIN    = ENV(WINSDK7x86_PREFIX)\r
 \r
 # Microsoft Visual Studio 2012 Update 1 (required for rc.exe that was not included in the initial release)\r
-DEFINE WINSDK71_BIN       = c:\Program Files\Microsoft SDKs\Windows\v7.1A\Bin\r
-DEFINE WINSDK71x86_BIN    = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\r
+DEFINE WINSDK71_BIN       = ENV(WINSDK71_PREFIX)\r
+DEFINE WINSDK71x86_BIN    = ENV(WINSDK71x86_PREFIX)\r
 \r
 # Microsoft Visual Studio 2013 Professional Edition\r
-DEFINE WINSDK8_BIN       = c:\Program Files\Windows Kits\8.0\bin\x86\\r
-DEFINE WINSDK8x86_BIN    = c:\Program Files (x86)\Windows Kits\8.0\bin\x64\r
+DEFINE WINSDK8_BIN       = ENV(WINSDK8_PREFIX)x86\\r
+DEFINE WINSDK8x86_BIN    = ENV(WINSDK8x86_PREFIX)x64\r
 \r
 # Microsoft Visual Studio 2015 Professional Edition\r
-DEFINE WINSDK81_BIN       = c:\Program Files\Windows Kits\8.1\bin\x86\\r
-DEFINE WINSDK81x86_BIN    = c:\Program Files (x86)\Windows Kits\8.1\bin\x64\r
+DEFINE WINSDK81_BIN       = ENV(WINSDK81_PREFIX)x86\\r
+DEFINE WINSDK81x86_BIN    = ENV(WINSDK81x86_PREFIX)x64\r
+\r
+# Microsoft Visual Studio 2017 Professional Edition\r
+DEFINE WINSDK10_BIN       = ENV(WINSDK10_PREFIX)DEF(VS2017_HOST)\r
 \r
 # These defines are needed for certain Microsoft Visual Studio tools that\r
 # are used by other toolchains.  An example is that ICC on Windows normally\r
@@ -103,10 +113,10 @@ DEFINE MS_VS_BIN   = DEF(VS2005_BIN)
 # Some MS_VS_DLL options: DEF(VS2003_DLL), DEF(VS2005_DLL), DEF(VS2005x86_DLL), DEF(VS2008_DLL), DEF(VS2008x86_DLL)\r
 DEFINE MS_VS_DLL   = DEF(VS2005_DLL)\r
 \r
-DEFINE WINDDK_BIN16     = C:\WINDDK\3790.1830\bin\bin16\r
-DEFINE WINDDK_BIN32     = C:\WINDDK\3790.1830\bin\x86\r
-DEFINE WINDDK_BINX64    = C:\WINDDK\3790.1830\bin\win64\x86\amd64\r
-DEFINE WINDDK_BIN64     = C:\WINDDK\3790.1830\bin\win64\x86\r
+DEFINE WINDDK_BIN16     = ENV(WINDDK3790_PREFIX)bin16\r
+DEFINE WINDDK_BIN32     = ENV(WINDDK3790_PREFIX)x86\r
+DEFINE WINDDK_BINX64    = ENV(WINDDK3790_PREFIX)win64\x86\amd64\r
+DEFINE WINDDK_BIN64     = ENV(WINDDK3790_PREFIX)win64\x86\r
 \r
 # NOTE: The Intel C++ Compiler for Windows requires one of the Microsoft C compiler\r
 #        tool chains for the linker and nmake commands.\r
@@ -154,7 +164,6 @@ DEFINE ELFGCC_BIN       = /usr/bin
 # Option 1: Hard coded full path to compiler suite\r
 DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/\r
 DEFINE UNIXGCC_X64_PETOOLS_PREFIX  = /opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/\r
-DEFINE UNIXGCC_IPF_PETOOLS_PREFIX  = /opt/tiano/ia64-pc-elf/ia64-pc-elf/bin/\r
 #\r
 # Option 2: Use an environment variable\r
 #DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = ENV(IA32_PETOOLS_PREFIX)\r
@@ -177,7 +186,6 @@ DEFINE UNIXGCC_IPF_PETOOLS_PREFIX  = /opt/tiano/ia64-pc-elf/ia64-pc-elf/bin/
 DEFINE CYGWIN_BIN              = c:/cygwin/bin\r
 DEFINE CYGWIN_BINIA32          = c:/cygwin/opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/\r
 DEFINE CYGWIN_BINX64           = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/\r
-DEFINE CYGWIN_BINIPF           = c:/cygwin/opt/tiano/gcc/ipf/bin/ia64-pc-elf-\r
 \r
 DEFINE GCC44_IA32_PREFIX       = ENV(GCC44_BIN)\r
 DEFINE GCC44_X64_PREFIX        = ENV(GCC44_BIN)\r
@@ -199,11 +207,11 @@ DEFINE GCC49_X64_PREFIX        = ENV(GCC49_BIN)
 \r
 DEFINE GCC5_IA32_PREFIX        = ENV(GCC5_BIN)\r
 DEFINE GCC5_X64_PREFIX         = ENV(GCC5_BIN)\r
+DEFINE GCC_HOST_PREFIX         = ENV(GCC_HOST_BIN)\r
 \r
 DEFINE UNIX_IASL_BIN           = ENV(IASL_PREFIX)iasl\r
-DEFINE WIN_ASL_BIN_DIR         = C:\ASL\r
-DEFINE WIN_IASL_BIN            = DEF(WIN_ASL_BIN_DIR)\iasl.exe\r
-DEFINE WIN_ASL_BIN             = DEF(WIN_ASL_BIN_DIR)\asl.exe\r
+DEFINE WIN_IASL_BIN            = ENV(IASL_PREFIX)iasl.exe\r
+DEFINE WIN_ASL_BIN             = ENV(IASL_PREFIX)asl.exe\r
 \r
 DEFINE IASL_FLAGS              =\r
 DEFINE IASL_OUTFLAGS           = -p\r
@@ -229,6 +237,9 @@ DEFINE IPHONE_TOOLS            = /Developer/Platforms/iPhoneOS.platform/Develope
 \r
 DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin\r
 \r
+DEFINE DTCPP_BIN               = ENV(DTCPP_PREFIX)cpp\r
+DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc\r
+\r
 ####################################################################################\r
 #\r
 # format: TARGET_TOOLCHAIN_ARCH_COMMANDTYPE_ATTRIBUTE = <string>\r
@@ -318,6 +329,17 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
 #                             Required to build platforms or ACPI tables:\r
 #                               Intel(r) ACPI Compiler (iasl.exe) from\r
 #                               https://acpica.org/downloads\r
+#   VS2017      -win32-  Requires:\r
+#                             Microsoft Visual Studio 2017 version 15.2 (15.4 for ARM64) or later\r
+#                        Optional:\r
+#                             Required to build EBC drivers:\r
+#                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)\r
+#                             Required to build platforms or ACPI tables:\r
+#                               Intel(r) ACPI Compiler (iasl.exe) from\r
+#                               https://acpica.org/downloads\r
+#                        Note:\r
+#                             Building of XIP firmware images for ARM/ARM64 is not currently supported (only applications).\r
+#                             /FILEALIGN:4096 and other changes are needed for ARM firmware builds.\r
 #   DDK3790     -win32-  Requires:\r
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\r
 #                        Optional:\r
@@ -382,7 +404,8 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
 #                               Intel(r) ACPI Compiler from\r
 #                               https://acpica.org/downloads\r
 #   CLANG38  -Linux-  Requires:\r
-#                             Clang v3.8 or later, LLVMgold plugin and GNU binutils 2.26 targeting x86_64-linux-gnu\r
+#                             Clang v3.8, LLVMgold plugin and GNU binutils 2.26 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi\r
+#                             Clang v3.9 or later, LLVMgold plugin and GNU binutils 2.28 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi\r
 #                        Optional:\r
 #                             Required to build platforms or ACPI tables:\r
 #                               Intel(r) ACPI Compiler from\r
@@ -428,7 +451,6 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
 #                               https://acpica.org/downloads\r
 #   MYTOOLS     -win32-  Requires:\r
 #                             Microsoft Visual Studio 2008 for IA32/X64\r
-#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830 for IPF\r
 #                        Optional:\r
 #                             Required to build EBC drivers:\r
 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)\r
@@ -577,7 +599,7 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
 #                               Intel(r) ACPI Compiler (iasl.exe) from\r
 #                               https://acpica.org/downloads\r
 #   VS2015x86   -win64-  Requires:\r
-#                             Microsoft Visual Studio 2015 (x86) Professional Edition\r
+#                             Microsoft Visual Studio 2015 (x86) Update 2 or above\r
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\r
 #                        Optional:\r
 #                             Required to build platforms or ACPI tables:\r
@@ -1018,34 +1040,6 @@ NOOPT_VS2005_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2005_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\r
 NOOPT_VS2005_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2005_IPF_*_DLL         = DEF(VS2005_DLL)\r
-\r
-*_VS2005_IPF_PP_PATH       = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005_IPF_APP_PATH      = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005_IPF_VFRPP_PATH    = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005_IPF_CC_PATH       = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005_IPF_ASM_PATH      = DEF(VS2005_BIN64)\ias.exe\r
-*_VS2005_IPF_SLINK_PATH    = DEF(VS2005_BIN64)\lib.exe\r
-*_VS2005_IPF_DLINK_PATH    = DEF(VS2005_BIN64)\link.exe\r
-*_VS2005_IPF_ASLCC_PATH    = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005_IPF_ASLPP_PATH    = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005_IPF_ASLDLINK_PATH = DEF(VS2005_BIN64)\link.exe\r
-\r
-  DEBUG_VS2005_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2005_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2005_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2005_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2005_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2005_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2005_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2005_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2005_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -1162,34 +1156,6 @@ NOOPT_VS2005xASL_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2005xASL_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\r
 NOOPT_VS2005xASL_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2005xASL_IPF_*_DLL         = DEF(VS2005_DLL)\r
-\r
-*_VS2005xASL_IPF_PP_PATH       = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005xASL_IPF_APP_PATH      = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005xASL_IPF_VFRPP_PATH    = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005xASL_IPF_CC_PATH       = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005xASL_IPF_ASM_PATH      = DEF(VS2005_BIN64)\ias.exe\r
-*_VS2005xASL_IPF_SLINK_PATH    = DEF(VS2005_BIN64)\lib.exe\r
-*_VS2005xASL_IPF_DLINK_PATH    = DEF(VS2005_BIN64)\link.exe\r
-*_VS2005xASL_IPF_ASLCC_PATH    = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005xASL_IPF_ASLPP_PATH    = DEF(VS2005_BIN64)\cl.exe\r
-*_VS2005xASL_IPF_ASLDLINK_PATH = DEF(VS2005_BIN64)\link.exe\r
-\r
-  DEBUG_VS2005xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2005xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2005xASL_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2005xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2005xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2005xASL_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2005xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2005xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2005xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -1306,34 +1272,6 @@ NOOPT_VS2005x86_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2005x86_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\r
 NOOPT_VS2005x86_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2005x86_IPF_*_DLL         = DEF(VS2005x86_DLL)\r
-\r
-*_VS2005x86_IPF_PP_PATH       = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86_IPF_APP_PATH      = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86_IPF_VFRPP_PATH    = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86_IPF_CC_PATH       = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86_IPF_ASM_PATH      = DEF(VS2005x86_BIN64)\ias.exe\r
-*_VS2005x86_IPF_SLINK_PATH    = DEF(VS2005x86_BIN64)\lib.exe\r
-*_VS2005x86_IPF_DLINK_PATH    = DEF(VS2005x86_BIN64)\link.exe\r
-*_VS2005x86_IPF_ASLCC_PATH    = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86_IPF_ASLPP_PATH    = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86_IPF_ASLDLINK_PATH = DEF(VS2005x86_BIN64)\link.exe\r
-\r
-  DEBUG_VS2005x86_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2005x86_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2005x86_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2005x86_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2005x86_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2005x86_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2005x86_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2005x86_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2005x86_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -1450,34 +1388,6 @@ NOOPT_VS2005x86xASL_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2005x86xASL_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\r
 NOOPT_VS2005x86xASL_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2005x86xASL_IPF_*_DLL         = DEF(VS2005x86_DLL)\r
-\r
-*_VS2005x86xASL_IPF_PP_PATH       = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86xASL_IPF_APP_PATH      = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86xASL_IPF_VFRPP_PATH    = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86xASL_IPF_CC_PATH       = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86xASL_IPF_ASM_PATH      = DEF(VS2005x86_BIN64)\ias.exe\r
-*_VS2005x86xASL_IPF_SLINK_PATH    = DEF(VS2005x86_BIN64)\lib.exe\r
-*_VS2005x86xASL_IPF_DLINK_PATH    = DEF(VS2005x86_BIN64)\link.exe\r
-*_VS2005x86xASL_IPF_ASLCC_PATH    = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86xASL_IPF_ASLPP_PATH    = DEF(VS2005x86_BIN64)\cl.exe\r
-*_VS2005x86xASL_IPF_ASLDLINK_PATH = DEF(VS2005x86_BIN64)\link.exe\r
-\r
-  DEBUG_VS2005x86xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2005x86xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2005x86xASL_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2005x86xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2005x86xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2005x86xASL_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2005x86xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2005x86xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2005x86xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -1595,34 +1505,6 @@ NOOPT_VS2008_X64_NASM_FLAGS     = -O0 -f win64 -g
 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\r
 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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2008_IPF_*_DLL         = DEF(VS2008_DLL)\r
-\r
-*_VS2008_IPF_PP_PATH       = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008_IPF_APP_PATH      = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008_IPF_VFRPP_PATH    = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008_IPF_CC_PATH       = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008_IPF_ASM_PATH      = DEF(VS2008_BIN64)\ias.exe\r
-*_VS2008_IPF_SLINK_PATH    = DEF(VS2008_BIN64)\lib.exe\r
-*_VS2008_IPF_DLINK_PATH    = DEF(VS2008_BIN64)\link.exe\r
-*_VS2008_IPF_ASLCC_PATH    = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008_IPF_ASLPP_PATH    = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008_IPF_ASLDLINK_PATH = DEF(VS2008_BIN64)\link.exe\r
-\r
-  DEBUG_VS2008_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2008_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2008_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2008_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2008_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2008_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2008_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2008_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2008_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -1741,34 +1623,6 @@ NOOPT_VS2008xASL_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2008xASL_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\r
 NOOPT_VS2008xASL_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2008xASL_IPF_*_DLL         = DEF(VS2008_DLL)\r
-\r
-*_VS2008xASL_IPF_PP_PATH       = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008xASL_IPF_APP_PATH      = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008xASL_IPF_VFRPP_PATH    = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008xASL_IPF_CC_PATH       = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008xASL_IPF_ASM_PATH      = DEF(VS2008_BIN64)\ias.exe\r
-*_VS2008xASL_IPF_SLINK_PATH    = DEF(VS2008_BIN64)\lib.exe\r
-*_VS2008xASL_IPF_DLINK_PATH    = DEF(VS2008_BIN64)\link.exe\r
-*_VS2008xASL_IPF_ASLCC_PATH    = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008xASL_IPF_ASLPP_PATH    = DEF(VS2008_BIN64)\cl.exe\r
-*_VS2008xASL_IPF_ASLDLINK_PATH = DEF(VS2008_BIN64)\link.exe\r
-\r
-  DEBUG_VS2008xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2008xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2008xASL_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2008xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2008xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2008xASL_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2008xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2008xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2008xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -1885,34 +1739,6 @@ NOOPT_VS2008x86_X64_NASM_FLAGS     = -O0 -f win64 -g
 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\r
 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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2008x86_IPF_*_DLL         = DEF(VS2008x86_DLL)\r
-\r
-*_VS2008x86_IPF_PP_PATH       = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86_IPF_APP_PATH      = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86_IPF_VFRPP_PATH    = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86_IPF_ASLCC_PATH    = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86_IPF_ASLPP_PATH    = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86_IPF_CC_PATH       = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86_IPF_ASM_PATH      = DEF(VS2008x86_BIN64)\ias.exe\r
-*_VS2008x86_IPF_SLINK_PATH    = DEF(VS2008x86_BIN64)\lib.exe\r
-*_VS2008x86_IPF_DLINK_PATH    = DEF(VS2008x86_BIN64)\link.exe\r
-*_VS2008x86_IPF_ASLDLINK_PATH = DEF(VS2008x86_BIN64)\link.exe\r
-\r
-  DEBUG_VS2008x86_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2008x86_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2008x86_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2008x86_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2008x86_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2008x86_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2008x86_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2008x86_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2008x86_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -2028,34 +1854,6 @@ NOOPT_VS2008xASL_X64_NASM_FLAGS        = -O0 -f win64 -g
 RELEASE_VS2008x86xASL_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\r
 NOOPT_VS2008x86xASL_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2008x86xASL_IPF_*_DLL         = DEF(VS2008x86_DLL)\r
-\r
-*_VS2008x86xASL_IPF_PP_PATH       = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86xASL_IPF_APP_PATH      = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86xASL_IPF_VFRPP_PATH    = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86xASL_IPF_ASLCC_PATH    = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86xASL_IPF_ASLPP_PATH    = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86xASL_IPF_CC_PATH       = DEF(VS2008x86_BIN64)\cl.exe\r
-*_VS2008x86xASL_IPF_ASM_PATH      = DEF(VS2008x86_BIN64)\ias.exe\r
-*_VS2008x86xASL_IPF_SLINK_PATH    = DEF(VS2008x86_BIN64)\lib.exe\r
-*_VS2008x86xASL_IPF_DLINK_PATH    = DEF(VS2008x86_BIN64)\link.exe\r
-*_VS2008x86xASL_IPF_ASLDLINK_PATH = DEF(VS2008x86_BIN64)\link.exe\r
-\r
-  DEBUG_VS2008x86xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2008x86xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2008x86xASL_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2008x86xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2008x86xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2008x86xASL_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2008x86xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2008x86xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2008x86xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -2174,34 +1972,6 @@ NOOPT_VS2010_X64_NASM_FLAGS     = -O0 -f win64 -g
 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\r
 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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2010_IPF_*_DLL         = DEF(VS2010_DLL)\r
-\r
-*_VS2010_IPF_PP_PATH       = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010_IPF_APP_PATH      = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010_IPF_VFRPP_PATH    = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010_IPF_CC_PATH       = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010_IPF_ASM_PATH      = DEF(VS2010_BIN64)\ias.exe\r
-*_VS2010_IPF_SLINK_PATH    = DEF(VS2010_BIN64)\lib.exe\r
-*_VS2010_IPF_DLINK_PATH    = DEF(VS2010_BIN64)\link.exe\r
-*_VS2010_IPF_ASLCC_PATH    = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010_IPF_ASLPP_PATH    = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010_IPF_ASLDLINK_PATH = DEF(VS2010_BIN64)\link.exe\r
-\r
-  DEBUG_VS2010_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2010_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2010_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2010_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2010_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2010_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2010_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2010_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2010_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -2320,34 +2090,6 @@ NOOPT_VS2010xASL_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2010xASL_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\r
 NOOPT_VS2010xASL_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2010xASL_IPF_*_DLL         = DEF(VS2010_DLL)\r
-\r
-*_VS2010xASL_IPF_PP_PATH       = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010xASL_IPF_APP_PATH      = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010xASL_IPF_VFRPP_PATH    = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010xASL_IPF_CC_PATH       = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010xASL_IPF_ASM_PATH      = DEF(VS2010_BIN64)\ias.exe\r
-*_VS2010xASL_IPF_SLINK_PATH    = DEF(VS2010_BIN64)\lib.exe\r
-*_VS2010xASL_IPF_DLINK_PATH    = DEF(VS2010_BIN64)\link.exe\r
-*_VS2010xASL_IPF_ASLCC_PATH    = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010xASL_IPF_ASLPP_PATH    = DEF(VS2010_BIN64)\cl.exe\r
-*_VS2010xASL_IPF_ASLDLINK_PATH = DEF(VS2010_BIN64)\link.exe\r
-\r
-  DEBUG_VS2010xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2010xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2010xASL_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2010xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2010xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2010xASL_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2010xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2010xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2010xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -2464,34 +2206,6 @@ NOOPT_VS2010x86_X64_NASM_FLAGS     = -O0 -f win64 -g
 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\r
 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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2010x86_IPF_*_DLL         = DEF(VS2010x86_DLL)\r
-\r
-*_VS2010x86_IPF_PP_PATH       = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86_IPF_APP_PATH      = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86_IPF_VFRPP_PATH    = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86_IPF_ASLCC_PATH    = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86_IPF_ASLPP_PATH    = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86_IPF_CC_PATH       = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86_IPF_ASM_PATH      = DEF(VS2010x86_BIN64)\ias.exe\r
-*_VS2010x86_IPF_SLINK_PATH    = DEF(VS2010x86_BIN64)\lib.exe\r
-*_VS2010x86_IPF_DLINK_PATH    = DEF(VS2010x86_BIN64)\link.exe\r
-*_VS2010x86_IPF_ASLDLINK_PATH = DEF(VS2010x86_BIN64)\link.exe\r
-\r
-  DEBUG_VS2010x86_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2010x86_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2010x86_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2010x86_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2010x86_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2010x86_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2010x86_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2010x86_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2010x86_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -2607,34 +2321,6 @@ NOOPT_VS2010x86xASL_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2010x86xASL_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\r
 NOOPT_VS2010x86xASL_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_VS2010x86xASL_IPF_*_DLL         = DEF(VS2010x86_DLL)\r
-\r
-*_VS2010x86xASL_IPF_PP_PATH       = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86xASL_IPF_APP_PATH      = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86xASL_IPF_VFRPP_PATH    = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86xASL_IPF_ASLCC_PATH    = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86xASL_IPF_ASLPP_PATH    = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86xASL_IPF_CC_PATH       = DEF(VS2010x86_BIN64)\cl.exe\r
-*_VS2010x86xASL_IPF_ASM_PATH      = DEF(VS2010x86_BIN64)\ias.exe\r
-*_VS2010x86xASL_IPF_SLINK_PATH    = DEF(VS2010x86_BIN64)\lib.exe\r
-*_VS2010x86xASL_IPF_DLINK_PATH    = DEF(VS2010x86_BIN64)\link.exe\r
-*_VS2010x86xASL_IPF_ASLDLINK_PATH = DEF(VS2010x86_BIN64)\link.exe\r
-\r
-  DEBUG_VS2010x86xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_VS2010x86xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_VS2010x86xASL_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_VS2010x86xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_VS2010x86xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_VS2010x86xASL_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_VS2010x86xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_VS2010x86xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_VS2010x86xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -3171,8 +2857,8 @@ NOOPT_VS2012x86xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
 *_VS2013_IA32_ASLDLINK_PATH       = DEF(VS2013_BIN)\link.exe\r
 \r
       *_VS2013_IA32_MAKE_FLAGS    = /nologo\r
-  DEBUG_VS2013_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2013_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2013_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2013_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2013_IA32_CC_FLAGS        = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
 \r
   DEBUG_VS2013_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
@@ -3203,8 +2889,8 @@ NOOPT_VS2013_IA32_DLINK_FLAGS     = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_VS2013_X64_ASLPP_PATH    = DEF(VS2013_BINX64)\cl.exe\r
 *_VS2013_X64_ASLDLINK_PATH = DEF(VS2013_BINX64)\link.exe\r
 \r
-  DEBUG_VS2013_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
-RELEASE_VS2013_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2013_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2013_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2013_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
 \r
   DEBUG_VS2013_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
@@ -3289,8 +2975,8 @@ NOOPT_VS2013_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT
 *_VS2013xASL_IA32_ASLDLINK_PATH = DEF(VS2013_BIN)\link.exe\r
 \r
       *_VS2013xASL_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2013xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2013xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2013xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2013xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2013xASL_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
 \r
   DEBUG_VS2013xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
@@ -3321,8 +3007,8 @@ NOOPT_VS2013xASL_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
 *_VS2013xASL_X64_ASLPP_PATH    = DEF(VS2013_BINX64)\cl.exe\r
 *_VS2013xASL_X64_ASLDLINK_PATH = DEF(VS2013_BINX64)\link.exe\r
 \r
-  DEBUG_VS2013xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
-RELEASE_VS2013xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2013xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2013xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2013xASL_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
 \r
   DEBUG_VS2013xASL_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
@@ -3405,8 +3091,8 @@ NOOPT_VS2013xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
 *_VS2013x86_IA32_ASM_PATH     = DEF(VS2013x86_BIN)\ml.exe\r
 \r
       *_VS2013x86_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2013x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2013x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2013x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2013x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2013x86_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
 \r
   DEBUG_VS2013x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
@@ -3437,8 +3123,8 @@ NOOPT_VS2013x86_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_VS2013x86_X64_DLINK_PATH    = DEF(VS2013x86_BINX64)\link.exe\r
 *_VS2013x86_X64_ASLDLINK_PATH = DEF(VS2013x86_BINX64)\link.exe\r
 \r
-  DEBUG_VS2013x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
-RELEASE_VS2013x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2013x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2013x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2013x86_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
 \r
   DEBUG_VS2013x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
@@ -3520,8 +3206,8 @@ NOOPT_VS2013x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_VS2013x86xASL_IA32_ASM_PATH     = DEF(VS2013x86_BIN)\ml.exe\r
 \r
       *_VS2013x86xASL_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2013x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2013x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2013x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2013x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2013x86xASL_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
 \r
   DEBUG_VS2013x86xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
@@ -3552,8 +3238,8 @@ NOOPT_VS2013x86xASL_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
 *_VS2013x86xASL_X64_DLINK_PATH    = DEF(VS2013x86_BINX64)\link.exe\r
 *_VS2013x86xASL_X64_ASLDLINK_PATH = DEF(VS2013x86_BINX64)\link.exe\r
 \r
-  DEBUG_VS2013x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
-RELEASE_VS2013x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2013x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2013x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2013x86xASL_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
 \r
   DEBUG_VS2013x86xASL_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
@@ -3607,6 +3293,7 @@ NOOPT_VS2013x86xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
 *_VS2015_*_APP_FLAGS              = /nologo /E /TC\r
 *_VS2015_*_PP_FLAGS               = /nologo /E /TC /FIAutoGen.h\r
 *_VS2015_*_VFRPP_FLAGS            = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2015_*_DLINK2_FLAGS           =\r
 \r
 *_VS2015_*_ASM16_PATH             = DEF(VS2015_BIN)\ml.exe\r
 \r
@@ -3638,8 +3325,8 @@ NOOPT_VS2013x86xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
 *_VS2015_IA32_ASLDLINK_PATH       = DEF(VS2015_BIN)\link.exe\r
 \r
       *_VS2015_IA32_MAKE_FLAGS    = /nologo\r
-  DEBUG_VS2015_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2015_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2015_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2015_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2015_IA32_CC_FLAGS        = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
 \r
   DEBUG_VS2015_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
@@ -3670,8 +3357,8 @@ NOOPT_VS2015_IA32_DLINK_FLAGS     = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_VS2015_X64_ASLPP_PATH    = DEF(VS2015_BINX64)\cl.exe\r
 *_VS2015_X64_ASLDLINK_PATH = DEF(VS2015_BINX64)\link.exe\r
 \r
-  DEBUG_VS2015_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
-RELEASE_VS2015_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2015_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2015_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2015_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
 \r
   DEBUG_VS2015_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
@@ -3725,6 +3412,7 @@ NOOPT_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT
 *_VS2015xASL_*_APP_FLAGS       = /nologo /E /TC\r
 *_VS2015xASL_*_PP_FLAGS        = /nologo /E /TC /FIAutoGen.h\r
 *_VS2015xASL_*_VFRPP_FLAGS     = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2015xASL_*_DLINK2_FLAGS    =\r
 \r
 *_VS2015xASL_*_ASM16_PATH      = DEF(VS2015_BIN)\ml.exe\r
 \r
@@ -3756,8 +3444,8 @@ NOOPT_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT
 *_VS2015xASL_IA32_ASLDLINK_PATH = DEF(VS2015_BIN)\link.exe\r
 \r
       *_VS2015xASL_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2015xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2015xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2015xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2015xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2015xASL_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
 \r
   DEBUG_VS2015xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
@@ -3788,8 +3476,8 @@ NOOPT_VS2015xASL_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
 *_VS2015xASL_X64_ASLPP_PATH    = DEF(VS2015_BINX64)\cl.exe\r
 *_VS2015xASL_X64_ASLDLINK_PATH = DEF(VS2015_BINX64)\link.exe\r
 \r
-  DEBUG_VS2015xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
-RELEASE_VS2015xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2015xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2015xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2015xASL_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
 \r
   DEBUG_VS2015xASL_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
@@ -3841,6 +3529,7 @@ NOOPT_VS2015xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
 *_VS2015x86_*_APP_FLAGS       = /nologo /E /TC\r
 *_VS2015x86_*_PP_FLAGS        = /nologo /E /TC /FIAutoGen.h\r
 *_VS2015x86_*_VFRPP_FLAGS     = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2015x86_*_DLINK2_FLAGS    =\r
 \r
 *_VS2015x86_*_ASM16_PATH      = DEF(VS2015x86_BIN)\ml.exe\r
 \r
@@ -3872,8 +3561,8 @@ NOOPT_VS2015xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
 *_VS2015x86_IA32_ASM_PATH     = DEF(VS2015x86_BIN)\ml.exe\r
 \r
       *_VS2015x86_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2015x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2015x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2015x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2015x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2015x86_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
 \r
   DEBUG_VS2015x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
@@ -3904,8 +3593,8 @@ NOOPT_VS2015x86_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_VS2015x86_X64_DLINK_PATH    = DEF(VS2015x86_BINX64)\link.exe\r
 *_VS2015x86_X64_ASLDLINK_PATH = DEF(VS2015x86_BINX64)\link.exe\r
 \r
-  DEBUG_VS2015x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
-RELEASE_VS2015x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2015x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2015x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2015x86_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
 \r
   DEBUG_VS2015x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
@@ -3956,6 +3645,7 @@ NOOPT_VS2015x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_VS2015x86xASL_*_APP_FLAGS       = /nologo /E /TC\r
 *_VS2015x86xASL_*_PP_FLAGS        = /nologo /E /TC /FIAutoGen.h\r
 *_VS2015x86xASL_*_VFRPP_FLAGS     = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2015x86xASL_*_DLINK2_FLAGS    =\r
 \r
 *_VS2015x86xASL_*_ASM16_PATH      = DEF(VS2015x86_BIN)\ml.exe\r
 \r
@@ -3987,8 +3677,8 @@ NOOPT_VS2015x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_VS2015x86xASL_IA32_ASM_PATH     = DEF(VS2015x86_BIN)\ml.exe\r
 \r
       *_VS2015x86xASL_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2015x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2015x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2015x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2015x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2015x86xASL_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
 \r
   DEBUG_VS2015x86xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
@@ -4019,8 +3709,8 @@ NOOPT_VS2015x86xASL_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
 *_VS2015x86xASL_X64_DLINK_PATH    = DEF(VS2015x86_BINX64)\link.exe\r
 *_VS2015x86xASL_X64_ASLDLINK_PATH = DEF(VS2015x86_BINX64)\link.exe\r
 \r
-  DEBUG_VS2015x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
-RELEASE_VS2015x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\r
+  DEBUG_VS2015x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2015x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
 NOOPT_VS2015x86xASL_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
 \r
   DEBUG_VS2015x86xASL_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
@@ -4056,6 +3746,169 @@ NOOPT_VS2015x86xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
 *_VS2015x86xASL_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\r
 \r
 \r
+####################################################################################\r
+#   VS2017       - Microsoft Visual Studio 2017 with Intel ASL\r
+#   ASL          - Intel ACPI Source Language Compiler (iasl.exe)\r
+####################################################################################\r
+#   VS2017           - Microsoft Visual Studio 2017 professional Edition with Intel ASL\r
+*_VS2017_*_*_FAMILY        = MSFT\r
+*_VS2017_*_*_DLL           = DEF(VS2017_BIN_HOST)\r
+\r
+*_VS2017_*_MAKE_PATH       = DEF(VS2017_BIN_HOST)\nmake.exe\r
+*_VS2017_*_MAKE_FLAG       = /nologo\r
+*_VS2017_*_RC_PATH         = DEF(WINSDK10_BIN)\rc.exe\r
+\r
+*_VS2017_*_MAKE_FLAGS      = /nologo\r
+*_VS2017_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
+*_VS2017_*_APP_FLAGS       = /nologo /E /TC\r
+*_VS2017_*_PP_FLAGS        = /nologo /E /TC /FIAutoGen.h\r
+*_VS2017_*_VFRPP_FLAGS     = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2017_*_DLINK2_FLAGS    = /WHOLEARCHIVE\r
+*_VS2017_*_ASM16_PATH      = DEF(VS2017_BIN_IA32)\ml.exe\r
+\r
+##################\r
+# ASL definitions\r
+##################\r
+*_VS2017_*_ASL_PATH        = DEF(WIN_IASL_BIN)\r
+*_VS2017_*_ASL_FLAGS       = DEF(DEFAULT_WIN_ASL_FLAGS)\r
+*_VS2017_*_ASL_OUTFLAGS    = DEF(DEFAULT_WIN_ASL_OUTFLAGS)\r
+*_VS2017_*_ASLCC_FLAGS     = DEF(MSFT_ASLCC_FLAGS)\r
+*_VS2017_*_ASLPP_FLAGS     = DEF(MSFT_ASLPP_FLAGS)\r
+*_VS2017_*_ASLDLINK_FLAGS  = DEF(MSFT_ASLDLINK_FLAGS)\r
+\r
+##################\r
+# IA32 definitions\r
+##################\r
+*_VS2017_IA32_CC_PATH      = DEF(VS2017_BIN_IA32)\cl.exe\r
+*_VS2017_IA32_VFRPP_PATH   = DEF(VS2017_BIN_IA32)\cl.exe\r
+*_VS2017_IA32_ASLCC_PATH   = DEF(VS2017_BIN_IA32)\cl.exe\r
+*_VS2017_IA32_ASLPP_PATH   = DEF(VS2017_BIN_IA32)\cl.exe\r
+*_VS2017_IA32_SLINK_PATH   = DEF(VS2017_BIN_IA32)\lib.exe\r
+*_VS2017_IA32_DLINK_PATH   = DEF(VS2017_BIN_IA32)\link.exe\r
+*_VS2017_IA32_ASLDLINK_PATH= DEF(VS2017_BIN_IA32)\link.exe\r
+*_VS2017_IA32_APP_PATH     = DEF(VS2017_BIN_IA32)\cl.exe\r
+*_VS2017_IA32_PP_PATH      = DEF(VS2017_BIN_IA32)\cl.exe\r
+*_VS2017_IA32_ASM_PATH     = DEF(VS2017_BIN_IA32)\ml.exe\r
+\r
+      *_VS2017_IA32_MAKE_FLAGS  = /nologo\r
+  DEBUG_VS2017_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw\r
+RELEASE_VS2017_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
+NOOPT_VS2017_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+\r
+  DEBUG_VS2017_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
+RELEASE_VS2017_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
+NOOPT_VS2017_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
+\r
+  DEBUG_VS2017_IA32_NASM_FLAGS  = -Ox -f win32 -g\r
+RELEASE_VS2017_IA32_NASM_FLAGS  = -Ox -f win32\r
+NOOPT_VS2017_IA32_NASM_FLAGS    = -O0 -f win32 -g\r
+\r
+  DEBUG_VS2017_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+RELEASE_VS2017_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
+NOOPT_VS2017_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+\r
+##################\r
+# X64 definitions\r
+##################\r
+*_VS2017_X64_CC_PATH       = DEF(VS2017_BIN_X64)\cl.exe\r
+*_VS2017_X64_PP_PATH       = DEF(VS2017_BIN_X64)\cl.exe\r
+*_VS2017_X64_APP_PATH      = DEF(VS2017_BIN_X64)\cl.exe\r
+*_VS2017_X64_VFRPP_PATH    = DEF(VS2017_BIN_X64)\cl.exe\r
+*_VS2017_X64_ASLCC_PATH    = DEF(VS2017_BIN_X64)\cl.exe\r
+*_VS2017_X64_ASLPP_PATH    = DEF(VS2017_BIN_X64)\cl.exe\r
+*_VS2017_X64_ASM_PATH      = DEF(VS2017_BIN_X64)\ml64.exe\r
+*_VS2017_X64_SLINK_PATH    = DEF(VS2017_BIN_X64)\lib.exe\r
+*_VS2017_X64_DLINK_PATH    = DEF(VS2017_BIN_X64)\link.exe\r
+*_VS2017_X64_ASLDLINK_PATH = DEF(VS2017_BIN_X64)\link.exe\r
+\r
+  DEBUG_VS2017_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Gw\r
+RELEASE_VS2017_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw\r
+NOOPT_VS2017_X64_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od\r
+\r
+  DEBUG_VS2017_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
+RELEASE_VS2017_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd\r
+NOOPT_VS2017_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi\r
+\r
+  DEBUG_VS2017_X64_NASM_FLAGS   = -Ox -f win64 -g\r
+RELEASE_VS2017_X64_NASM_FLAGS   = -Ox -f win64\r
+NOOPT_VS2017_X64_NASM_FLAGS     = -O0 -f win64 -g\r
+\r
+  DEBUG_VS2017_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+RELEASE_VS2017_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
+NOOPT_VS2017_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+\r
+#################\r
+# ARM definitions\r
+#################\r
+*_VS2017_ARM_CC_PATH              = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_VFRPP_PATH           = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_SLINK_PATH           = DEF(VS2017_BIN_ARM)\lib.exe\r
+*_VS2017_ARM_DLINK_PATH           = DEF(VS2017_BIN_ARM)\link.exe\r
+*_VS2017_ARM_APP_PATH             = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_PP_PATH              = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_ASM_PATH             = DEF(VS2017_BIN_ARM)\armasm.exe\r
+*_VS2017_ARM_ASLCC_PATH           = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_ASLPP_PATH           = DEF(VS2017_BIN_ARM)\cl.exe\r
+*_VS2017_ARM_ASLDLINK_PATH        = DEF(VS2017_BIN_ARM)\link.exe\r
+\r
+      *_VS2017_ARM_MAKE_FLAGS     = /nologo\r
+  DEBUG_VS2017_ARM_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw /Oi-\r
+RELEASE_VS2017_ARM_CC_FLAGS       = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-\r
+NOOPT_VS2017_ARM_CC_FLAGS         = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od /Oi-\r
+\r
+  DEBUG_VS2017_ARM_ASM_FLAGS      = /nologo /g\r
+RELEASE_VS2017_ARM_ASM_FLAGS      = /nologo\r
+NOOPT_VS2017_ARM_ASM_FLAGS        = /nologo\r
+\r
+  DEBUG_VS2017_ARM_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+RELEASE_VS2017_ARM_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
+NOOPT_VS2017_ARM_DLINK_FLAGS      = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+\r
+#####################\r
+# AARCH64 definitions\r
+#####################\r
+*_VS2017_AARCH64_CC_PATH           = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_VFRPP_PATH        = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_SLINK_PATH        = DEF(VS2017_BIN_AARCH64)\lib.exe\r
+*_VS2017_AARCH64_DLINK_PATH        = DEF(VS2017_BIN_AARCH64)\link.exe\r
+*_VS2017_AARCH64_APP_PATH          = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_PP_PATH           = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_ASM_PATH          = DEF(VS2017_BIN_AARCH64)\armasm64.exe\r
+*_VS2017_AARCH64_ASLCC_PATH        = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_ASLPP_PATH        = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_ASLDLINK_PATH     = DEF(VS2017_BIN_AARCH64)\link.exe\r
+\r
+      *_VS2017_AARCH64_MAKE_FLAGS  = /nologo\r
+  DEBUG_VS2017_AARCH64_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw /Oi-\r
+RELEASE_VS2017_AARCH64_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-\r
+NOOPT_VS2017_AARCH64_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od /Oi-\r
+\r
+  DEBUG_VS2017_AARCH64_ASM_FLAGS   = /nologo /g\r
+RELEASE_VS2017_AARCH64_ASM_FLAGS   = /nologo\r
+NOOPT_VS2017_AARCH64_ASM_FLAGS     = /nologo\r
+\r
+  DEBUG_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG\r
+RELEASE_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /MERGE:.rdata=.data\r
+NOOPT_VS2017_AARCH64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG\r
+\r
+##################\r
+# EBC definitions\r
+##################\r
+*_VS2017_EBC_*_FAMILY            = INTEL\r
+\r
+*_VS2017_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe\r
+*_VS2017_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe\r
+*_VS2017_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe\r
+*_VS2017_EBC_SLINK_PATH          = DEF(VS2017_BIN_IA32)\link.exe\r
+*_VS2017_EBC_DLINK_PATH          = DEF(VS2017_BIN_IA32)\link.exe\r
+\r
+*_VS2017_EBC_MAKE_FLAGS          = /nologo\r
+*_VS2017_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h\r
+*_VS2017_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)\r
+*_VS2017_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2017_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC\r
+*_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\r
+\r
 ####################################################################################\r
 #\r
 # Microsoft Device Driver Kit 3790.1830 (IA-32, X64, Itanium, with Link Time Code Generation)\r
@@ -4148,33 +4001,6 @@ NOOPT_DDK3790_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_DDK3790_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4078 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
 NOOPT_DDK3790_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_DDK3790_IPF_CC_PATH      = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790_IPF_SLINK_PATH   = DEF(WINDDK_BIN64)\lib.exe\r
-*_DDK3790_IPF_DLINK_PATH   = DEF(WINDDK_BIN64)\link.exe\r
-*_DDK3790_IPF_PP_PATH      = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790_IPF_VFRPP_PATH   = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790_IPF_APP_PATH     = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790_IPF_ASM_PATH     = DEF(WINDDK_BIN64)\ias.exe\r
-*_DDK3790_IPF_ASLCC_PATH     = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790_IPF_ASLPP_PATH     = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790_IPF_ASLDLINK_PATH  = DEF(WINDDK_BIN64)\link.exe\r
-\r
-\r
-  DEBUG_DDK3790_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_DDK3790_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_DDK3790_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_DDK3790_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_DDK3790_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_DDK3790_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_DDK3790_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_DDK3790_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_DDK3790_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -4282,33 +4108,6 @@ NOOPT_DDK3790xASL_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_DDK3790xASL_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4078 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
 NOOPT_DDK3790xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_DDK3790xASL_IPF_CC_PATH      = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790xASL_IPF_SLINK_PATH   = DEF(WINDDK_BIN64)\lib.exe\r
-*_DDK3790xASL_IPF_DLINK_PATH   = DEF(WINDDK_BIN64)\link.exe\r
-*_DDK3790xASL_IPF_PP_PATH      = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790xASL_IPF_VFRPP_PATH   = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790xASL_IPF_APP_PATH     = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790xASL_IPF_ASM_PATH     = DEF(WINDDK_BIN64)\ias.exe\r
-*_DDK3790xASL_IPF_ASLCC_PATH     = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790xASL_IPF_ASLPP_PATH     = DEF(WINDDK_BIN64)\cl.exe\r
-*_DDK3790xASL_IPF_ASLDLINK_PATH  = DEF(WINDDK_BIN64)\link.exe\r
-\r
-\r
-  DEBUG_DDK3790xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi\r
-RELEASE_DDK3790xASL_IPF_CC_FLAGS     = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32\r
-NOOPT_DDK3790xASL_IPF_CC_FLAGS       = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od\r
-\r
-  DEBUG_DDK3790xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_DDK3790xASL_IPF_ASM_FLAGS    = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_DDK3790xASL_IPF_ASM_FLAGS      = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-\r
-  DEBUG_DDK3790xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_DDK3790xASL_IPF_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_DDK3790xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -4335,48 +4134,49 @@ NOOPT_DDK3790xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF
 *_*_*_SYMRENAME_FLAGS           = Symbol renaming not needed for\r
 DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug\r
 RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG   =\r
+NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug\r
+*_*_*_DTC_FLAGS                    = -H epapr\r
+*_*_*_DTCPP_PATH                   = DEF(DTCPP_BIN)\r
+*_*_*_DTC_PATH                     = DEF(DTC_BIN)\r
 \r
-DEFINE GCC_ALL_CC_FLAGS            = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common\r
+DEFINE GCC_ALL_CC_FLAGS            = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common\r
 DEFINE GCC_IA32_CC_FLAGS           = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe\r
 DEFINE GCC_X64_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe\r
-DEFINE GCC_IPF_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency\r
-DEFINE GCC_ARM_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin -Wno-address -mthumb -mfloat-abi=soft\r
+DEFINE GCC_ARM_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie\r
 DEFINE GCC_ARM_CC_XIPFLAGS         = -mno-unaligned-access\r
-DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char  -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin -Wno-address -fno-asynchronous-unwind-tables\r
-DEFINE GCC_AARCH64_CC_XIPFLAGS     = -mstrict-align\r
+DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char  -ffunction-sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-pic -fno-pie -ffixed-x18\r
+DEFINE GCC_AARCH64_CC_XIPFLAGS     = -mstrict-align -mgeneral-regs-only\r
 DEFINE GCC_DLINK_FLAGS_COMMON      = -nostdlib --pie\r
 DEFINE GCC_DLINK2_FLAGS_COMMON     = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds\r
 DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections\r
 DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
 DEFINE GCC_ARM_DLINK_FLAGS         = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20\r
 DEFINE GCC_AARCH64_DLINK_FLAGS     = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20\r
+DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z common-page-size=0x20\r
 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)\r
-DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)\r
-DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)\r
+DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)\r
+DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)\r
 DEFINE GCC_IA32_X64_DLINK_FLAGS    = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-DEFINE GCC_IPF_DLINK_FLAGS         = -nostdlib -O2 --gc-sections --dll -static --entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-DEFINE GCC_IPF_OBJCOPY_FLAGS       = -I elf64-ia64-little -O efi-bsdrv-ia64\r
-DEFINE GCC_IPF_SYMRENAME_FLAGS     = --redefine-sym memcpy=CopyMem\r
 DEFINE GCC_ASM_FLAGS               = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h\r
 DEFINE GCC_PP_FLAGS                = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
 DEFINE GCC_VFRPP_FLAGS             = -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
-DEFINE GCC_ASLPP_FLAGS             = -x c -E -P\r
+DEFINE GCC_ASLPP_FLAGS             = -x c -E -include AutoGen.h\r
 DEFINE GCC_ASLCC_FLAGS             = -x c\r
 DEFINE GCC_WINDRES_FLAGS           = -J rc -O coff\r
+DEFINE GCC_DTCPP_FLAGS             = -E -x assembler-with-cpp -imacros $(DEST_DIR_DEBUG)/AutoGen.h -nostdinc -undef\r
 DEFINE GCC_IA32_RC_FLAGS           = -I binary -O elf32-i386          -B i386    --rename-section .data=.hii\r
 DEFINE GCC_X64_RC_FLAGS            = -I binary -O elf64-x86-64        -B i386    --rename-section .data=.hii\r
-DEFINE GCC_IPF_RC_FLAGS            = -I binary -O elf64-ia64-little   -B ia64    --rename-section .data=.hii\r
 DEFINE GCC_ARM_RC_FLAGS            = -I binary -O elf32-littlearm     -B arm     --rename-section .data=.hii\r
 DEFINE GCC_AARCH64_RC_FLAGS        = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii\r
 \r
-DEFINE GCC44_ALL_CC_FLAGS            = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings\r
+DEFINE GCC44_ALL_CC_FLAGS            = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings\r
 DEFINE GCC44_IA32_CC_FLAGS           = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables\r
-DEFINE GCC44_X64_CC_FLAGS            = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -Os -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables\r
+DEFINE GCC44_X64_CC_FLAGS            = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables\r
 DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20\r
 DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable\r
-DEFINE GCC44_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+DEFINE GCC44_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive\r
 DEFINE GCC44_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)\r
-DEFINE GCC44_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64\r
+DEFINE GCC44_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie\r
 DEFINE GCC44_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)\r
 DEFINE GCC44_ASM_FLAGS               = DEF(GCC_ASM_FLAGS)\r
 \r
@@ -4400,7 +4200,7 @@ DEFINE GCC46_X64_DLINK_FLAGS         = DEF(GCC45_X64_DLINK_FLAGS)
 DEFINE GCC46_X64_DLINK2_FLAGS        = DEF(GCC45_X64_DLINK2_FLAGS)\r
 DEFINE GCC46_ASM_FLAGS               = DEF(GCC45_ASM_FLAGS)\r
 DEFINE GCC46_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian\r
-DEFINE GCC46_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations -save-temps\r
+DEFINE GCC46_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations\r
 DEFINE GCC46_ARM_CC_XIPFLAGS         = -D__ARM_FEATURE_UNALIGNED=0\r
 DEFINE GCC46_ARM_DLINK_FLAGS         = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--oformat=elf32-littlearm\r
 DEFINE GCC46_ARM_DLINK2_FLAGS        = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220\r
@@ -4419,7 +4219,7 @@ DEFINE GCC47_ARM_ASM_FLAGS           = DEF(GCC46_ARM_ASM_FLAGS)
 DEFINE GCC47_AARCH64_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian\r
 DEFINE GCC47_ARM_CC_FLAGS            = DEF(GCC46_ARM_CC_FLAGS)\r
 DEFINE GCC47_ARM_CC_XIPFLAGS         = DEF(GCC_ARM_CC_XIPFLAGS)\r
-DEFINE GCC47_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) -save-temps\r
+DEFINE GCC47_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)\r
 DEFINE GCC47_AARCH64_CC_XIPFLAGS     = DEF(GCC_AARCH64_CC_XIPFLAGS)\r
 DEFINE GCC47_ARM_DLINK_FLAGS         = DEF(GCC46_ARM_DLINK_FLAGS)\r
 DEFINE GCC47_ARM_DLINK2_FLAGS        = DEF(GCC46_ARM_DLINK2_FLAGS)\r
@@ -4454,16 +4254,16 @@ DEFINE GCC49_IA32_CC_FLAGS           = DEF(GCC48_IA32_CC_FLAGS)
 DEFINE GCC49_X64_CC_FLAGS            = DEF(GCC48_X64_CC_FLAGS)\r
 DEFINE GCC49_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40\r
 DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable\r
-DEFINE GCC49_IA32_X64_DLINK_FLAGS    = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+DEFINE GCC49_IA32_X64_DLINK_FLAGS    = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive\r
 DEFINE GCC49_IA32_DLINK2_FLAGS       = DEF(GCC48_IA32_DLINK2_FLAGS)\r
-DEFINE GCC49_X64_DLINK_FLAGS         = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64\r
+DEFINE GCC49_X64_DLINK_FLAGS         = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie\r
 DEFINE GCC49_X64_DLINK2_FLAGS        = DEF(GCC48_X64_DLINK2_FLAGS)\r
 DEFINE GCC49_ASM_FLAGS               = DEF(GCC48_ASM_FLAGS)\r
 DEFINE GCC49_ARM_ASM_FLAGS           = DEF(GCC48_ARM_ASM_FLAGS)\r
 DEFINE GCC49_AARCH64_ASM_FLAGS       = DEF(GCC48_AARCH64_ASM_FLAGS)\r
 DEFINE GCC49_ARM_CC_FLAGS            = DEF(GCC48_ARM_CC_FLAGS)\r
 DEFINE GCC49_ARM_CC_XIPFLAGS         = DEF(GCC48_ARM_CC_XIPFLAGS)\r
-DEFINE GCC49_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -save-temps\r
+DEFINE GCC49_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS)\r
 DEFINE GCC49_AARCH64_CC_XIPFLAGS     = DEF(GCC48_AARCH64_CC_XIPFLAGS)\r
 DEFINE GCC49_ARM_DLINK_FLAGS         = DEF(GCC48_ARM_DLINK_FLAGS)\r
 DEFINE GCC49_ARM_DLINK2_FLAGS        = DEF(GCC48_ARM_DLINK2_FLAGS)\r
@@ -4472,13 +4272,13 @@ DEFINE GCC49_AARCH64_DLINK2_FLAGS    = DEF(GCC48_AARCH64_DLINK2_FLAGS)
 DEFINE GCC49_ARM_ASLDLINK_FLAGS      = DEF(GCC48_ARM_ASLDLINK_FLAGS)\r
 DEFINE GCC49_AARCH64_ASLDLINK_FLAGS  = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)\r
 \r
-DEFINE GCC5_IA32_CC_FLAGS            = DEF(GCC49_IA32_CC_FLAGS) -flto -fno-builtin\r
-DEFINE GCC5_X64_CC_FLAGS             = DEF(GCC49_X64_CC_FLAGS) -flto -fno-builtin -DUSING_LTO\r
+DEFINE GCC5_IA32_CC_FLAGS            = DEF(GCC49_IA32_CC_FLAGS) -fno-pic -fno-pie\r
+DEFINE GCC5_X64_CC_FLAGS             = DEF(GCC49_X64_CC_FLAGS)\r
 DEFINE GCC5_IA32_X64_DLINK_COMMON    = DEF(GCC49_IA32_X64_DLINK_COMMON)\r
 DEFINE GCC5_IA32_X64_ASLDLINK_FLAGS  = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS)\r
-DEFINE GCC5_IA32_X64_DLINK_FLAGS     = DEF(GCC49_IA32_X64_DLINK_FLAGS) -flto\r
+DEFINE GCC5_IA32_X64_DLINK_FLAGS     = DEF(GCC49_IA32_X64_DLINK_FLAGS)\r
 DEFINE GCC5_IA32_DLINK2_FLAGS        = DEF(GCC49_IA32_DLINK2_FLAGS) -Wno-error\r
-DEFINE GCC5_X64_DLINK_FLAGS          = DEF(GCC49_X64_DLINK_FLAGS) -flto\r
+DEFINE GCC5_X64_DLINK_FLAGS          = DEF(GCC49_X64_DLINK_FLAGS)\r
 DEFINE GCC5_X64_DLINK2_FLAGS         = DEF(GCC49_X64_DLINK2_FLAGS) -Wno-error\r
 DEFINE GCC5_ASM_FLAGS                = DEF(GCC49_ASM_FLAGS)\r
 DEFINE GCC5_ARM_ASM_FLAGS            = DEF(GCC49_ARM_ASM_FLAGS)\r
@@ -4560,29 +4360,6 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 *_UNIXGCC_X64_OBJCOPY_FLAGS         =\r
 *_UNIXGCC_X64_NASM_FLAGS            = -f win64\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_UNIXGCC_IPF_CC_PATH              = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)gcc\r
-*_UNIXGCC_IPF_ASLCC_PATH           = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)gcc\r
-*_UNIXGCC_IPF_SLINK_PATH           = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)ar\r
-*_UNIXGCC_IPF_DLINK_PATH           = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)ld\r
-*_UNIXGCC_IPF_ASLDLINK_PATH        = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)ld\r
-*_UNIXGCC_IPF_ASM_PATH             = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)gcc\r
-*_UNIXGCC_IPF_PP_PATH              = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)gcc\r
-*_UNIXGCC_IPF_ASLPP_PATH           = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)gcc\r
-*_UNIXGCC_IPF_VFRPP_PATH           = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)gcc\r
-*_UNIXGCC_IPF_OBJCOPY_PATH         = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)objcopy\r
-*_UNIXGCC_IPF_SYMRENAME_PATH       = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)objcopy\r
-*_UNIXGCC_IPF_RC_PATH              = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)objcopy\r
-\r
-*_UNIXGCC_IPF_CC_FLAGS             = DEF(GCC_IPF_CC_FLAGS)\r
-*_UNIXGCC_IPF_DLINK_FLAGS          = DEF(GCC_IPF_DLINK_FLAGS)\r
-*_UNIXGCC_IPF_OBJCOPY_FLAGS        = DEF(GCC_IPF_OBJCOPY_FLAGS)\r
-*_UNIXGCC_IPF_SYMRENAME_FLAGS      = DEF(GCC_IPF_SYMRENAME_FLAGS)\r
-*_UNIXGCC_IPF_RC_FLAGS             = DEF(GCC_IPF_RC_FLAGS)\r
-\r
-\r
 ####################################################################################\r
 #\r
 # GCC 4.4 - This configuration is used to compile under Linux to produce\r
@@ -4591,7 +4368,7 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 ####################################################################################\r
 *_GCC44_*_*_FAMILY               = GCC\r
 \r
-*_GCC44_*_MAKE_PATH                    = DEF(GCC44_IA32_PREFIX)make\r
+*_GCC44_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make\r
 *_GCC44_*_*_DLL                        = ENV(GCC44_DLL)\r
 *_GCC44_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
 \r
@@ -4621,13 +4398,16 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 *_GCC44_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32\r
 *_GCC44_IA32_ASLDLINK_FLAGS       = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386\r
 *_GCC44_IA32_ASM_FLAGS            = DEF(GCC44_ASM_FLAGS) -m32 --32 -march=i386\r
-*_GCC44_IA32_CC_FLAGS             = DEF(GCC44_IA32_CC_FLAGS) -Os\r
 *_GCC44_IA32_DLINK_FLAGS          = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386\r
 *_GCC44_IA32_DLINK2_FLAGS         = DEF(GCC44_IA32_DLINK2_FLAGS)\r
 *_GCC44_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)\r
 *_GCC44_IA32_OBJCOPY_FLAGS        = \r
 *_GCC44_IA32_NASM_FLAGS           = -f elf32\r
 \r
+  DEBUG_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -Os\r
+RELEASE_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -Os\r
+  NOOPT_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -O0\r
+\r
 ##################\r
 # GCC44 X64 definitions\r
 ##################\r
@@ -4646,13 +4426,16 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 *_GCC44_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64\r
 *_GCC44_X64_ASLDLINK_FLAGS       = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64\r
 *_GCC44_X64_ASM_FLAGS            = DEF(GCC44_ASM_FLAGS) -m64 --64 -melf_x86_64\r
-*_GCC44_X64_CC_FLAGS             = DEF(GCC44_X64_CC_FLAGS)\r
 *_GCC44_X64_DLINK_FLAGS          = DEF(GCC44_X64_DLINK_FLAGS)\r
 *_GCC44_X64_DLINK2_FLAGS         = DEF(GCC44_X64_DLINK2_FLAGS)\r
 *_GCC44_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)\r
 *_GCC44_X64_OBJCOPY_FLAGS        = \r
 *_GCC44_X64_NASM_FLAGS           = -f elf64\r
 \r
+  DEBUG_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os\r
+RELEASE_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os\r
+  NOOPT_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -O0\r
+\r
 ####################################################################################\r
 #\r
 # GCC 4.5 - This configuration is used to compile under Linux to produce\r
@@ -4661,7 +4444,7 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 ####################################################################################\r
 *_GCC45_*_*_FAMILY               = GCC\r
 \r
-*_GCC45_*_MAKE_PATH                    = DEF(GCC45_IA32_PREFIX)make\r
+*_GCC45_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make\r
 *_GCC45_*_*_DLL                        = ENV(GCC45_DLL)\r
 *_GCC45_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
 \r
@@ -4691,13 +4474,16 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 *_GCC45_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32\r
 *_GCC45_IA32_ASLDLINK_FLAGS       = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386\r
 *_GCC45_IA32_ASM_FLAGS            = DEF(GCC45_ASM_FLAGS) -m32 --32 -march=i386\r
-*_GCC45_IA32_CC_FLAGS             = DEF(GCC45_IA32_CC_FLAGS) -Os\r
 *_GCC45_IA32_DLINK_FLAGS          = DEF(GCC45_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386\r
 *_GCC45_IA32_DLINK2_FLAGS         = DEF(GCC45_IA32_DLINK2_FLAGS)\r
 *_GCC45_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)\r
 *_GCC45_IA32_OBJCOPY_FLAGS        = \r
 *_GCC45_IA32_NASM_FLAGS           = -f elf32\r
 \r
+  DEBUG_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -Os\r
+RELEASE_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -Os\r
+  NOOPT_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -O0\r
+\r
 ##################\r
 # GCC45 X64 definitions\r
 ##################\r
@@ -4716,13 +4502,16 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 *_GCC45_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64\r
 *_GCC45_X64_ASLDLINK_FLAGS       = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64\r
 *_GCC45_X64_ASM_FLAGS            = DEF(GCC45_ASM_FLAGS) -m64 --64 -melf_x86_64\r
-*_GCC45_X64_CC_FLAGS             = DEF(GCC45_X64_CC_FLAGS)\r
 *_GCC45_X64_DLINK_FLAGS          = DEF(GCC45_X64_DLINK_FLAGS)\r
 *_GCC45_X64_DLINK2_FLAGS         = DEF(GCC45_X64_DLINK2_FLAGS)\r
 *_GCC45_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)\r
 *_GCC45_X64_OBJCOPY_FLAGS        = \r
 *_GCC45_X64_NASM_FLAGS           = -f elf64\r
 \r
+  DEBUG_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os\r
+RELEASE_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os\r
+  NOOPT_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -O0\r
+\r
 ####################################################################################\r
 #\r
 # GCC 4.6 - This configuration is used to compile under Linux to produce\r
@@ -4731,7 +4520,7 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 ####################################################################################\r
 *_GCC46_*_*_FAMILY               = GCC\r
 \r
-*_GCC46_*_MAKE_PATH                    = DEF(GCC46_IA32_PREFIX)make\r
+*_GCC46_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make\r
 *_GCC46_*_*_DLL                        = ENV(GCC46_DLL)\r
 *_GCC46_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
 \r
@@ -4769,6 +4558,7 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 \r
   DEBUG_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os\r
 RELEASE_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+  NOOPT_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC46 X64 definitions\r
@@ -4794,8 +4584,9 @@ RELEASE_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os -Wno-unused-but
 *_GCC46_X64_OBJCOPY_FLAGS        = \r
 *_GCC46_X64_NASM_FLAGS           = -f elf64\r
 \r
-  DEBUG_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS)\r
-RELEASE_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+  DEBUG_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Os\r
+RELEASE_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+  NOOPT_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC46 ARM definitions\r
@@ -4820,6 +4611,7 @@ RELEASE_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC46_ARM_ASM_FLAGS            = DEF(GCC46_ARM_ASM_FLAGS)\r
 *_GCC46_ARM_DLINK_FLAGS          = DEF(GCC46_ARM_DLINK_FLAGS)\r
 *_GCC46_ARM_DLINK2_FLAGS         = DEF(GCC46_ARM_DLINK2_FLAGS)\r
+*_GCC46_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC46_ARM_PLATFORM_FLAGS       = -march=armv7-a\r
 *_GCC46_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC46_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)\r
@@ -4828,6 +4620,7 @@ RELEASE_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Wno-unused-but-set-v
 \r
   DEBUG_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -O0\r
 RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-variable\r
+  NOOPT_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -O0\r
 \r
 ####################################################################################\r
 #\r
@@ -4837,7 +4630,7 @@ RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-v
 ####################################################################################\r
 *_GCC47_*_*_FAMILY               = GCC\r
 \r
-*_GCC47_*_MAKE_PATH                    = DEF(GCC47_IA32_PREFIX)make\r
+*_GCC47_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make\r
 *_GCC47_*_*_DLL                        = ENV(GCC47_DLL)\r
 *_GCC47_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
 \r
@@ -4875,6 +4668,7 @@ RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-v
 \r
   DEBUG_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -Os\r
 RELEASE_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+  NOOPT_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC47 X64 definitions\r
@@ -4900,8 +4694,9 @@ RELEASE_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -Os -Wno-unused-but
 *_GCC47_X64_OBJCOPY_FLAGS        = \r
 *_GCC47_X64_NASM_FLAGS           = -f elf64\r
 \r
-  DEBUG_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS)\r
-RELEASE_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+  DEBUG_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Os\r
+RELEASE_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+  NOOPT_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC47 ARM definitions\r
@@ -4925,6 +4720,7 @@ RELEASE_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC47_ARM_ASM_FLAGS            = DEF(GCC47_ARM_ASM_FLAGS)\r
 *_GCC47_ARM_DLINK_FLAGS          = DEF(GCC47_ARM_DLINK_FLAGS)\r
 *_GCC47_ARM_DLINK2_FLAGS         = DEF(GCC47_ARM_DLINK2_FLAGS)\r
+*_GCC47_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC47_ARM_PLATFORM_FLAGS       = -march=armv7-a\r
 *_GCC47_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC47_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)\r
@@ -4933,6 +4729,7 @@ RELEASE_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Wno-unused-but-set-v
 \r
   DEBUG_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -O0\r
 RELEASE_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-variable\r
+  NOOPT_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC47 AARCH64 definitions\r
@@ -4953,6 +4750,7 @@ RELEASE_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC47_AARCH64_ASM_FLAGS        = DEF(GCC47_AARCH64_ASM_FLAGS)\r
 *_GCC47_AARCH64_DLINK_FLAGS      = DEF(GCC47_AARCH64_DLINK_FLAGS)\r
 *_GCC47_AARCH64_DLINK2_FLAGS     = DEF(GCC47_AARCH64_DLINK2_FLAGS)\r
+*_GCC47_AARCH64_DTCPP_FLAGS      = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC47_AARCH64_PLATFORM_FLAGS   =\r
 *_GCC47_AARCH64_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC47_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)\r
@@ -4961,6 +4759,7 @@ RELEASE_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-v
 \r
   DEBUG_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -O0\r
 RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable\r
+  NOOPT_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -O0\r
 \r
 ####################################################################################\r
 #\r
@@ -4970,7 +4769,7 @@ RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s
 ####################################################################################\r
 *_GCC48_*_*_FAMILY               = GCC\r
 \r
-*_GCC48_*_MAKE_PATH                    = DEF(GCC48_IA32_PREFIX)make\r
+*_GCC48_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make\r
 *_GCC48_*_*_DLL                        = ENV(GCC48_DLL)\r
 *_GCC48_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
 \r
@@ -5008,6 +4807,7 @@ RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s
 \r
   DEBUG_GCC48_IA32_CC_FLAGS       = DEF(GCC48_IA32_CC_FLAGS) -Os\r
 RELEASE_GCC48_IA32_CC_FLAGS       = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+  NOOPT_GCC48_IA32_CC_FLAGS       = DEF(GCC48_IA32_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC48 X64 definitions\r
@@ -5033,8 +4833,9 @@ RELEASE_GCC48_IA32_CC_FLAGS       = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but
 *_GCC48_X64_OBJCOPY_FLAGS        = \r
 *_GCC48_X64_NASM_FLAGS           = -f elf64\r
 \r
-  DEBUG_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS)\r
-RELEASE_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+  DEBUG_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -Os\r
+RELEASE_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+  NOOPT_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC48 ARM definitions\r
@@ -5058,6 +4859,7 @@ RELEASE_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC48_ARM_ASM_FLAGS            = DEF(GCC48_ARM_ASM_FLAGS)\r
 *_GCC48_ARM_DLINK_FLAGS          = DEF(GCC48_ARM_DLINK_FLAGS)\r
 *_GCC48_ARM_DLINK2_FLAGS         = DEF(GCC48_ARM_DLINK2_FLAGS)\r
+*_GCC48_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC48_ARM_PLATFORM_FLAGS       = -march=armv7-a\r
 *_GCC48_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC48_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)\r
@@ -5066,6 +4868,7 @@ RELEASE_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -Wno-unused-but-set-v
 \r
   DEBUG_GCC48_ARM_CC_FLAGS       = DEF(GCC48_ARM_CC_FLAGS) -O0\r
 RELEASE_GCC48_ARM_CC_FLAGS       = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-variable\r
+  NOOPT_GCC48_ARM_CC_FLAGS       = DEF(GCC48_ARM_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC48 AARCH64 definitions\r
@@ -5086,6 +4889,7 @@ RELEASE_GCC48_ARM_CC_FLAGS       = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC48_AARCH64_ASM_FLAGS        = DEF(GCC48_AARCH64_ASM_FLAGS)\r
 *_GCC48_AARCH64_DLINK_FLAGS      = DEF(GCC48_AARCH64_DLINK_FLAGS)\r
 *_GCC48_AARCH64_DLINK2_FLAGS     = DEF(GCC48_AARCH64_DLINK2_FLAGS)\r
+*_GCC48_AARCH64_DTCPP_FLAGS      = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC48_AARCH64_PLATFORM_FLAGS   =\r
 *_GCC48_AARCH64_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC48_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)\r
@@ -5094,6 +4898,7 @@ RELEASE_GCC48_ARM_CC_FLAGS       = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-v
 \r
   DEBUG_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -O0\r
 RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable\r
+  NOOPT_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -O0\r
 \r
 ####################################################################################\r
 #\r
@@ -5103,7 +4908,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
 ####################################################################################\r
 *_GCC49_*_*_FAMILY               = GCC\r
 \r
-*_GCC49_*_MAKE_PATH                    = DEF(GCC49_IA32_PREFIX)make\r
+*_GCC49_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make\r
 *_GCC49_*_*_DLL                        = ENV(GCC49_DLL)\r
 *_GCC49_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
 \r
@@ -5140,7 +4945,8 @@ RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_GCC49_IA32_NASM_FLAGS           = -f elf32\r
 \r
   DEBUG_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Os\r
-RELEASE_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+RELEASE_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable\r
+  NOOPT_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC49 X64 definitions\r
@@ -5166,8 +4972,9 @@ RELEASE_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but
 *_GCC49_X64_OBJCOPY_FLAGS        = \r
 *_GCC49_X64_NASM_FLAGS           = -f elf64\r
 \r
-  DEBUG_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS)\r
-RELEASE_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+  DEBUG_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Os\r
+RELEASE_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable\r
+  NOOPT_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC49 ARM definitions\r
@@ -5191,6 +4998,7 @@ RELEASE_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC49_ARM_ASM_FLAGS            = DEF(GCC49_ARM_ASM_FLAGS)\r
 *_GCC49_ARM_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)\r
 *_GCC49_ARM_DLINK2_FLAGS         = DEF(GCC49_ARM_DLINK2_FLAGS)\r
+*_GCC49_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a\r
 *_GCC49_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC49_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)\r
@@ -5198,7 +5006,8 @@ RELEASE_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC49_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)\r
 \r
   DEBUG_GCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -O0\r
-RELEASE_GCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable\r
+RELEASE_GCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable\r
+  NOOPT_GCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -O0\r
 \r
 ##################\r
 # GCC49 AARCH64 definitions\r
@@ -5218,6 +5027,7 @@ RELEASE_GCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC49_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)\r
 *_GCC49_AARCH64_ASM_FLAGS        = DEF(GCC49_AARCH64_ASM_FLAGS)\r
 *_GCC49_AARCH64_DLINK2_FLAGS     = DEF(GCC49_AARCH64_DLINK2_FLAGS)\r
+*_GCC49_AARCH64_DTCPP_FLAGS      = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC49_AARCH64_PLATFORM_FLAGS   =\r
 *_GCC49_AARCH64_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC49_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)\r
@@ -5228,9 +5038,13 @@ RELEASE_GCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-v
   DEBUG_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000\r
   DEBUG_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20\r
 \r
-RELEASE_GCC49_AARCH64_CC_FLAGS     = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -mcmodel=tiny\r
+RELEASE_GCC49_AARCH64_CC_FLAGS     = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable -mcmodel=tiny\r
 RELEASE_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)\r
 \r
+  NOOPT_GCC49_AARCH64_CC_FLAGS     = DEF(GCC49_AARCH64_CC_FLAGS) -O0 -mcmodel=small\r
+  NOOPT_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0\r
+  NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0\r
+\r
 ####################################################################################\r
 #\r
 # GCC 5 - This configuration is used to compile under Linux to produce\r
@@ -5239,7 +5053,7 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)
 ####################################################################################\r
 *_GCC5_*_*_FAMILY                = GCC\r
 \r
-*_GCC5_*_MAKE_PATH               = DEF(GCC5_IA32_PREFIX)make\r
+*_GCC5_*_MAKE_PATH               = DEF(GCC_HOST_PREFIX)make\r
 *_GCC5_*_*_DLL                   = ENV(GCC5_DLL)\r
 *_GCC5_*_ASL_PATH                = DEF(UNIX_IASL_BIN)\r
 \r
@@ -5267,16 +5081,21 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)
 *_GCC5_IA32_RC_PATH              = DEF(GCC5_IA32_PREFIX)objcopy\r
 \r
 *_GCC5_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto\r
-*_GCC5_IA32_ASLDLINK_FLAGS       = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386\r
+*_GCC5_IA32_ASLDLINK_FLAGS       = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie\r
 *_GCC5_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 -march=i386\r
-*_GCC5_IA32_DLINK_FLAGS          = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Os -Wl,-m,elf_i386,--oformat=elf32-i386\r
-*_GCC5_IA32_DLINK2_FLAGS         = DEF(GCC5_IA32_DLINK2_FLAGS)\r
+*_GCC5_IA32_DLINK2_FLAGS         = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie\r
 *_GCC5_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)\r
 *_GCC5_IA32_OBJCOPY_FLAGS        =\r
 *_GCC5_IA32_NASM_FLAGS           = -f elf32\r
 \r
-  DEBUG_GCC5_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -Os\r
-RELEASE_GCC5_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+  DEBUG_GCC5_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -flto -Os\r
+  DEBUG_GCC5_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386\r
+\r
+RELEASE_GCC5_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable -Wno-unused-const-variable\r
+RELEASE_GCC5_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386\r
+\r
+  NOOPT_GCC5_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -O0\r
+  NOOPT_GCC5_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0\r
 \r
 ##################\r
 # GCC5 X64 definitions\r
@@ -5296,14 +5115,19 @@ RELEASE_GCC5_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -Os -Wno-unused-but-s
 *_GCC5_X64_ASLCC_FLAGS           = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto\r
 *_GCC5_X64_ASLDLINK_FLAGS        = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64\r
 *_GCC5_X64_ASM_FLAGS             = DEF(GCC5_ASM_FLAGS) -m64\r
-*_GCC5_X64_DLINK_FLAGS           = DEF(GCC5_X64_DLINK_FLAGS) -Os\r
 *_GCC5_X64_DLINK2_FLAGS          = DEF(GCC5_X64_DLINK2_FLAGS)\r
 *_GCC5_X64_RC_FLAGS              = DEF(GCC_X64_RC_FLAGS)\r
 *_GCC5_X64_OBJCOPY_FLAGS         =\r
 *_GCC5_X64_NASM_FLAGS            = -f elf64\r
 \r
-  DEBUG_GCC5_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS)\r
-RELEASE_GCC5_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+  DEBUG_GCC5_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os\r
+  DEBUG_GCC5_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os\r
+\r
+RELEASE_GCC5_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable -Wno-unused-const-variable\r
+RELEASE_GCC5_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os\r
+\r
+  NOOPT_GCC5_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -O0\r
+  NOOPT_GCC5_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -O0\r
 \r
 ##################\r
 # GCC5 ARM definitions\r
@@ -5324,18 +5148,22 @@ RELEASE_GCC5_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -Wno-unused-but-set-va
 *_GCC5_ARM_ASLDLINK_FLAGS        = DEF(GCC5_ARM_ASLDLINK_FLAGS)\r
 *_GCC5_ARM_ASM_FLAGS             = DEF(GCC5_ARM_ASM_FLAGS)\r
 *_GCC5_ARM_DLINK2_FLAGS          = DEF(GCC5_ARM_DLINK2_FLAGS)\r
+*_GCC5_ARM_DTCPP_FLAGS           = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC5_ARM_PLATFORM_FLAGS        = -march=armv7-a\r
 *_GCC5_ARM_PP_FLAGS              = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC5_ARM_RC_FLAGS              = DEF(GCC_ARM_RC_FLAGS)\r
 *_GCC5_ARM_VFRPP_FLAGS           = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)\r
 *_GCC5_ARM_CC_XIPFLAGS           = DEF(GCC5_ARM_CC_XIPFLAGS)\r
 \r
-  DEBUG_GCC5_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -O0\r
-  DEBUG_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS)\r
+  DEBUG_GCC5_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable\r
+  DEBUG_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm\r
 \r
-RELEASE_GCC5_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable\r
+RELEASE_GCC5_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable\r
 RELEASE_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm\r
 \r
+  NOOPT_GCC5_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -O0\r
+  NOOPT_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -O0\r
+\r
 ##################\r
 # GCC5 AARCH64 definitions\r
 ##################\r
@@ -5354,18 +5182,23 @@ RELEASE_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKS
 *_GCC5_AARCH64_ASLDLINK_FLAGS    = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)\r
 *_GCC5_AARCH64_ASM_FLAGS         = DEF(GCC5_AARCH64_ASM_FLAGS)\r
 *_GCC5_AARCH64_DLINK2_FLAGS      = DEF(GCC5_AARCH64_DLINK2_FLAGS)\r
+*_GCC5_AARCH64_DTCPP_FLAGS       = DEF(GCC_DTCPP_FLAGS)\r
 *_GCC5_AARCH64_PLATFORM_FLAGS    =\r
 *_GCC5_AARCH64_PP_FLAGS          = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC5_AARCH64_RC_FLAGS          = DEF(GCC_AARCH64_RC_FLAGS)\r
 *_GCC5_AARCH64_VFRPP_FLAGS       = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)\r
 *_GCC5_AARCH64_CC_XIPFLAGS       = DEF(GCC5_AARCH64_CC_XIPFLAGS)\r
 \r
-  DEBUG_GCC5_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small\r
-  DEBUG_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000\r
+  DEBUG_GCC5_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -mcmodel=small\r
+  DEBUG_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch -mcmodel=small\r
   DEBUG_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20\r
 \r
-RELEASE_GCC5_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -mcmodel=tiny\r
-RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64\r
+RELEASE_GCC5_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -mcmodel=tiny\r
+RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch\r
+\r
+  NOOPT_GCC5_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small\r
+  NOOPT_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0\r
+  NOOPT_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0\r
 \r
 ####################################################################################\r
 #\r
@@ -5385,6 +5218,7 @@ RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(W
 *_CLANG35_*_APP_FLAGS            =\r
 *_CLANG35_*_ASL_FLAGS            = DEF(IASL_FLAGS)\r
 *_CLANG35_*_ASL_OUTFLAGS         = DEF(IASL_OUTFLAGS)\r
+*_CLANG35_*_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)\r
 \r
 *_CLANG35_*_CC_PATH              = ENV(CLANG35_BIN)clang\r
 *_CLANG35_*_ASM_PATH             = ENV(CLANG35_BIN)clang\r
@@ -5398,7 +5232,7 @@ RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(W
 DEFINE CLANG35_ARM_TARGET        = -target arm-linux-gnueabihf\r
 DEFINE CLANG35_AARCH64_TARGET    = -target aarch64-linux-gnu\r
 \r
-DEFINE CLANG35_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body\r
+DEFINE CLANG35_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unknown-warning-option\r
 DEFINE CLANG35_ARM_CC_FLAGS      = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG35_ARM_TARGET) DEF(CLANG35_WARNING_OVERRIDES)\r
 DEFINE CLANG35_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG35_AARCH64_TARGET) -mcmodel=small DEF(CLANG35_WARNING_OVERRIDES)\r
 \r
@@ -5413,15 +5247,16 @@ DEFINE CLANG35_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG35_AARCH64
 *_CLANG35_ARM_ASM_FLAGS          = DEF(GCC_ASM_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments\r
 *_CLANG35_ARM_DLINK_FLAGS        = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)\r
 *_CLANG35_ARM_DLINK2_FLAGS       = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220\r
-*_CLANG35_ARM_PLATFORM_FLAGS     =\r
+*_CLANG35_ARM_PLATFORM_FLAGS     = -march=armv7-a\r
 *_CLANG35_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
 *_CLANG35_ARM_RC_FLAGS           = DEF(GCC_ARM_RC_FLAGS)\r
 *_CLANG35_ARM_VFRPP_FLAGS        = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
 *_CLANG35_ARM_ASLPP_FLAGS        = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_ARM_TARGET)\r
 *_CLANG35_ARM_CC_XIPFLAGS        = DEF(GCC_ARM_CC_XIPFLAGS)\r
 \r
-  DEBUG_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0\r
+  DEBUG_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O1\r
 RELEASE_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -Oz\r
+  NOOPT_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0\r
 \r
 ##################\r
 # CLANG35 AARCH64 definitions\r
@@ -5442,8 +5277,9 @@ RELEASE_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(P
 *_CLANG35_AARCH64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_AARCH64_TARGET)\r
 *_CLANG35_AARCH64_CC_XIPFLAGS    = DEF(GCC_AARCH64_CC_XIPFLAGS)\r
 \r
-  DEBUG_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0\r
+  DEBUG_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O1\r
 RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -Oz\r
+  NOOPT_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0\r
 \r
 ####################################################################################\r
 #\r
@@ -5466,7 +5302,8 @@ DEFINE CLANG38_X64_PREFIX           = ENV(CLANG38_BIN)
 DEFINE CLANG38_IA32_TARGET          = -target i686-pc-linux-gnu\r
 DEFINE CLANG38_X64_TARGET           = -target x86_64-pc-linux-gnu\r
 \r
-DEFINE CLANG38_ALL_CC_FLAGS         = DEF(GCC44_ALL_CC_FLAGS) -Wno-empty-body -fno-stack-protector -fno-builtin -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-parentheses-equality -Wno-unknown-pragmas -Wno-tautological-constant-out-of-range-compare -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 -Wno-tautological-compare\r
+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\r
+DEFINE CLANG38_ALL_CC_FLAGS         = DEF(GCC44_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\r
 \r
 ###########################\r
 # CLANG38 IA32 definitions\r
@@ -5486,10 +5323,6 @@ DEFINE CLANG38_ALL_CC_FLAGS         = DEF(GCC44_ALL_CC_FLAGS) -Wno-empty-body -f
 *_CLANG38_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)\r
 *_CLANG38_IA32_ASLDLINK_FLAGS       = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386\r
 *_CLANG38_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)\r
-DEBUG_CLANG38_IA32_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g\r
-RELEASE_CLANG38_IA32_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET)\r
-*_CLANG38_IA32_DLINK_FLAGS          = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386\r
-*_CLANG38_IA32_DLINK2_FLAGS         = DEF(GCC5_IA32_DLINK2_FLAGS)\r
 *_CLANG38_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)\r
 *_CLANG38_IA32_OBJCOPY_FLAGS        =\r
 *_CLANG38_IA32_NASM_FLAGS           = -f elf32\r
@@ -5497,6 +5330,18 @@ RELEASE_CLANG38_IA32_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -
 *_CLANG38_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)\r
 *_CLANG38_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)\r
 \r
+DEBUG_CLANG38_IA32_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g\r
+DEBUG_CLANG38_IA32_DLINK_FLAGS      = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386\r
+DEBUG_CLANG38_IA32_DLINK2_FLAGS     = DEF(GCC5_IA32_DLINK2_FLAGS) -O3\r
+\r
+RELEASE_CLANG38_IA32_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET)\r
+RELEASE_CLANG38_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386\r
+RELEASE_CLANG38_IA32_DLINK2_FLAGS   = DEF(GCC5_IA32_DLINK2_FLAGS) -O3\r
+\r
+NOOPT_CLANG38_IA32_CC_FLAGS         = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g\r
+NOOPT_CLANG38_IA32_DLINK_FLAGS      = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386\r
+NOOPT_CLANG38_IA32_DLINK2_FLAGS     = DEF(GCC5_IA32_DLINK2_FLAGS) -O0\r
+\r
 ##########################\r
 # CLANG38 X64 definitions\r
 ##########################\r
@@ -5515,10 +5360,6 @@ RELEASE_CLANG38_IA32_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -
 *_CLANG38_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)\r
 *_CLANG38_X64_ASLDLINK_FLAGS       = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64\r
 *_CLANG38_X64_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)\r
-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\r
-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)\r
-*_CLANG38_X64_DLINK_FLAGS          = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small\r
-*_CLANG38_X64_DLINK2_FLAGS         = DEF(GCC5_X64_DLINK2_FLAGS)\r
 *_CLANG38_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)\r
 *_CLANG38_X64_OBJCOPY_FLAGS        =\r
 *_CLANG38_X64_NASM_FLAGS           = -f elf64\r
@@ -5526,6 +5367,108 @@ RELEASE_CLANG38_X64_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__
 *_CLANG38_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)\r
 *_CLANG38_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)\r
 \r
+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\r
+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\r
+DEBUG_CLANG38_X64_DLINK2_FLAGS     = DEF(GCC5_X64_DLINK2_FLAGS) -O3\r
+\r
+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)\r
+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\r
+RELEASE_CLANG38_X64_DLINK2_FLAGS   = DEF(GCC5_X64_DLINK2_FLAGS) -O3\r
+\r
+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\r
+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\r
+NOOPT_CLANG38_X64_DLINK2_FLAGS     = DEF(GCC5_X64_DLINK2_FLAGS) -O0\r
+\r
+##################\r
+# CLANG38 ARM definitions\r
+##################\r
+DEFINE CLANG38_ARM_TARGET        = -target arm-linux-gnueabihf\r
+DEFINE CLANG38_ARM_CC_FLAGS      = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG38_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno-movt\r
+DEFINE CLANG38_ARM_DLINK_FLAGS   = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)\r
+\r
+*_CLANG38_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS)\r
+*_CLANG38_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS)\r
+*_CLANG38_ARM_APP_FLAGS          =\r
+*_CLANG38_ARM_ASL_FLAGS          = DEF(IASL_FLAGS)\r
+*_CLANG38_ARM_ASL_OUTFLAGS       = DEF(IASL_OUTFLAGS)\r
+*_CLANG38_ARM_DTCPP_FLAGS        = DEF(GCC_DTCPP_FLAGS)\r
+\r
+*_CLANG38_ARM_CC_PATH            = ENV(CLANG38_BIN)clang\r
+*_CLANG38_ARM_ASM_PATH           = ENV(CLANG38_BIN)clang\r
+*_CLANG38_ARM_PP_PATH            = ENV(CLANG38_BIN)clang\r
+*_CLANG38_ARM_VFRPP_PATH         = ENV(CLANG38_BIN)clang\r
+*_CLANG38_ARM_ASLCC_PATH         = ENV(CLANG38_BIN)clang\r
+*_CLANG38_ARM_ASLPP_PATH         = ENV(CLANG38_BIN)clang\r
+*_CLANG38_ARM_DLINK_PATH         = ENV(CLANG38_BIN)clang\r
+*_CLANG38_ARM_ASLDLINK_PATH      = ENV(CLANG38_BIN)clang\r
+\r
+*_CLANG38_ARM_SLINK_PATH         = ENV(CLANG38_BIN)llvm-ar\r
+*_CLANG38_ARM_RC_PATH            = ENV(CLANG38_ARM_PREFIX)objcopy\r
+\r
+*_CLANG38_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS) -fno-lto\r
+*_CLANG38_ARM_ASLDLINK_FLAGS     = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)\r
+*_CLANG38_ARM_ASM_FLAGS          = DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments\r
+*_CLANG38_ARM_DLINK2_FLAGS       = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220\r
+*_CLANG38_ARM_PLATFORM_FLAGS     = -march=armv7-a\r
+*_CLANG38_ARM_PP_FLAGS           = DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
+*_CLANG38_ARM_RC_FLAGS           = DEF(GCC_ARM_RC_FLAGS)\r
+*_CLANG38_ARM_VFRPP_FLAGS        = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
+*_CLANG38_ARM_ASLPP_FLAGS        = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_ARM_TARGET)\r
+*_CLANG38_ARM_CC_XIPFLAGS        = DEF(GCC_ARM_CC_XIPFLAGS)\r
+\r
+  DEBUG_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1\r
+  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\r
+  NOOPT_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0\r
+  NOOPT_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS)\r
+RELEASE_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3\r
+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\r
+\r
+##################\r
+# CLANG38 AARCH64 definitions\r
+##################\r
+DEFINE CLANG38_AARCH64_TARGET    = -target aarch64-linux-gnu\r
+DEFINE CLANG38_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES)\r
+DEFINE CLANG38_AARCH64_DLINK_FLAGS  = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000\r
+\r
+*_CLANG38_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS)\r
+*_CLANG38_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS)\r
+*_CLANG38_AARCH64_APP_FLAGS      =\r
+*_CLANG38_AARCH64_ASL_FLAGS      = DEF(IASL_FLAGS)\r
+*_CLANG38_AARCH64_ASL_OUTFLAGS   = DEF(IASL_OUTFLAGS)\r
+*_CLANG38_AARCH64_DTCPP_FLAGS    = DEF(GCC_DTCPP_FLAGS)\r
+\r
+*_CLANG38_AARCH64_CC_PATH        = ENV(CLANG38_BIN)clang\r
+*_CLANG38_AARCH64_ASM_PATH       = ENV(CLANG38_BIN)clang\r
+*_CLANG38_AARCH64_PP_PATH        = ENV(CLANG38_BIN)clang\r
+*_CLANG38_AARCH64_VFRPP_PATH     = ENV(CLANG38_BIN)clang\r
+*_CLANG38_AARCH64_ASLCC_PATH     = ENV(CLANG38_BIN)clang\r
+*_CLANG38_AARCH64_ASLPP_PATH     = ENV(CLANG38_BIN)clang\r
+*_CLANG38_AARCH64_DLINK_PATH     = ENV(CLANG38_BIN)clang\r
+*_CLANG38_AARCH64_ASLDLINK_PATH  = ENV(CLANG38_BIN)clang\r
+\r
+*_CLANG38_AARCH64_SLINK_PATH     = ENV(CLANG38_BIN)llvm-ar\r
+*_CLANG38_AARCH64_RC_PATH        = ENV(CLANG38_AARCH64_PREFIX)objcopy\r
+\r
+*_CLANG38_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS) -fno-lto\r
+*_CLANG38_AARCH64_ASLDLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)\r
+*_CLANG38_AARCH64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments\r
+*_CLANG38_AARCH64_DLINK_FLAGS    = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000\r
+*_CLANG38_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20\r
+*_CLANG38_AARCH64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228\r
+*_CLANG38_AARCH64_PLATFORM_FLAGS =\r
+*_CLANG38_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
+*_CLANG38_AARCH64_RC_FLAGS       = DEF(GCC_AARCH64_RC_FLAGS)\r
+*_CLANG38_AARCH64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
+*_CLANG38_AARCH64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AARCH64_TARGET)\r
+*_CLANG38_AARCH64_CC_XIPFLAGS    = DEF(GCC_AARCH64_CC_XIPFLAGS)\r
+\r
+  DEBUG_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1\r
+  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\r
+  NOOPT_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0\r
+  NOOPT_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS)\r
+RELEASE_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3\r
+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\r
+\r
 ####################################################################################\r
 #\r
 # Cygwin GCC And Intel ACPI Compiler\r
@@ -5596,28 +5539,6 @@ RELEASE_CLANG38_X64_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__
 *_CYGGCC_X64_OBJCOPY_FLAGS       =\r
 *_CYGGCC_X64_NASM_FLAGS          = -f win64\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_CYGGCC_IPF_CC_PATH             = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCC_IPF_SLINK_PATH          = DEF(CYGWIN_BINIPF)ar\r
-*_CYGGCC_IPF_DLINK_PATH          = DEF(CYGWIN_BINIPF)ld\r
-*_CYGGCC_IPF_ASLDLINK_PATH       = DEF(CYGWIN_BINIPF)ld\r
-*_CYGGCC_IPF_ASM_PATH            = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCC_IPF_PP_PATH             = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCC_IPF_VFRPP_PATH          = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCC_IPF_ASLCC_PATH          = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCC_IPF_ASLPP_PATH          = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCC_IPF_OBJCOPY_PATH        = DEF(CYGWIN_BINIPF)objcopy\r
-*_CYGGCC_IPF_SYMRENAME_PATH      = DEF(CYGWIN_BINIPF)objcopy\r
-*_CYGGCC_IPF_RC_PATH             = DEF(CYGWIN_BINIPF)objcopy\r
-\r
-*_CYGGCC_IPF_CC_FLAGS             = DEF(GCC_IPF_CC_FLAGS)\r
-*_CYGGCC_IPF_DLINK_FLAGS          = DEF(GCC_IPF_DLINK_FLAGS)\r
-*_CYGGCC_IPF_OBJCOPY_FLAGS        = DEF(GCC_IPF_OBJCOPY_FLAGS)\r
-*_CYGGCC_IPF_SYMRENAME_FLAGS      = DEF(GCC_IPF_SYMRENAME_FLAGS)\r
-*_CYGGCC_IPF_RC_FLAGS             = DEF(GCC_IPF_RC_FLAGS)\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -5700,28 +5621,6 @@ RELEASE_CLANG38_X64_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__
 *_CYGGCCxASL_X64_CC_FLAGS            = DEF(GCC_X64_CC_FLAGS)\r
 *_CYGGCCxASL_X64_RC_FLAGS            = DEF(GCC_X64_RC_FLAGS)\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_CYGGCCxASL_IPF_CC_PATH             = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCCxASL_IPF_SLINK_PATH          = DEF(CYGWIN_BINIPF)ar\r
-*_CYGGCCxASL_IPF_DLINK_PATH          = DEF(CYGWIN_BINIPF)ld\r
-*_CYGGCCxASL_IPF_ASLDLINK_PATH       = DEF(CYGWIN_BINIPF)ld\r
-*_CYGGCCxASL_IPF_ASM_PATH            = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCCxASL_IPF_PP_PATH             = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCCxASL_IPF_VFRPP_PATH          = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCCxASL_IPF_ASLCC_PATH          = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCCxASL_IPF_ASLPP_PATH          = DEF(CYGWIN_BINIPF)gcc\r
-*_CYGGCCxASL_IPF_OBJCOPY_PATH        = DEF(CYGWIN_BINIPF)objcopy\r
-*_CYGGCCxASL_IPF_SYMRENAME_PATH      = DEF(CYGWIN_BINIPF)objcopy\r
-*_CYGGCCxASL_IPF_RC_PATH             = DEF(CYGWIN_BINIPF)objcopy\r
-\r
-*_CYGGCCxASL_IPF_CC_FLAGS             = DEF(GCC_IPF_CC_FLAGS)\r
-*_CYGGCCxASL_IPF_DLINK_FLAGS          = DEF(GCC_IPF_DLINK_FLAGS)\r
-*_CYGGCCxASL_IPF_OBJCOPY_FLAGS        = DEF(GCC_IPF_OBJCOPY_FLAGS)\r
-*_CYGGCCxASL_IPF_SYMRENAME_FLAGS      = DEF(GCC_IPF_SYMRENAME_FLAGS)\r
-*_CYGGCCxASL_IPF_RC_FLAGS             = DEF(GCC_IPF_RC_FLAGS)\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -5758,7 +5657,7 @@ RELEASE_CLANG38_X64_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__
 *_ELFGCC_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
 *_ELFGCC_*_ASL_FLAGS                    = DEF(IASL_FLAGS)\r
 *_ELFGCC_*_ASL_OUTFLAGS                 = DEF(IASL_OUTFLAGS)\r
-*_ELFGCC_*_ASLPP_FLAGS                  = -x c -E -P\r
+*_ELFGCC_*_ASLPP_FLAGS                  = -x c -E -include AutoGen.h\r
 *_ELFGCC_*_ASLCC_FLAGS                  = -x c\r
 *_ELFGCC_*_ASLDLINK_FLAGS               = DEF(GCC_DLINK_FLAGS_COMMON) --entry _ReferenceAcpiTable\r
 \r
@@ -5811,33 +5710,10 @@ RELEASE_CLANG38_X64_CC_FLAGS       = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__
 *_ELFGCC_X64_RC_FLAGS              = DEF(GCC_X64_RC_FLAGS)\r
 *_ELFGCC_X64_NASM_FLAGS            = -f elf64\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ELFGCC_IPF_CC_PATH              = DEF(ELFGCC_BIN)/gcc\r
-*_ELFGCC_IPF_ASLCC_PATH           = DEF(ELFGCC_BIN)/gcc\r
-*_ELFGCC_IPF_SLINK_PATH           = DEF(ELFGCC_BIN)/ar\r
-*_ELFGCC_IPF_DLINK_PATH           = DEF(ELFGCC_BIN)/ld\r
-*_ELFGCC_IPF_ASLDLINK_PATH        = DEF(ELFGCC_BIN)/ld\r
-*_ELFGCC_IPF_ASM_PATH             = DEF(ELFGCC_BIN)/gcc\r
-*_ELFGCC_IPF_PP_PATH              = DEF(ELFGCC_BIN)/gcc\r
-*_ELFGCC_IPF_ASLPP_PATH           = DEF(ELFGCC_BIN)/gcc\r
-*_ELFGCC_IPF_VFRPP_PATH           = DEF(ELFGCC_BIN)/gcc\r
-*_ELFGCC_IPF_RC_PATH              = DEF(ELFGCC_BIN)/objcopy\r
-\r
-*_ELFGCC_IPF_CC_FLAGS             = -Os -fshort-wchar -Wall -Werror -include AutoGen.h -D_EFI_P64\r
-*_ELFGCC_IPF_DLINK_FLAGS          = -nostdlib --shared --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_ELFGCC_IPF_SLINK_FLAGS          =\r
-*_ELFGCC_IPF_ASM_FLAGS            = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h\r
-*_ELFGCC_IPF_PP_FLAGS             = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
-*_ELFGCC_IPF_VFRPP_FLAGS          = -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
-*_ELFGCC_IPF_RC_FLAGS             = DEF(GCC_IPF_RC_FLAGS)\r
-\r
 ####################################################################################\r
 #\r
 # Intel(R) C++ Compiler Version 9.1\r
 #\r
-#   IPF  - Intel(R) C++ Compiler for Itanium(R)Version 9.1  Build 20060928 Package ID: W_CC_C_9.1.032\r
 #   ASL  - Intel ACPI Source Language Compiler\r
 #\r
 ####################################################################################\r
@@ -5933,38 +5809,6 @@ NOOPT_ICC_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /O
       *_ICC_X64_SLINK_FLAGS              = /nologo /LTCG\r
 \r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ICC_IPF_CC_PATH                   = DEF(ICC_BIN64)\icl.exe\r
-# icl.exe needs cl.exe from Visual Studio\r
-*_ICC_IPF_CC_DLL                    = DEF(MS_VS_BIN)\r
-*_ICC_IPF_SLINK_PATH                = DEF(ICC_BIN64)\xilib.exe\r
-# xilib.exe needs lib.exe from Visual Studio\r
-*_ICC_IPF_SLINK_DLL                 = DEF(MS_VS_BIN);DEF(MS_VS_DLL)\r
-*_ICC_IPF_DLINK_PATH                = DEF(ICC_BIN64)\xilink.exe\r
-*_ICC_IPF_PP_PATH                   = DEF(ICC_BIN64)\icl.exe\r
-*_ICC_IPF_VFRPP_PATH                = DEF(ICC_BIN64)\icl.exe\r
-*_ICC_IPF_APP_PATH                  = DEF(ICC_BIN64)\icl.exe\r
-*_ICC_IPF_ASM_PATH                  = DEF(ICC_BIN64)\ias.exe\r
-*_ICC_IPF_ASLCC_PATH                = DEF(ICC_BIN64)\icl.exe\r
-*_ICC_IPF_ASLPP_PATH                = DEF(ICC_BIN64)\icl.exe\r
-*_ICC_IPF_ASLDLINK_PATH             = DEF(ICC_BIN64)\xilink.exe\r
-\r
-  DEBUG_ICC_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Zi\r
-RELEASE_ICC_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF\r
-NOOPT_ICC_IPF_CC_FLAGS                   = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Zi\r
-\r
-  DEBUG_ICC_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-RELEASE_ICC_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
-NOOPT_ICC_IPF_ASM_FLAGS                  = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-\r
-  DEBUG_ICC_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_ICC_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_ICC_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG   \r
-\r
-      *_ICC_IPF_SLINK_FLAGS              = /nologo\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -5988,7 +5832,6 @@ NOOPT_ICC_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT
 #\r
 # Intel(R) C++ Compiler Version 9.1\r
 #\r
-#   IPF  - Intel(R) C++ Compiler for Itanium(R)Version 9.1  Build 20060928 Package ID: W_CC_C_9.1.032\r
 #   ASL  - Microsoft ACPI Source Language Compiler\r
 #\r
 ####################################################################################\r
@@ -6085,38 +5928,6 @@ NOOPT_ICCxASL_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:400
       *_ICCxASL_X64_SLINK_FLAGS              = /nologo /LTCG\r
 \r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ICCxASL_IPF_CC_PATH                   = DEF(ICC_BIN64)\icl.exe\r
-# icl.exe needs cl.exe from Visual Studio\r
-*_ICCxASL_IPF_CC_DLL                    = DEF(MS_VS_BIN)\r
-*_ICCxASL_IPF_SLINK_PATH                = DEF(ICC_BIN64)\xilib.exe\r
-# xilib.exe needs lib.exe from Visual Studio\r
-*_ICCxASL_IPF_SLINK_DLL                 = DEF(MS_VS_BIN);DEF(MS_VS_DLL)\r
-*_ICCxASL_IPF_DLINK_PATH                = DEF(ICC_BIN64)\xilink.exe\r
-*_ICCxASL_IPF_PP_PATH                   = DEF(ICC_BIN64)\icl.exe\r
-*_ICCxASL_IPF_VFRPP_PATH                = DEF(ICC_BIN64)\icl.exe\r
-*_ICCxASL_IPF_APP_PATH                  = DEF(ICC_BIN64)\icl.exe\r
-*_ICCxASL_IPF_ASM_PATH                  = DEF(ICC_BIN64)\ias.exe\r
-*_ICCxASL_IPF_ASLCC_PATH                = DEF(ICC_BIN64)\icl.exe\r
-*_ICCxASL_IPF_ASLPP_PATH                = DEF(ICC_BIN64)\icl.exe\r
-*_ICCxASL_IPF_ASLDLINK_PATH             = DEF(ICC_BIN64)\xilink.exe\r
-\r
-  DEBUG_ICCxASL_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Zi\r
-RELEASE_ICCxASL_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF\r
-NOOPT_ICCxASL_IPF_CC_FLAGS                   = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Zi\r
-\r
-  DEBUG_ICCxASL_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-RELEASE_ICCxASL_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
-NOOPT_ICCxASL_IPF_ASM_FLAGS                  = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-\r
-  DEBUG_ICCxASL_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_ICCxASL_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_ICCxASL_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-\r
-      *_ICCxASL_IPF_SLINK_FLAGS              = /nologo\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -6238,38 +6049,6 @@ NOOPT_ICCx86_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4001
       *_ICCx86_X64_SLINK_FLAGS              = /nologo /LTCG\r
 \r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ICCx86_IPF_CC_PATH                   = DEF(ICC_BIN64x86)\icl.exe\r
-# icl.exe needs cl.exe from Visual Studio\r
-*_ICCx86_IPF_CC_DLL                    = DEF(MS_VS_BIN)\r
-*_ICCx86_IPF_SLINK_PATH                = DEF(ICC_BIN64x86)\xilib.exe\r
-# xilib.exe needs lib.exe from Visual Studio\r
-*_ICCx86_IPF_SLINK_DLL                 = DEF(MS_VS_BIN);DEF(MS_VS_DLL)\r
-*_ICCx86_IPF_DLINK_PATH                = DEF(ICC_BIN64x86)\xilink.exe\r
-*_ICCx86_IPF_PP_PATH                   = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86_IPF_VFRPP_PATH                = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86_IPF_APP_PATH                  = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86_IPF_ASM_PATH                  = DEF(ICC_BIN64x86)\ias.exe\r
-*_ICCx86_IPF_ASLCC_PATH                = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86_IPF_ASLPP_PATH                = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86_IPF_ASLDLINK_PATH             = DEF(ICC_BIN64x86)\xilink.exe\r
-\r
-  DEBUG_ICCx86_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Zi\r
-RELEASE_ICCx86_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF\r
-NOOPT_ICCx86_IPF_CC_FLAGS                   = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Zi\r
-\r
-  DEBUG_ICCx86_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-RELEASE_ICCx86_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
-NOOPT_ICCx86_IPF_ASM_FLAGS                  = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-\r
-  DEBUG_ICCx86_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_ICCx86_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_ICCx86_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-\r
-      *_ICCx86_IPF_SLINK_FLAGS              = /nologo\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -6391,38 +6170,6 @@ NOOPT_ICCx86xASL_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:
       *_ICCx86xASL_X64_SLINK_FLAGS              = /nologo /LTCG\r
 \r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ICCx86xASL_IPF_CC_PATH                   = DEF(ICC_BIN64x86)\icl.exe\r
-# icl.exe needs cl.exe from Visual Studio\r
-*_ICCx86xASL_IPF_CC_DLL                    = DEF(MS_VS_BIN)\r
-*_ICCx86xASL_IPF_SLINK_PATH                = DEF(ICC_BIN64x86)\xilib.exe\r
-# xilib.exe needs lib.exe from Visual Studio\r
-*_ICCx86xASL_IPF_SLINK_DLL                 = DEF(MS_VS_BIN);DEF(MS_VS_DLL)\r
-*_ICCx86xASL_IPF_DLINK_PATH                = DEF(ICC_BIN64x86)\xilink.exe\r
-*_ICCx86xASL_IPF_PP_PATH                   = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86xASL_IPF_VFRPP_PATH                = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86xASL_IPF_APP_PATH                  = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86xASL_IPF_ASM_PATH                  = DEF(ICC_BIN64x86)\ias.exe\r
-*_ICCx86xASL_IPF_ASLCC_PATH                = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86xASL_IPF_ASLPP_PATH                = DEF(ICC_BIN64x86)\icl.exe\r
-*_ICCx86xASL_IPF_ASLDLINK_PATH             = DEF(ICC_BIN64x86)\xilink.exe\r
-\r
-  DEBUG_ICCx86xASL_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Zi\r
-RELEASE_ICCx86xASL_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF\r
-NOOPT_ICCx86xASL_IPF_CC_FLAGS                   = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Zi\r
-\r
-  DEBUG_ICCx86xASL_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-RELEASE_ICCx86xASL_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
-NOOPT_ICCx86xASL_IPF_ASM_FLAGS                  = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-\r
-  DEBUG_ICCx86xASL_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_ICCx86xASL_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_ICCx86xASL_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-\r
-      *_ICCx86xASL_IPF_SLINK_FLAGS              = /nologo\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -6448,7 +6195,6 @@ NOOPT_ICCx86xASL_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /D
 # Intel(R) C++ Compiler Version 11.1\r
 #   IA32 - Intel(R) C++ Compiler for applications running on IA32         (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_ia32)\r
 #   X64  - Intel(R) C++ Compiler for applications running on Intel(R) 64  (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_intel64)\r
-#   IPF  - Intel(R) C++ Compiler for applications running on IA-64        (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_ia64)\r
 #   ASL  - Intel ACPI Source Language Compiler\r
 #\r
 ####################################################################################\r
@@ -6545,37 +6291,6 @@ NOOPT_ICC11_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4001
       *_ICC11_X64_SLINK_FLAGS              = /nologo /LTCG\r
 \r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ICC11_IPF_CC_PATH                   = DEF(ICC11_BIN64)\icl.exe\r
-# icl.exe needs cl.exe from Visual Studio\r
-*_ICC11_IPF_CC_DLL                    = DEF(MS_VS_BIN)\r
-*_ICC11_IPF_SLINK_PATH                = DEF(ICC11_BIN64)\xilib.exe\r
-# xilib.exe needs lib.exe from Visual Studio\r
-*_ICC11_IPF_SLINK_DLL                 = DEF(MS_VS_BIN);DEF(MS_VS_DLL)\r
-*_ICC11_IPF_DLINK_PATH                = DEF(ICC11_BIN64)\xilink.exe\r
-*_ICC11_IPF_PP_PATH                   = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11_IPF_VFRPP_PATH                = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11_IPF_APP_PATH                  = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11_IPF_ASM_PATH                  = DEF(ICC11_BIN64)\ias.exe\r
-*_ICC11_IPF_ASLCC_PATH                = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11_IPF_ASLPP_PATH                = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11_IPF_ASLDLINK_PATH             = DEF(ICC11_BIN64)\xilink.exe\r
-\r
-  DEBUG_ICC11_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding /Zi\r
-RELEASE_ICC11_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding\r
-NOOPT_ICC11_IPF_CC_FLAGS                   = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding /Zi\r
-\r
-  DEBUG_ICC11_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-RELEASE_ICC11_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
-NOOPT_ICC11_IPF_ASM_FLAGS                  = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-  DEBUG_ICC11_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_ICC11_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_ICC11_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-\r
-      *_ICC11_IPF_SLINK_FLAGS              = /nologo\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -6601,7 +6316,6 @@ NOOPT_ICC11_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /O
 #\r
 #   IA32 - Intel(R) C++ Compiler for applications running on IA32         (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_ia32)\r
 #   X64  - Intel(R) C++ Compiler for applications running on Intel(R) 64  (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_intel64)\r
-#   IPF  - Intel(R) C++ Compiler for applications running on IA-64        (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_ia64)\r
 #   ASL  - Microsoft ACPI Source Language Compiler\r
 #\r
 ####################################################################################\r
@@ -6698,38 +6412,6 @@ NOOPT_ICC11xASL_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4
       *_ICC11xASL_X64_SLINK_FLAGS              = /nologo /LTCG\r
 \r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ICC11xASL_IPF_CC_PATH                   = DEF(ICC11_BIN64)\icl.exe\r
-# icl.exe needs cl.exe from Visual Studio\r
-*_ICC11xASL_IPF_CC_DLL                    = DEF(MS_VS_BIN)\r
-*_ICC11xASL_IPF_SLINK_PATH                = DEF(ICC11_BIN64)\xilib.exe\r
-# xilib.exe needs lib.exe from Visual Studio\r
-*_ICC11xASL_IPF_SLINK_DLL                 = DEF(MS_VS_BIN);DEF(MS_VS_DLL)\r
-*_ICC11xASL_IPF_DLINK_PATH                = DEF(ICC11_BIN64)\xilink.exe\r
-*_ICC11xASL_IPF_PP_PATH                   = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11xASL_IPF_VFRPP_PATH                = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11xASL_IPF_APP_PATH                  = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11xASL_IPF_ASM_PATH                  = DEF(ICC11_BIN64)\ias.exe\r
-*_ICC11xASL_IPF_ASLCC_PATH                = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11xASL_IPF_ASLPP_PATH                = DEF(ICC11_BIN64)\icl.exe\r
-*_ICC11xASL_IPF_ASLDLINK_PATH             = DEF(ICC11_BIN64)\xilink.exe\r
-\r
-  DEBUG_ICC11xASL_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding /Zi\r
-RELEASE_ICC11xASL_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding\r
-NOOPT_ICC11xASL_IPF_CC_FLAGS                   = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding /Zi\r
-\r
-  DEBUG_ICC11xASL_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-RELEASE_ICC11xASL_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
-NOOPT_ICC11xASL_IPF_ASM_FLAGS                  = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-\r
-  DEBUG_ICC11xASL_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_ICC11xASL_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_ICC11xASL_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-\r
-      *_ICC11xASL_IPF_SLINK_FLAGS              = /nologo\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -6756,7 +6438,6 @@ NOOPT_ICC11xASL_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DL
 #\r
 #   IA32 - Intel(R) C++ Compiler for applications running on IA32         (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_ia32)\r
 #   X64  - Intel(R) C++ Compiler for applications running on Intel(R) 64  (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_intel64)\r
-#   IPF  - Intel(R) C++ Compiler for applications running on IA-64        (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_ia64)\r
 #   ASL  - Intel ACPI Source Language Compiler\r
 #\r
 ####################################################################################\r
@@ -6847,37 +6528,6 @@ NOOPT_ICC11x86_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:40
       *_ICC11x86_X64_SLINK_FLAGS              = /nologo /LTCG\r
 \r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ICC11x86_IPF_CC_PATH                   = DEF(ICC11_BIN64x86)\icl.exe\r
-# icl.exe needs cl.exe from Visual Studio\r
-*_ICC11x86_IPF_CC_DLL                    = DEF(MS_VS_BIN)\r
-*_ICC11x86_IPF_SLINK_PATH                = DEF(ICC11_BIN64x86)\xilib.exe\r
-# xilib.exe needs lib.exe from Visual Studio\r
-*_ICC11x86_IPF_SLINK_DLL                 = DEF(MS_VS_BIN);DEF(MS_VS_DLL)\r
-*_ICC11x86_IPF_DLINK_PATH                = DEF(ICC11_BIN64x86)\xilink.exe\r
-*_ICC11x86_IPF_PP_PATH                   = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86_IPF_VFRPP_PATH                = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86_IPF_APP_PATH                  = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86_IPF_ASM_PATH                  = DEF(ICC11_BIN64x86)\ias.exe\r
-*_ICC11x86_IPF_ASLCC_PATH                = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86_IPF_ASLPP_PATH                = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86_IPF_ASLDLINK_PATH             = DEF(ICC11_BIN64x86)\xilink.exe\r
-\r
-  DEBUG_ICC11x86_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding /Zi\r
-RELEASE_ICC11x86_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding\r
-NOOPT_ICC11x86_IPF_CC_FLAGS                   = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding /Zi\r
-\r
-  DEBUG_ICC11x86_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-RELEASE_ICC11x86_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
-NOOPT_ICC11x86_IPF_ASM_FLAGS                  = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-  DEBUG_ICC11x86_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_ICC11x86_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_ICC11x86_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-\r
-      *_ICC11x86_IPF_SLINK_FLAGS              = /nologo\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -6904,7 +6554,6 @@ NOOPT_ICC11x86_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL
 #\r
 #   IA32 - Intel(R) C++ Compiler for applications running on IA32         (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_ia32)\r
 #   X64  - Intel(R) C++ Compiler for applications running on Intel(R) 64  (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_intel64)\r
-#   IPF  - Intel(R) C++ Compiler for applications running on IA-64        (Version 11.1 Build 072 Package ID: w_cproc_p_11.1.072_ia64)\r
 #   ASL  - Microsoft ACPI Source Language Compiler\r
 #\r
 ####################################################################################\r
@@ -6998,35 +6647,6 @@ NOOPT_ICC11x86xASL_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNOR
       *_ICC11x86xASL_X64_SLINK_FLAGS              = /nologo /LTCG\r
 \r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_ICC11x86xASL_IPF_CC_PATH                   = DEF(ICC11_BIN64x86)\icl.exe\r
-# icl.exe needs cl.exe from Visual Studio\r
-*_ICC11x86xASL_IPF_CC_DLL                    = DEF(MS_VS_BIN)\r
-*_ICC11x86xASL_IPF_SLINK_PATH                = DEF(ICC11_BIN64x86)\xilib.exe\r
-# xilib.exe needs lib.exe from Visual Studio\r
-*_ICC11x86xASL_IPF_SLINK_DLL                 = DEF(MS_VS_BIN);DEF(MS_VS_DLL)\r
-*_ICC11x86xASL_IPF_DLINK_PATH                = DEF(ICC11_BIN64x86)\xilink.exe\r
-*_ICC11x86xASL_IPF_PP_PATH                   = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86xASL_IPF_VFRPP_PATH                = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86xASL_IPF_APP_PATH                  = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86xASL_IPF_ASM_PATH                  = DEF(ICC11_BIN64x86)\ias.exe\r
-*_ICC11x86xASL_IPF_ASLCC_PATH                = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86xASL_IPF_ASLPP_PATH                = DEF(ICC11_BIN64x86)\icl.exe\r
-*_ICC11x86xASL_IPF_ASLDLINK_PATH             = DEF(ICC11_BIN64x86)\xilink.exe\r
-\r
-  DEBUG_ICC11x86xASL_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding /Zi\r
-RELEASE_ICC11x86xASL_IPF_CC_FLAGS                 = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding\r
-NOOPT_ICC11x86xASL_IPF_CC_FLAGS                   = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF /Qfreestanding /Zi\r
-  DEBUG_ICC11x86xASL_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-RELEASE_ICC11x86xASL_IPF_ASM_FLAGS                = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
-NOOPT_ICC11x86xASL_IPF_ASM_FLAGS                  = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
-  DEBUG_ICC11x86xASL_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_ICC11x86xASL_IPF_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb\r
-NOOPT_ICC11x86xASL_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG\r
-      *_ICC11x86xASL_IPF_SLINK_FLAGS              = /nologo\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -7052,7 +6672,6 @@ NOOPT_ICC11x86xASL_IPF_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /LTCG
 # MYTOOLS\r
 #   IA32 - Microsoft Visual Studio 2008 Team Suite\r
 #   X64  - Microsoft Visual Studio 2008 Team Suite\r
-#   IPF  - Microsoft Windows DDK 3790.1830\r
 #   EBC  - Intel EFI Byte Code Compiler\r
 #\r
 ####################################################################################\r
@@ -7140,34 +6759,6 @@ NOOPT_MYTOOLS_X64_NASM_FLAGS             = -O0 -f win64 -g
 RELEASE_MYTOOLS_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\r
 NOOPT_MYTOOLS_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\r
 \r
-##################\r
-# IPF definitions\r
-##################\r
-*_MYTOOLS_IPF_MAKE_PATH             = DEF(WINDDK_BIN32)\nmake.exe\r
-*_MYTOOLS_IPF_CC_PATH               = DEF(WINDDK_BIN64)\cl.exe\r
-*_MYTOOLS_IPF_SLINK_PATH            = DEF(WINDDK_BIN64)\lib.exe\r
-*_MYTOOLS_IPF_DLINK_PATH            = DEF(WINDDK_BIN64)\link.exe\r
-*_MYTOOLS_IPF_PP_PATH               = DEF(WINDDK_BIN64)\cl.exe\r
-*_MYTOOLS_IPF_VFRPP_PATH            = DEF(WINDDK_BIN64)\cl.exe\r
-*_MYTOOLS_IPF_APP_PATH              = DEF(WINDDK_BIN64)\cl.exe\r
-*_MYTOOLS_IPF_ASM_PATH              = DEF(WINDDK_BIN64)\ias.exe\r
-*_MYTOOLS_IPF_ASLCC_PATH            = DEF(WINDDK_BIN64)\cl.exe\r
-*_MYTOOLS_IPF_ASLPP_PATH            = DEF(WINDDK_BIN64)\cl.exe\r
-*_MYTOOLS_IPF_ASLDLINK_PATH         = DEF(WINDDK_BIN64)\link.exe\r
-*_MYTOOLS_IPF_RC_PATH               = DEF(WINDDK_BIN32)\rc.exe\r
-\r
-      *_MYTOOLS_IPF_ASM_OUTPUT           = "-o "\r
-  DEBUG_MYTOOLS_IPF_CC_FLAGS             = /nologo /c /WX /GS- /X /W4 /Gy /Ox /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32 /Zi\r
-RELEASE_MYTOOLS_IPF_CC_FLAGS             = /nologo /c /WX /GS- /X /W4 /Gy /Ox /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32\r
-NOOPT_MYTOOLS_IPF_CC_FLAGS               = /nologo /c /WX /GS- /X /W4 /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32 /Zi /Od\r
-  DEBUG_MYTOOLS_IPF_ASM_FLAGS            = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-RELEASE_MYTOOLS_IPF_ASM_FLAGS            = -N us -X explicit -M ilp64 -N so -W4\r
-NOOPT_MYTOOLS_IPF_ASM_FLAGS              = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
-  DEBUG_MYTOOLS_IPF_DLINK_FLAGS          = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF /OPT:ICF=10 /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-RELEASE_MYTOOLS_IPF_DLINK_FLAGS          = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF /OPT:ICF=10 /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb\r
-NOOPT_MYTOOLS_IPF_DLINK_FLAGS            = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF /OPT:ICF=10 /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG\r
-      *_MYTOOLS_IPF_SLINK_FLAGS          = /nologo /LTCG\r
-\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -7189,213 +6780,47 @@ NOOPT_MYTOOLS_IPF_DLINK_FLAGS            = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT
 *_MYTOOLS_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\r
 \r
 \r
-####################################################################################\r
 #\r
-# Xcode Support for building on Mac OS X (Snow Leopard)\r
+# XCODE5 support\r
 #\r
-####################################################################################\r
-#   XCODE32         - Xcode 3.2 Tools (Snow Leopard)\r
-*_XCODE32_*_*_FAMILY            = GCC\r
-*_XCODE32_*_*_BUILDRULEFAMILY   = XCODE\r
-*_XCODE32_*_*_BUILDRULEORDER    = S s nasm\r
-\r
-\r
-*_XCODE32_*_ASL_PATH          = /usr/bin/iasl\r
-\r
-*_XCODE32_*_MAKE_PATH        = make\r
-\r
-*_XCODE32_*_DSYMUTIL_PATH    = /usr/bin/dsymutil\r
-\r
-# This tool needs to be installed seperatly from Xcode 3.2\r
-*_XCODE32_*_MTOC_PATH        = /usr/local/bin/mtoc\r
-\r
-  DEBUG_XCODE32_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll\r
-RELEASE_XCODE32_*_MTOC_FLAGS = -align 0x20\r
-\r
-##################\r
-# IA32 definitions\r
-##################\r
-*_XCODE32_IA32_CC_PATH      = gcc\r
-*_XCODE32_IA32_SLINK_PATH   = libtool\r
-*_XCODE32_IA32_DLINK_PATH   = ld\r
-*_XCODE32_IA32_ASM_PATH     = as\r
-*_XCODE32_IA32_PP_PATH      = gcc\r
-*_XCODE32_IA32_VFRPP_PATH   = gcc\r
-*_XCODE32_IA32_ASL_PATH     = iasl\r
-*_XCODE32_IA32_ASLCC_PATH   = gcc\r
-*_XCODE32_IA32_ASLPP_PATH   = gcc\r
-*_XCODE32_IA32_ASLDLINK_PATH  = ld\r
-\r
-  DEBUG_XCODE32_IA32_DLINK_FLAGS      = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-RELEASE_XCODE32_IA32_DLINK_FLAGS      = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCODE32_IA32_SLINK_FLAGS      = -static -o\r
-  DEBUG_XCODE32_IA32_ASM_FLAGS  = -arch i386 -g\r
-RELEASE_XCODE32_IA32_ASM_FLAGS  = -arch i386\r
-*_XCODE32_IA32_NASM_FLAGS       = -f macho32\r
-*_XCODE32_IA32_PP_FLAGS         = -arch i386 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
-*_XCODE32_IA32_VFRPP_FLAGS      = -arch i386 -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
-  DEBUG_XCODE32_IA32_CC_FLAGS   = -arch i386 -save-temps -g -O0 -combine -mms-bitfields  -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces  -c -include AutoGen.h -mdynamic-no-pic -fno-stack-protector\r
-RELEASE_XCODE32_IA32_CC_FLAGS   = -arch i386 -Oz -combine -mms-bitfields  -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h -mdynamic-no-pic -fno-stack-protector\r
-\r
-*_XCODE32_IA32_ASLCC_FLAGS      = -arch i386 -x c -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic\r
-*_XCODE32_IA32_ASLDLINK_FLAGS   = -arch i386 -e _main -preload -segalign 0x20  -pie -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCODE32_IA32_ASLPP_FLAGS      = -arch i386 -x c -E\r
-*_XCODE32_IA32_ASL_FLAGS        =\r
-\r
-##################\r
-# X64 definitions - still a work in progress. This tool chain does not produce\r
-# the correct ABI, it is just used to compile the code....\r
-##################\r
-*_XCODE32_X64_CC_PATH       = gcc\r
-*_XCODE32_X64_SLINK_PATH    = libtool\r
-*_XCODE32_X64_DLINK_PATH    = ld\r
-*_XCODE32_X64_ASM_PATH      = as\r
-*_XCODE32_X64_PP_PATH       = gcc\r
-*_XCODE32_X64_VFRPP_PATH    = gcc\r
-*_XCODE32_X64_ASL_PATH     = iasl\r
-*_XCODE32_X64_ASLCC_PATH   = gcc\r
-*_XCODE32_X64_ASLPP_PATH   = gcc\r
-*_XCODE32_X64_ASLDLINK_PATH  = ld\r
-\r
-*_XCODE32_X64_DLINK_FLAGS      = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCODE32_X64_SLINK_FLAGS      = -static -o\r
-\r
-  DEBUG_XCODE32_X64_ASM_FLAGS  = -arch x86_64 -g\r
-RELEASE_XCODE32_X64_ASM_FLAGS  = -arch x86_64\r
-*_XCODE32_X64_NASM_FLAGS       = -f macho64\r
-*_XCODE32_X64_PP_FLAGS         = -arch x86_64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
-*_XCODE32_X64_VFRPP_FLAGS      = -arch x86_64 -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
-\r
-  DEBUG_XCODE32_X64_CC_FLAGS   = -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address  -fomit-frame-pointer -static  -c -include AutoGen.h -fno-stack-protector\r
-RELEASE_XCODE32_X64_CC_FLAGS   = -arch x86_64 -Oz -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address  -fomit-frame-pointer -static  -c -include AutoGen.h -fno-stack-protector\r
-\r
-##################\r
-# ARM definitions - (Assumes iPhone SDK installed on Snow Leopard)\r
-##################\r
-\r
-*_XCODE32_ARM_ARCHCC_FLAGS    = -arch armv7 -march=armv7 -mthumb\r
-*_XCODE32_ARM_ARCHASM_FLAGS   = -arch armv7\r
-*_XCODE32_ARM_ARCHDLINK_FLAGS = -arch armv7\r
-*_XCODE32_ARM_PLATFORM_FLAGS  =\r
-\r
-*_XCODE32_ARM_CC_PATH       = DEF(IPHONE_TOOLS)/usr/bin/gcc\r
-*_XCODE32_ARM_SLINK_PATH    = DEF(IPHONE_TOOLS)/usr/bin/libtool\r
-*_XCODE32_ARM_DLINK_PATH    = ld\r
-*_XCODE32_ARM_ASM_PATH      = DEF(IPHONE_TOOLS)/usr/bin/as\r
-*_XCODE32_ARM_PP_PATH       = DEF(IPHONE_TOOLS)/usr/bin/gcc\r
-*_XCODE32_ARM_VFRPP_PATH    = DEF(IPHONE_TOOLS)/usr/bin/gcc\r
-\r
-  DEBUG_XCODE32_ARM_DLINK_FLAGS      = $(ARCHDLINK_FLAGS) -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-RELEASE_XCODE32_ARM_DLINK_FLAGS      = $(ARCHDLINK_FLAGS) -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-\r
-*_XCODE32_ARM_SLINK_FLAGS      = -static -o\r
-\r
-  DEBUG_XCODE32_ARM_ASM_FLAGS  = $(ARCHASM_FLAGS) -g\r
-RELEASE_XCODE32_ARM_ASM_FLAGS  = $(ARCHASM_FLAGS)\r
-*_XCODE32_ARM_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
-*_XCODE32_ARM_VFRPP_FLAGS      = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
-\r
-  DEBUG_XCODE32_ARM_CC_FLAGS   = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mthumb-interwork -g -Oz -mabi=aapcs -mapcs -fno-short-enums  -save-temps -combine -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
-RELEASE_XCODE32_ARM_CC_FLAGS   = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mthumb-interwork -Oz    -mabi=aapcs -mapcs -fno-short-enums  -save-temps -combine -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
 \r
+*_XCODE5_*_*_FAMILY            = GCC\r
+*_XCODE5_*_*_BUILDRULEFAMILY   = XCODE\r
 \r
-####################################################################################\r
 #\r
-# Clang Support for building on Mac OS X\r
+# use xcode-select to change Xcode version of command line tools\r
 #\r
-####################################################################################\r
-#   CLANG         - clang that produce Mach-O with EFI x86_64 ABI\r
-*_XCLANG_*_*_FAMILY            = GCC\r
-*_XCLANG_*_*_BUILDRULEFAMILY   = XCODE\r
-*_XCLANG_*_*_BUILDRULEORDER    = S s nasm\r
-\r
-*_XCLANG_*_ASL_PATH          = /usr/bin/iasl\r
-\r
-*_XCLANG_*_MAKE_PATH        = make\r
-*_XCLANG_*_DSYMUTIL_PATH    = /usr/bin/dsymutil\r
-\r
-      *_*_*_MTOC_PATH  = /usr/local/bin/mtoc\r
-\r
-  DEBUG_XCLANG_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll\r
-RELEASE_XCLANG_*_MTOC_FLAGS = -align 0x20\r
-\r
-\r
-*_XCLANG_*_CC_PATH      = ENV(CLANG_BIN)clang\r
-*_XCLANG_*_SLINK_PATH   = libtool\r
-*_XCLANG_*_DLINK_PATH   = ld\r
-*_XCLANG_*_ASM_PATH     = as\r
-*_XCLANG_*_PP_PATH      = ENV(CLANG_BIN)clang\r
-*_XCLANG_*_VFRPP_PATH   = ENV(CLANG_BIN)clang\r
-*_XCLANG_*_ASL_PATH     = iasl\r
-*_XCLANG_*_ASLCC_PATH   = ENV(CLANG_BIN)clang\r
-*_XCLANG_*_ASLPP_PATH   = ENV(CLANG_BIN)clang\r
-*_XCLANG_*_ASLDLINK_PATH  = ld\r
-\r
-####################\r
-# IA-32 definitions\r
-####################\r
-  DEBUG_XCLANG_IA32_DLINK_FLAGS      = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-RELEASE_XCLANG_IA32_DLINK_FLAGS      = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCLANG_IA32_SLINK_FLAGS      = -static -o\r
-  DEBUG_XCLANG_IA32_ASM_FLAGS  = -arch i386 -g\r
-RELEASE_XCLANG_IA32_ASM_FLAGS  = -arch i386 \r
-*_XCLANG_IA32_NASM_FLAGS       = -f macho32\r
-\r
-  DEBUG_XCLANG_IA32_CC_FLAGS   = -arch i386 -c -g -O0  -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable  -fasm-blocks  -mms-bitfields -msoft-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang\r
-RELEASE_XCLANG_IA32_CC_FLAGS   = -arch i386 -c    -Os  -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable  -fasm-blocks  -mms-bitfields -msoft-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang\r
-\r
+*_XCODE5_*_MAKE_PATH     = make\r
+*_XCODE5_*_CC_PATH       = clang\r
+*_XCODE5_*_SLINK_PATH    = libtool\r
+*_XCODE5_*_DLINK_PATH    = ld\r
+*_XCODE5_*_ASM_PATH      = as\r
+*_XCODE5_*_PP_PATH       = clang\r
+*_XCODE5_*_VFRPP_PATH    = clang\r
+*_XCODE5_*_ASL_PATH      = iasl\r
+*_XCODE5_*_ASLCC_PATH    = clang\r
+*_XCODE5_*_ASLPP_PATH    = clang\r
+*_XCODE5_*_ASLDLINK_PATH = ld\r
+*_XCODE5_*_DSYMUTIL_PATH = /usr/bin/dsymutil\r
+*_XCODE5_*_MTOC_PATH     = /usr/local/bin/mtoc\r
 \r
 ##################\r
-# X64 definitions\r
+# ASL definitions\r
 ##################\r
-  DEBUG_XCLANG_X64_DLINK_FLAGS      = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-RELEASE_XCLANG_X64_DLINK_FLAGS      = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x220 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCLANG_X64_SLINK_FLAGS      = -static -o\r
-  DEBUG_XCLANG_X64_ASM_FLAGS  = -arch x86_64 -g\r
-RELEASE_XCLANG_X64_ASM_FLAGS  = -arch x86_64 \r
-*_XCLANG_X64_NASM_FLAGS       = -f macho64\r
-*_XCLANG_*_PP_FLAGS         = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h \r
-*_XCLANG_*_VFRPP_FLAGS      = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h \r
-\r
-\r
-  DEBUG_XCLANG_X64_CC_FLAGS   = -ccc-host-triple x86_64-pc-win32-macho -c -g -O0  -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang\r
-RELEASE_XCLANG_X64_CC_FLAGS   = -ccc-host-triple x86_64-pc-win32-macho -c    -Os  -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang\r
-*_XCLANG_*_ASLCC_FLAGS      = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic\r
-*_XCLANG_*_ASLDLINK_FLAGS   = -e _main -preload -segalign 0x20  -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCLANG_*_ASLPP_FLAGS      = -x c -E \r
-*_XCLANG_*_ASL_FLAGS        =\r
-\r
-#\r
-# XCODE5 support\r
-#\r
-\r
-*_XCODE5_*_*_FAMILY            = GCC\r
-*_XCODE5_*_*_BUILDRULEFAMILY   = XCODE\r
-*_XCODE5_*_*_BUILDRULEORDER    = S s nasm\r
-\r
-*_XCODE5_*_ASL_PATH          = /usr/bin/iasl\r
+*_XCODE5_*_ASLCC_FLAGS      = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h\r
+*_XCODE5_*_ASLDLINK_FLAGS   = -e _ReferenceAcpiTable -preload -segalign 0x20  -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+*_XCODE5_*_ASLPP_FLAGS      = -x c -E -include AutoGen.h\r
+*_XCODE5_*_ASL_FLAGS        =\r
+*_XCODE5_*_ASL_OUTFLAGS     = DEF(IASL_OUTFLAGS)\r
 \r
-*_XCODE5_*_MAKE_PATH        = make\r
-*_XCODE5_*_DSYMUTIL_PATH    = /usr/bin/dsymutil\r
+##################\r
+# MTOC definitions\r
+##################\r
 \r
   DEBUG_XCODE5_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll\r
   NOOPT_XCODE5_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll\r
 RELEASE_XCODE5_*_MTOC_FLAGS = -align 0x20 \r
 \r
-#\r
-# use xcode-select to change Xcode version of command line tools\r
-#\r
-*_XCODE5_*_CC_PATH      = clang\r
-*_XCODE5_*_SLINK_PATH   = libtool\r
-*_XCODE5_*_DLINK_PATH   = ld\r
-*_XCODE5_*_ASM_PATH     = as\r
-*_XCODE5_*_PP_PATH      = clang\r
-*_XCODE5_*_VFRPP_PATH   = clang\r
-*_XCODE5_*_ASL_PATH     = iasl\r
-*_XCODE5_*_ASLCC_PATH   = clang\r
-*_XCODE5_*_ASLPP_PATH   = clang\r
-*_XCODE5_*_ASLDLINK_PATH  = ld\r
-\r
 ####################\r
 # IA-32 definitions\r
 ####################\r
@@ -7410,11 +6835,9 @@ RELEASE_XCODE5_IA32_ASM_FLAGS  = -arch i386
       *_XCODE5_IA32_NASM_FLAGS = -f macho32\r
 \r
 \r
-  DEBUG_XCODE5_IA32_CC_FLAGS   = -arch i386 -c -g -Os       -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
-RELEASE_XCODE5_IA32_CC_FLAGS   = -arch i386 -c    -Os       -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
-  NOOPT_XCODE5_IA32_CC_FLAGS   = -arch i386 -c -g -O0       -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
-\r
-\r
+  DEBUG_XCODE5_IA32_CC_FLAGS   = -arch i386 -c -g -Os       -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
+RELEASE_XCODE5_IA32_CC_FLAGS   = -arch i386 -c    -Os       -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
+  NOOPT_XCODE5_IA32_CC_FLAGS   = -arch i386 -c -g -O0       -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
 \r
 ##################\r
 # X64 definitions\r
@@ -7431,16 +6854,9 @@ RELEASE_XCODE5_X64_ASM_FLAGS  = -arch x86_64
 *_XCODE5_*_PP_FLAGS         = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h \r
 *_XCODE5_*_VFRPP_FLAGS      = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h \r
 \r
-\r
-  DEBUG_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c -g -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
-  NOOPT_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c -g -O0       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
-RELEASE_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c    -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)\r
-\r
-*_XCODE5_*_ASLCC_FLAGS      = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h \r
-*_XCODE5_*_ASLDLINK_FLAGS   = -e _ReferenceAcpiTable -preload -segalign 0x20  -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCODE5_*_ASLPP_FLAGS      = -x c -E \r
-*_XCODE5_*_ASL_FLAGS        =\r
-*_XCODE5_*_ASL_OUTFLAGS     = DEF(IASL_OUTFLAGS)\r
+  DEBUG_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c -g -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)\r
+  NOOPT_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c -g -O0       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)\r
+RELEASE_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c    -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)\r
 \r
 ####################################################################################\r
 #\r
@@ -7644,6 +7060,12 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F
 *_*_*_RSA2048SHA256SIGN_PATH = Rsa2048Sha256Sign\r
 *_*_*_RSA2048SHA256SIGN_GUID = A7717414-C616-4977-9420-844712A735BF\r
 \r
+##################\r
+# BrotliCompress tool definitions\r
+##################\r
+*_*_*_BROTLI_PATH        = BrotliCompress\r
+*_*_*_BROTLI_GUID        = 3D532050-5CDA-4FD0-879E-0F7F630D5AFB\r
+\r
 ##################\r
 # LzmaCompress tool definitions\r
 ##################\r
@@ -7670,6 +7092,12 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F
 *_*_*_VPDTOOL_PATH         = BPDG\r
 *_*_*_VPDTOOL_GUID         = 8C3D856A-9BE6-468E-850A-24F7A8D38E08\r
 \r
+##################\r
+# Pkcs7Sign tool definitions\r
+##################\r
+*_*_*_PKCS7SIGN_PATH       = Pkcs7Sign\r
+*_*_*_PKCS7SIGN_GUID       = 4AAFD29D-68DF-49EE-8AA9-347D375665A7\r
+\r
 ##################\r
 # NASM tool definitions\r
 ##################\r
@@ -7680,4 +7108,4 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F
 #################\r
 # Build rule order\r
 #################\r
-*_*_*_*_BUILDRULEORDER = nasm asm Asm ASM S s\r
+*_*_*_*_BUILDRULEORDER = nasm asm Asm ASM S s nasmb asm16\r