]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/tools_def.template
BaseTools AARCH64: build XIP modules with strict alignment
[mirror_edk2.git] / BaseTools / Conf / tools_def.template
index dd44de033519e26115fb47d2b8a522536589b160..c42a434165c08718628e762c72a55b40f38625b1 100644 (file)
@@ -65,6 +65,14 @@ DEFINE VS2013x86_BIN    = C:\Program Files (x86)\Microsoft Visual Studio 12.0\Vc
 DEFINE VS2013x86_DLL    = C:\Program Files (x86)\Microsoft Visual Studio 12.0\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_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_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
@@ -81,6 +89,10 @@ DEFINE WINSDK71x86_BIN    = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\
 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
 \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
+\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
 # uses Microsoft's nmake.exe.\r
@@ -293,6 +305,15 @@ 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
+#   VS2015      -win32-  Requires:\r
+#                             Microsoft Visual Studio 2015 Professional Edition\r
+#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\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
 #   DDK3790     -win32-  Requires:\r
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\r
 #                        Optional:\r
@@ -345,7 +366,7 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
 #                               Intel(r) ACPI Compiler from\r
 #                               https://acpica.org/downloads\r
 #   CLANG35     -Linux,Windows-  Requires:\r
-#                             Clang v3.5 or later, and GNU binutils targeting aarch64-linux-gnu\r
+#                             Clang v3.5 or later, and GNU binutils targeting aarch64-linux-gnu or arm-linux-gnueabi\r
 #                        Optional:\r
 #                             Required to build platforms or ACPI tables:\r
 #                               Intel(r) ACPI Compiler from\r
@@ -452,6 +473,15 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
 #                             Required to build platforms or ACPI tables:\r
 #                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from\r
 #                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi\r
+#   VS2015xASL  -win32-  Requires:\r
+#                             Microsoft Visual Studio 2015 Professional Edition\r
+#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\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
+#                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from\r
+#                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi\r
 #   DDK3790xASL -win32-  Requires:\r
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\r
 #                        Optional:\r
@@ -530,6 +560,13 @@ 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
+#   VS2015x86   -win64-  Requires:\r
+#                             Microsoft Visual Studio 2015 (x86) Professional Edition\r
+#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\r
+#                        Optional:\r
+#                             Required to build platforms or ACPI tables:\r
+#                               Intel(r) ACPI Compiler (iasl.exe) from\r
+#                               https://acpica.org/downloads\r
 #   ICCx86      -win64-  Requires:\r
 #                             Intel C Compiler V9.1(x86)\r
 #                        Dependencies:\r
@@ -591,6 +628,13 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
 #                             Required to build platforms or ACPI tables:\r
 #                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from\r
 #                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi\r
+#  VS2015x86xASL -win64- Requires:\r
+#                             Microsoft Visual Studio 2015 (x86) Professional\r
+#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830 \r
+#                        Optional:\r
+#                             Required to build platforms or ACPI tables:\r
+#                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from\r
+#                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi\r
 #   ICCx86xASL  -win64-  Requires:\r
 #                             Intel C Compiler V9.1 (x86)\r
 #                        Dependencies:\r
@@ -2601,7 +2645,7 @@ NOOPT_VS2010x86xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:R
 #   VS2012  - Microsoft Visual Studio 2012 Professional Edition with Intel ASL\r
 #   ASL     - Intel ACPI Source Language Compiler\r
 ####################################################################################\r
-#   VS2012           - Microsoft Visual Studio 2012 Premium Edition\r
+#   VS2012           - Microsoft Visual Studio 2012 Professional Edition\r
 *_VS2012_*_*_FAMILY               = MSFT\r
 \r
 *_VS2012_*_MAKE_PATH              = DEF(VS2012_BIN)\nmake.exe\r
@@ -2643,9 +2687,9 @@ NOOPT_VS2010x86xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:R
 *_VS2012_IA32_ASLDLINK_PATH       = DEF(VS2012_BIN)\link.exe\r
 \r
       *_VS2012_IA32_MAKE_FLAGS    = /nologo\r
-  DEBUG_VS2012_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2012_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
-NOOPT_VS2012_IA32_CC_FLAGS        = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+  DEBUG_VS2012_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
+RELEASE_VS2012_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+NOOPT_VS2012_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_VS2012_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
 RELEASE_VS2012_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd\r
@@ -2719,7 +2763,7 @@ NOOPT_VS2012_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT
 #   VS2012  - Microsoft Visual Studio 2012 Professional Edition with Microsoft ASL\r
 #   ASL     - Microsoft ACPI Source Language Compiler (asl.exe)\r
 ####################################################################################\r
-#   VS2012xASL           - Microsoft Visual Studio 2012 Premium Edition\r
+#   VS2012xASL           - Microsoft Visual Studio 2012 Professional Edition\r
 *_VS2012xASL_*_*_FAMILY        = MSFT\r
 \r
 *_VS2012xASL_*_MAKE_PATH       = DEF(VS2012_BIN)\nmake.exe\r
@@ -2761,9 +2805,9 @@ NOOPT_VS2012_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT
 *_VS2012xASL_IA32_ASLDLINK_PATH = DEF(VS2012_BIN)\link.exe\r
 \r
       *_VS2012xASL_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2012xASL_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2012xASL_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
-NOOPT_VS2012xASL_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+  DEBUG_VS2012xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
+RELEASE_VS2012xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+NOOPT_VS2012xASL_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_VS2012xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
 RELEASE_VS2012xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
@@ -2877,9 +2921,9 @@ NOOPT_VS2012xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
 *_VS2012x86_IA32_ASM_PATH     = DEF(VS2012x86_BIN)\ml.exe\r
 \r
       *_VS2012x86_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2012x86_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2012x86_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
-NOOPT_VS2012x86_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+  DEBUG_VS2012x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
+RELEASE_VS2012x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+NOOPT_VS2012x86_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_VS2012x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
 RELEASE_VS2012x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
@@ -2992,9 +3036,9 @@ NOOPT_VS2012x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_VS2012x86xASL_IA32_ASM_PATH     = DEF(VS2012x86_BIN)\ml.exe\r
 \r
       *_VS2012x86xASL_IA32_MAKE_FLAGS  = /nologo\r
-  DEBUG_VS2012x86xASL_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2012x86xASL_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
-NOOPT_VS2012x86xASL_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+  DEBUG_VS2012x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
+RELEASE_VS2012x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
+NOOPT_VS2012x86xASL_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_VS2012x86xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
 RELEASE_VS2012x86xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
@@ -3067,7 +3111,7 @@ NOOPT_VS2012x86xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
 #   VS2013  - Microsoft Visual Studio 2013 Professional Edition with Intel ASL\r
 #   ASL     - Intel ACPI Source Language Compiler\r
 ####################################################################################\r
-#   VS2013           - Microsoft Visual Studio 2013 Premium Edition\r
+#   VS2013           - Microsoft Visual Studio 2013 Professional Edition\r
 *_VS2013_*_*_FAMILY               = MSFT\r
 \r
 *_VS2013_*_MAKE_PATH              = DEF(VS2013_BIN)\nmake.exe\r
@@ -3109,9 +3153,9 @@ 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 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2013_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
-NOOPT_VS2013_IA32_CC_FLAGS        = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+  DEBUG_VS2013_IA32_CC_FLAGS      = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /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 /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\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
 RELEASE_VS2013_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd\r
@@ -3185,7 +3229,7 @@ NOOPT_VS2013_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT
 #   VS2013  - Microsoft Visual Studio 2013 Professional Edition with Microsoft ASL\r
 #   ASL     - Microsoft ACPI Source Language Compiler (asl.exe)\r
 ####################################################################################\r
-#   VS2013xASL           - Microsoft Visual Studio 2013 Premium Edition\r
+#   VS2013xASL           - Microsoft Visual Studio 2013 Professional Edition\r
 *_VS2013xASL_*_*_FAMILY        = MSFT\r
 \r
 *_VS2013xASL_*_MAKE_PATH       = DEF(VS2013_BIN)\nmake.exe\r
@@ -3227,9 +3271,9 @@ 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 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2013xASL_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
-NOOPT_VS2013xASL_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+  DEBUG_VS2013xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /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 /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\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
 RELEASE_VS2013xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
@@ -3343,9 +3387,9 @@ 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 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2013x86_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
-NOOPT_VS2013x86_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+  DEBUG_VS2013x86_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /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 /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\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
 RELEASE_VS2013x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
@@ -3458,9 +3502,9 @@ 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 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm\r
-RELEASE_VS2013x86xASL_IA32_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\r
-NOOPT_VS2013x86xASL_IA32_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od\r
+  DEBUG_VS2013x86xASL_IA32_CC_FLAGS    = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /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 /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\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
 RELEASE_VS2013x86xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
@@ -3527,6 +3571,473 @@ NOOPT_VS2013x86xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
 *_VS2013x86xASL_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
+#\r
+# Microsoft Visual Studio 2015\r
+#\r
+#   VS2015  - Microsoft Visual Studio 2015 Professional Edition with Intel ASL\r
+#   ASL     - Intel ACPI Source Language Compiler\r
+####################################################################################\r
+#   VS2015           - Microsoft Visual Studio 2015 Professional Edition\r
+*_VS2015_*_*_FAMILY               = MSFT\r
+\r
+*_VS2015_*_MAKE_PATH              = DEF(VS2015_BIN)\nmake.exe\r
+*_VS2015_*_MAKE_FLAGS             = /nologo\r
+*_VS2015_*_RC_PATH                = DEF(WINSDK81_BIN)\rc.exe\r
+\r
+*_VS2015_*_SLINK_FLAGS            = /NOLOGO /LTCG\r
+*_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
+\r
+*_VS2015_*_ASM16_PATH             = DEF(VS2015_BIN)\ml.exe\r
+\r
+##################\r
+# ASL definitions\r
+##################\r
+*_VS2015_*_ASL_PATH               = DEF(DEFAULT_WIN_ASL_BIN)\r
+*_VS2015_*_ASL_FLAGS              = DEF(DEFAULT_WIN_ASL_FLAGS)\r
+*_VS2015_*_ASL_OUTFLAGS           = DEF(DEFAULT_WIN_ASL_OUTFLAGS)\r
+*_VS2015_*_ASLCC_FLAGS            = DEF(MSFT_ASLCC_FLAGS)\r
+*_VS2015_*_ASLPP_FLAGS            = DEF(MSFT_ASLPP_FLAGS)\r
+*_VS2015_*_ASLDLINK_FLAGS         = DEF(MSFT_ASLDLINK_FLAGS)\r
+\r
+##################\r
+# IA32 definitions\r
+##################\r
+*_VS2015_IA32_*_DLL               = DEF(VS2015_DLL)\r
+\r
+*_VS2015_IA32_MAKE_PATH           = DEF(VS2015_BIN)\nmake.exe\r
+*_VS2015_IA32_CC_PATH             = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015_IA32_VFRPP_PATH          = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015_IA32_SLINK_PATH          = DEF(VS2015_BIN)\lib.exe\r
+*_VS2015_IA32_DLINK_PATH          = DEF(VS2015_BIN)\link.exe\r
+*_VS2015_IA32_APP_PATH            = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015_IA32_PP_PATH             = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015_IA32_ASM_PATH            = DEF(VS2015_BIN)\ml.exe\r
+*_VS2015_IA32_ASLCC_PATH          = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015_IA32_ASLPP_PATH          = DEF(VS2015_BIN)\cl.exe\r
+*_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 /O1ib2 /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 /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\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
+RELEASE_VS2015_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd\r
+NOOPT_VS2015_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
+\r
+  DEBUG_VS2015_IA32_NASM_FLAGS    = -Ox -f win32 -g\r
+RELEASE_VS2015_IA32_NASM_FLAGS    = -Ox -f win32\r
+NOOPT_VS2015_IA32_NASM_FLAGS      = -O0 -f win32 -g\r
+\r
+  DEBUG_VS2015_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+RELEASE_VS2015_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
+NOOPT_VS2015_IA32_DLINK_FLAGS     = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+\r
+##################\r
+# X64 definitions\r
+##################\r
+*_VS2015_X64_*_DLL         = DEF(VS2015_DLL)\r
+\r
+*_VS2015_X64_CC_PATH       = DEF(VS2015_BINX64)\cl.exe\r
+*_VS2015_X64_PP_PATH       = DEF(VS2015_BINX64)\cl.exe\r
+*_VS2015_X64_APP_PATH      = DEF(VS2015_BINX64)\cl.exe\r
+*_VS2015_X64_VFRPP_PATH    = DEF(VS2015_BINX64)\cl.exe\r
+*_VS2015_X64_ASM_PATH      = DEF(VS2015_BINX64)\ml64.exe\r
+*_VS2015_X64_SLINK_PATH    = DEF(VS2015_BINX64)\lib.exe\r
+*_VS2015_X64_DLINK_PATH    = DEF(VS2015_BINX64)\link.exe\r
+*_VS2015_X64_ASLCC_PATH    = DEF(VS2015_BINX64)\cl.exe\r
+*_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 /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
+RELEASE_VS2015_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\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
+RELEASE_VS2015_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd\r
+NOOPT_VS2015_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi\r
+\r
+  DEBUG_VS2015_X64_NASM_FLAGS   = -Ox -f win64 -g\r
+RELEASE_VS2015_X64_NASM_FLAGS   = -Ox -f win64\r
+NOOPT_VS2015_X64_NASM_FLAGS     = -O0 -f win64 -g\r
+\r
+  DEBUG_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+RELEASE_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
+NOOPT_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+\r
+##################\r
+# EBC definitions\r
+##################\r
+*_VS2015_EBC_*_FAMILY            = INTEL\r
+*_VS2015_EBC_*_DLL               = DEF(VS2015_DLL)\r
+\r
+*_VS2015_EBC_MAKE_PATH           = DEF(VS2015_BIN)\nmake.exe\r
+*_VS2015_EBC_PP_PATH             = DEF(EBC_BIN)\iec.exe\r
+*_VS2015_EBC_VFRPP_PATH          = DEF(EBC_BIN)\iec.exe\r
+*_VS2015_EBC_CC_PATH             = DEF(EBC_BIN)\iec.exe\r
+*_VS2015_EBC_SLINK_PATH          = DEF(VS2015_BIN)\link.exe\r
+*_VS2015_EBC_DLINK_PATH          = DEF(VS2015_BIN)\link.exe\r
+\r
+*_VS2015_EBC_MAKE_FLAGS          = /nologo\r
+*_VS2015_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h\r
+*_VS2015_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)\r
+*_VS2015_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2015_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC\r
+*_VS2015_EBC_DLINK_FLAGS         = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER\r
+\r
+\r
+####################################################################################\r
+#\r
+# Microsoft Visual Studio 2015\r
+#\r
+#   VS2015  - Microsoft Visual Studio 2015 Professional Edition with Microsoft ASL\r
+#   ASL     - Microsoft ACPI Source Language Compiler (asl.exe)\r
+####################################################################################\r
+#   VS2015xASL           - Microsoft Visual Studio 2015 Professional Edition\r
+*_VS2015xASL_*_*_FAMILY        = MSFT\r
+\r
+*_VS2015xASL_*_MAKE_PATH       = DEF(VS2015_BIN)\nmake.exe\r
+*_VS2015xASL_*_MAKE_FLAG       = /nologo\r
+*_VS2015xASL_*_RC_PATH         = DEF(WINSDK81_BIN)\rc.exe\r
+\r
+*_VS2015xASL_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
+*_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
+\r
+*_VS2015xASL_*_ASM16_PATH      = DEF(VS2015_BIN)\ml.exe\r
+\r
+##################\r
+# ASL definitions\r
+##################\r
+*_VS2015xASL_*_ASL_PATH        = DEF(WIN_ASL_BIN)\r
+*_VS2015xASL_*_ASL_FLAGS       =\r
+*_VS2015xASL_*_ASL_OUTFLAGS    = DEF(MS_ASL_OUTFLAGS)\r
+*_VS2015xASL_*_ASLCC_FLAGS     = DEF(MSFT_ASLCC_FLAGS)\r
+*_VS2015xASL_*_ASLPP_FLAGS     = DEF(MSFT_ASLPP_FLAGS)\r
+*_VS2015xASL_*_ASLDLINK_FLAGS  = DEF(MSFT_ASLDLINK_FLAGS)\r
+\r
+##################\r
+# IA32 definitions\r
+##################\r
+*_VS2015xASL_IA32_*_DLL        = DEF(VS2015_DLL)\r
+\r
+*_VS2015xASL_IA32_MAKE_PATH    = DEF(VS2015_BIN)\nmake.exe\r
+*_VS2015xASL_IA32_CC_PATH      = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015xASL_IA32_VFRPP_PATH   = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015xASL_IA32_SLINK_PATH   = DEF(VS2015_BIN)\lib.exe\r
+*_VS2015xASL_IA32_DLINK_PATH   = DEF(VS2015_BIN)\link.exe\r
+*_VS2015xASL_IA32_APP_PATH     = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015xASL_IA32_PP_PATH      = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015xASL_IA32_ASM_PATH     = DEF(VS2015_BIN)\ml.exe\r
+*_VS2015xASL_IA32_ASLCC_PATH    = DEF(VS2015_BIN)\cl.exe\r
+*_VS2015xASL_IA32_ASLPP_PATH    = DEF(VS2015_BIN)\cl.exe\r
+*_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 /O1ib2 /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 /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\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
+RELEASE_VS2015xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
+NOOPT_VS2015xASL_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
+\r
+  DEBUG_VS2015xASL_IA32_NASM_FLAGS  = -Ox -f win32 -g\r
+RELEASE_VS2015xASL_IA32_NASM_FLAGS  = -Ox -f win32\r
+NOOPT_VS2015xASL_IA32_NASM_FLAGS    = -O0 -f win32 -g\r
+\r
+  DEBUG_VS2015xASL_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_VS2015xASL_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_VS2015xASL_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
+*_VS2015xASL_X64_*_DLL         = DEF(VS2015_DLL)\r
+\r
+*_VS2015xASL_X64_CC_PATH       = DEF(VS2015_BINX64)\cl.exe\r
+*_VS2015xASL_X64_PP_PATH       = DEF(VS2015_BINX64)\cl.exe\r
+*_VS2015xASL_X64_APP_PATH      = DEF(VS2015_BINX64)\cl.exe\r
+*_VS2015xASL_X64_VFRPP_PATH    = DEF(VS2015_BINX64)\cl.exe\r
+*_VS2015xASL_X64_ASM_PATH      = DEF(VS2015_BINX64)\ml64.exe\r
+*_VS2015xASL_X64_SLINK_PATH    = DEF(VS2015_BINX64)\lib.exe\r
+*_VS2015xASL_X64_DLINK_PATH    = DEF(VS2015_BINX64)\link.exe\r
+*_VS2015xASL_X64_ASLCC_PATH    = DEF(VS2015_BINX64)\cl.exe\r
+*_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 /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
+RELEASE_VS2015xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\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
+RELEASE_VS2015xASL_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd\r
+NOOPT_VS2015xASL_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi\r
+\r
+  DEBUG_VS2015xASL_X64_NASM_FLAGS   = -Ox -f win64 -g\r
+RELEASE_VS2015xASL_X64_NASM_FLAGS   = -Ox -f win64\r
+NOOPT_VS2015xASL_X64_NASM_FLAGS     = -O0 -f win64 -g\r
+\r
+  DEBUG_VS2015xASL_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
+RELEASE_VS2015xASL_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_VS2015xASL_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
+# EBC definitions\r
+##################\r
+*_VS2015xASL_EBC_*_FAMILY            = INTEL\r
+*_VS2015xASL_EBC_*_DLL               = DEF(VS2015_DLL)\r
+\r
+*_VS2015xASL_EBC_MAKE_PATH           = DEF(VS2015_BIN)\nmake.exe\r
+*_VS2015xASL_EBC_PP_PATH             = DEF(EBC_BIN)\iec.exe\r
+*_VS2015xASL_EBC_VFRPP_PATH          = DEF(EBC_BIN)\iec.exe\r
+*_VS2015xASL_EBC_CC_PATH             = DEF(EBC_BIN)\iec.exe\r
+*_VS2015xASL_EBC_SLINK_PATH          = DEF(VS2015_BIN)\link.exe\r
+*_VS2015xASL_EBC_DLINK_PATH          = DEF(VS2015_BIN)\link.exe\r
+\r
+*_VS2015xASL_EBC_MAKE_FLAGS          = /nologo\r
+*_VS2015xASL_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h\r
+*_VS2015xASL_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)\r
+*_VS2015xASL_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2015xASL_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC\r
+*_VS2015xASL_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
+#   VS2015x86       - Microsoft Visual Studio 2015 (x86) professional with Intel ASL\r
+#   ASL  - Intel ACPI Source Language Compiler (iasl.exe)\r
+####################################################################################\r
+#   VS2015x86           - Microsoft Visual Studio 2015 (x86) professional Edition with Intel ASL\r
+*_VS2015x86_*_*_FAMILY        = MSFT\r
+\r
+*_VS2015x86_*_MAKE_PATH       = DEF(VS2015x86_BIN)\nmake.exe\r
+*_VS2015x86_*_MAKE_FLAG       = /nologo\r
+*_VS2015x86_*_RC_PATH         = DEF(WINSDK81x86_BIN)\rc.exe\r
+\r
+*_VS2015x86_*_MAKE_FLAGS      = /nologo\r
+*_VS2015x86_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
+*_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
+\r
+*_VS2015x86_*_ASM16_PATH      = DEF(VS2015x86_BIN)\ml.exe\r
+\r
+##################\r
+# ASL definitions\r
+##################\r
+*_VS2015x86_*_ASL_PATH        = DEF(WIN_IASL_BIN)\r
+*_VS2015x86_*_ASL_FLAGS       = DEF(DEFAULT_WIN_ASL_FLAGS)\r
+*_VS2015x86_*_ASL_OUTFLAGS    = DEF(DEFAULT_WIN_ASL_OUTFLAGS)\r
+*_VS2015x86_*_ASLCC_FLAGS     = DEF(MSFT_ASLCC_FLAGS)\r
+*_VS2015x86_*_ASLPP_FLAGS     = DEF(MSFT_ASLPP_FLAGS)\r
+*_VS2015x86_*_ASLDLINK_FLAGS  = DEF(MSFT_ASLDLINK_FLAGS)\r
+\r
+##################\r
+# IA32 definitions\r
+##################\r
+*_VS2015x86_IA32_*_DLL        = DEF(VS2015x86_DLL)\r
+\r
+*_VS2015x86_IA32_MAKE_PATH    = DEF(VS2015x86_BIN)\nmake.exe\r
+*_VS2015x86_IA32_CC_PATH      = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86_IA32_VFRPP_PATH   = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86_IA32_ASLCC_PATH   = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86_IA32_ASLPP_PATH   = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86_IA32_SLINK_PATH   = DEF(VS2015x86_BIN)\lib.exe\r
+*_VS2015x86_IA32_DLINK_PATH   = DEF(VS2015x86_BIN)\link.exe\r
+*_VS2015x86_IA32_ASLDLINK_PATH= DEF(VS2015x86_BIN)\link.exe\r
+*_VS2015x86_IA32_APP_PATH     = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86_IA32_PP_PATH      = DEF(VS2015x86_BIN)\cl.exe\r
+*_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 /O1ib2 /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 /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\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
+RELEASE_VS2015x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
+NOOPT_VS2015x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
+\r
+  DEBUG_VS2015x86_IA32_NASM_FLAGS  = -Ox -f win32 -g\r
+RELEASE_VS2015x86_IA32_NASM_FLAGS  = -Ox -f win32\r
+NOOPT_VS2015x86_IA32_NASM_FLAGS    = -O0 -f win32 -g\r
+\r
+  DEBUG_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+RELEASE_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
+NOOPT_VS2015x86_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+\r
+##################\r
+# X64 definitions\r
+##################\r
+*_VS2015x86_X64_*_DLL         = DEF(VS2015x86_DLL)\r
+\r
+*_VS2015x86_X64_CC_PATH       = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86_X64_PP_PATH       = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86_X64_APP_PATH      = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86_X64_VFRPP_PATH    = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86_X64_ASLCC_PATH    = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86_X64_ASLPP_PATH    = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86_X64_ASM_PATH      = DEF(VS2015x86_BINX64)\ml64.exe\r
+*_VS2015x86_X64_SLINK_PATH    = DEF(VS2015x86_BINX64)\lib.exe\r
+*_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 /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
+RELEASE_VS2015x86_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\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
+RELEASE_VS2015x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd\r
+NOOPT_VS2015x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi\r
+\r
+  DEBUG_VS2015x86_X64_NASM_FLAGS   = -Ox -f win64 -g\r
+RELEASE_VS2015x86_X64_NASM_FLAGS   = -Ox -f win64\r
+NOOPT_VS2015x86_X64_NASM_FLAGS     = -O0 -f win64 -g\r
+\r
+  DEBUG_VS2015x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+RELEASE_VS2015x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data\r
+NOOPT_VS2015x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+\r
+##################\r
+# EBC definitions\r
+##################\r
+*_VS2015x86_EBC_*_FAMILY            = INTEL\r
+*_VS2015x86_EBC_*_DLL               = DEF(VS2015x86_DLL)\r
+\r
+*_VS2015x86_EBC_MAKE_PATH           = DEF(VS2015x86_BIN)\nmake.exe\r
+*_VS2015x86_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe\r
+*_VS2015x86_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe\r
+*_VS2015x86_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe\r
+*_VS2015x86_EBC_SLINK_PATH          = DEF(VS2015x86_BIN)\link.exe\r
+*_VS2015x86_EBC_DLINK_PATH          = DEF(VS2015x86_BIN)\link.exe\r
+\r
+*_VS2015x86_EBC_MAKE_FLAGS          = /nologo\r
+*_VS2015x86_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h\r
+*_VS2015x86_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)\r
+*_VS2015x86_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2015x86_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC\r
+*_VS2015x86_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER\r
+\r
+\r
+####################################################################################\r
+#   VS2015x86xASL     - Microsoft Visual Studio 2015 (x86) professional with Microsoft ASL\r
+#   ASL  - Microsoft ACPI Source Language Compiler (asl.exe)\r
+####################################################################################\r
+*_VS2015x86xASL_*_*_FAMILY        = MSFT\r
+\r
+*_VS2015x86xASL_*_MAKE_PATH       = DEF(VS2015x86_BIN)\nmake.exe\r
+*_VS2015x86xASL_*_MAKE_FLAG       = /nologo\r
+*_VS2015x86xASL_*_RC_PATH         = DEF(WINSDK81x86_BIN)\rc.exe\r
+\r
+*_VS2015x86xASL_*_MAKE_FLAGS      = /nologo\r
+*_VS2015x86xASL_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
+*_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
+\r
+*_VS2015x86xASL_*_ASM16_PATH      = DEF(VS2015x86_BIN)\ml.exe\r
+\r
+##################\r
+# ASL definitions\r
+##################\r
+*_VS2015x86xASL_*_ASL_PATH        = DEF(WIN_ASL_BIN)\r
+*_VS2015x86xASL_*_ASL_FLAGS       = DEF(MS_ASL_FLAGS)\r
+*_VS2015x86xASL_*_ASL_OUTFLAGS    = DEF(MS_ASL_OUTFLAGS)\r
+*_VS2015x86xASL_*_ASLCC_FLAGS     = DEF(MSFT_ASLCC_FLAGS)\r
+*_VS2015x86xASL_*_ASLPP_FLAGS     = DEF(MSFT_ASLPP_FLAGS)\r
+*_VS2015x86xASL_*_ASLDLINK_FLAGS  = DEF(MSFT_ASLDLINK_FLAGS)\r
+\r
+##################\r
+# IA32 definitions\r
+##################\r
+*_VS2015x86xASL_IA32_*_DLL        = DEF(VS2015x86_DLL)\r
+\r
+*_VS2015x86xASL_IA32_MAKE_PATH    = DEF(VS2015x86_BIN)\nmake.exe\r
+*_VS2015x86xASL_IA32_CC_PATH      = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86xASL_IA32_VFRPP_PATH   = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86xASL_IA32_ASLCC_PATH   = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86xASL_IA32_ASLPP_PATH   = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86xASL_IA32_SLINK_PATH   = DEF(VS2015x86_BIN)\lib.exe\r
+*_VS2015x86xASL_IA32_DLINK_PATH   = DEF(VS2015x86_BIN)\link.exe\r
+*_VS2015x86xASL_IA32_ASLDLINK_PATH= DEF(VS2015x86_BIN)\link.exe\r
+*_VS2015x86xASL_IA32_APP_PATH     = DEF(VS2015x86_BIN)\cl.exe\r
+*_VS2015x86xASL_IA32_PP_PATH      = DEF(VS2015x86_BIN)\cl.exe\r
+*_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 /O1ib2 /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 /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF\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
+RELEASE_VS2015x86xASL_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd\r
+NOOPT_VS2015x86xASL_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi\r
+\r
+  DEBUG_VS2015x86xASL_IA32_NASM_FLAGS  = -Ox -f win32 -g\r
+RELEASE_VS2015x86xASL_IA32_NASM_FLAGS  = -Ox -f win32\r
+NOOPT_VS2015x86xASL_IA32_NASM_FLAGS    = -O0 -f win32 -g\r
+\r
+  DEBUG_VS2015x86xASL_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_VS2015x86xASL_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_VS2015x86xASL_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
+*_VS2015x86xASL_X64_*_DLL         = DEF(VS2015x86_DLL)\r
+\r
+*_VS2015x86xASL_X64_CC_PATH       = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86xASL_X64_PP_PATH       = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86xASL_X64_APP_PATH      = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86xASL_X64_VFRPP_PATH    = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86xASL_X64_ASLCC_PATH    = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86xASL_X64_ASLPP_PATH    = DEF(VS2015x86_BINX64)\cl.exe\r
+*_VS2015x86xASL_X64_ASM_PATH      = DEF(VS2015x86_BINX64)\ml64.exe\r
+*_VS2015x86xASL_X64_SLINK_PATH    = DEF(VS2015x86_BINX64)\lib.exe\r
+*_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 /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm\r
+RELEASE_VS2015x86xASL_X64_CC_FLAGS     = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF\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
+RELEASE_VS2015x86xASL_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd\r
+NOOPT_VS2015x86xASL_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi\r
+\r
+  DEBUG_VS2015x86xASL_X64_NASM_FLAGS   = -Ox -f win64 -g\r
+RELEASE_VS2015x86xASL_X64_NASM_FLAGS   = -Ox -f win64\r
+NOOPT_VS2015x86xASL_X64_NASM_FLAGS     = -O0 -f win64 -g\r
+\r
+  DEBUG_VS2015x86xASL_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
+RELEASE_VS2015x86xASL_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_VS2015x86xASL_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
+# EBC definitions\r
+##################\r
+*_VS2015x86xASL_EBC_*_FAMILY            = INTEL\r
+*_VS2015x86xASL_EBC_*_DLL               = DEF(VS2015x86_DLL)\r
+\r
+*_VS2015x86xASL_EBC_MAKE_PATH           = DEF(VS2015x86_BIN)\nmake.exe\r
+*_VS2015x86xASL_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe\r
+*_VS2015x86xASL_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe\r
+*_VS2015x86xASL_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe\r
+*_VS2015x86xASL_EBC_SLINK_PATH          = DEF(VS2015x86_BIN)\link.exe\r
+*_VS2015x86xASL_EBC_DLINK_PATH          = DEF(VS2015x86_BIN)\link.exe\r
+\r
+*_VS2015x86xASL_EBC_MAKE_FLAGS          = /nologo\r
+*_VS2015x86xASL_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h\r
+*_VS2015x86xASL_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)\r
+*_VS2015x86xASL_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h\r
+*_VS2015x86xASL_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC\r
+*_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
 #\r
 # Microsoft Device Driver Kit 3790.1830 (IA-32, X64, Itanium, with Link Time Code Generation)\r
@@ -3807,17 +4318,18 @@ NOOPT_DDK3790xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF
 DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug\r
 RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG   =\r
 \r
-DEFINE GCC_ALL_CC_FLAGS            = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -c -include AutoGen.h\r
+DEFINE GCC_ALL_CC_FLAGS            = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -c -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) -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft\r
-DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mcmodel=large -mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-char  -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin -Wno-address -fno-asynchronous-unwind-tables\r
+DEFINE GCC_ARM_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft\r
+DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-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_DLINK_FLAGS_COMMON      = -nostdlib --pie\r
 DEFINE GCC_DLINK2_FLAGS_COMMON     = --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= --emit-relocs -nostdlib --gc-sections -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-DEFINE GCC_ARM_DLINK_FLAGS         = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -Ttext=0x0\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_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) --entry ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)\r
@@ -3838,15 +4350,15 @@ DEFINE GCC_IPF_RC_FLAGS            = -I binary -O elf64-ia64-little   -B ia64
 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 -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings\r
+DEFINE GCC44_ALL_CC_FLAGS            = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings\r
 DEFINE GCC44_IA32_CC_FLAGS           = DEF(GCC44_ALL_CC_FLAGS) -m32 -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))" -DNO_BUILTIN_VA_FUNCS -mno-red-zone -Wno-address -mcmodel=large -fno-asynchronous-unwind-tables\r
 DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -n -q --gc-sections -z common-page-size=0x20\r
 DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry ReferenceAcpiTable -u ReferenceAcpiTable\r
 DEFINE GCC44_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-DEFINE GCC44_IA32_DLINK2_FLAGS       = DEF(GCC_DLINK2_FLAGS_COMMON) --defsym=PECOFF_HEADER_SIZE=0x220\r
+DEFINE GCC44_IA32_DLINK2_FLAGS       = --defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)\r
 DEFINE GCC44_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS)  -melf_x86_64 --oformat=elf64-x86-64\r
-DEFINE GCC44_X64_DLINK2_FLAGS        = DEF(GCC_DLINK2_FLAGS_COMMON) --defsym=PECOFF_HEADER_SIZE=0x228\r
+DEFINE GCC44_X64_DLINK2_FLAGS        = --defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)\r
 DEFINE GCC44_ASM_FLAGS               = DEF(GCC_ASM_FLAGS)\r
 \r
 DEFINE GCC45_IA32_CC_FLAGS           = DEF(GCC44_IA32_CC_FLAGS)\r
@@ -3869,8 +4381,9 @@ 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(GCC44_ALL_CC_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector\r
+DEFINE GCC46_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations\r
 DEFINE GCC46_ARM_DLINK_FLAGS         = DEF(GCC_ARM_DLINK_FLAGS) --oformat=elf32-littlearm\r
+DEFINE GCC46_ARM_DLINK2_FLAGS        = DEF(GCC_DLINK2_FLAGS_COMMON) --defsym=PECOFF_HEADER_SIZE=0x220\r
 DEFINE GCC46_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_ASLDLINK_FLAGS) --oformat=elf32-littlearm\r
 \r
 DEFINE GCC47_IA32_CC_FLAGS           = DEF(GCC46_IA32_CC_FLAGS)\r
@@ -3885,8 +4398,10 @@ DEFINE GCC47_ASM_FLAGS               = DEF(GCC46_ASM_FLAGS)
 DEFINE GCC47_ARM_ASM_FLAGS           = DEF(GCC46_ARM_ASM_FLAGS)\r
 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) -mno-unaligned-access\r
-DEFINE GCC47_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS)\r
+DEFINE GCC47_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_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
 DEFINE GCC47_AARCH64_DLINK_FLAGS     = DEF(GCC_AARCH64_DLINK_FLAGS)\r
 DEFINE GCC47_AARCH64_DLINK2_FLAGS    = DEF(GCC_DLINK2_FLAGS_COMMON) --defsym=PECOFF_HEADER_SIZE=0x228\r
 DEFINE GCC47_ARM_ASLDLINK_FLAGS      = DEF(GCC46_ARM_ASLDLINK_FLAGS)\r
@@ -3905,7 +4420,9 @@ DEFINE GCC48_ARM_ASM_FLAGS           = DEF(GCC47_ARM_ASM_FLAGS)
 DEFINE GCC48_AARCH64_ASM_FLAGS       = DEF(GCC47_AARCH64_ASM_FLAGS)\r
 DEFINE GCC48_ARM_CC_FLAGS            = DEF(GCC47_ARM_CC_FLAGS)\r
 DEFINE GCC48_AARCH64_CC_FLAGS        = DEF(GCC47_AARCH64_CC_FLAGS)\r
+DEFINE GCC48_AARCH64_CC_XIPFLAGS     = DEF(GCC47_AARCH64_CC_XIPFLAGS)\r
 DEFINE GCC48_ARM_DLINK_FLAGS         = DEF(GCC47_ARM_DLINK_FLAGS)\r
+DEFINE GCC48_ARM_DLINK2_FLAGS        = DEF(GCC47_ARM_DLINK2_FLAGS)\r
 DEFINE GCC48_AARCH64_DLINK_FLAGS     = DEF(GCC47_AARCH64_DLINK_FLAGS)\r
 DEFINE GCC48_AARCH64_DLINK2_FLAGS    = DEF(GCC47_AARCH64_DLINK2_FLAGS)\r
 DEFINE GCC48_ARM_ASLDLINK_FLAGS      = DEF(GCC47_ARM_ASLDLINK_FLAGS)\r
@@ -3923,8 +4440,10 @@ DEFINE GCC49_ASM_FLAGS               = DEF(GCC48_ASM_FLAGS)
 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_AARCH64_CC_FLAGS        = DEF(GCC48_AARCH64_CC_FLAGS)\r
+DEFINE GCC49_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) -mcmodel=tiny 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
 DEFINE GCC49_AARCH64_DLINK_FLAGS     = DEF(GCC48_AARCH64_DLINK_FLAGS)\r
 DEFINE GCC49_AARCH64_DLINK2_FLAGS    = DEF(GCC48_AARCH64_DLINK2_FLAGS)\r
 DEFINE GCC49_ARM_ASLDLINK_FLAGS      = DEF(GCC48_ARM_ASLDLINK_FLAGS)\r
@@ -4250,6 +4769,7 @@ DEFINE GCC49_AARCH64_ASLDLINK_FLAGS  = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
 *_GCC46_ARM_ASLDLINK_FLAGS       = DEF(GCC46_ARM_ASLDLINK_FLAGS)\r
 *_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_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
@@ -4349,6 +4869,7 @@ RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -D__ARM_FEATURE_UNALI
 *_GCC47_ARM_ASLDLINK_FLAGS       = DEF(GCC47_ARM_ASLDLINK_FLAGS)\r
 *_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_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
@@ -4380,6 +4901,7 @@ RELEASE_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC47_AARCH64_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC47_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)\r
 *_GCC47_AARCH64_VFRPP_FLAGS      = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)\r
+*_GCC47_AARCH64_CC_XIPFLAGS      = DEF(GCC47_AARCH64_CC_XIPFLAGS)\r
 \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
@@ -4475,6 +4997,7 @@ RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_GCC48_ARM_ASLDLINK_FLAGS       = DEF(GCC48_ARM_ASLDLINK_FLAGS)\r
 *_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_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
@@ -4506,6 +5029,7 @@ RELEASE_GCC48_ARM_CC_FLAGS       = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC48_AARCH64_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC48_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)\r
 *_GCC48_AARCH64_VFRPP_FLAGS      = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)\r
+*_GCC48_AARCH64_CC_XIPFLAGS      = DEF(GCC48_AARCH64_CC_XIPFLAGS)\r
 \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
@@ -4601,6 +5125,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_GCC49_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS)\r
 *_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_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
@@ -4632,6 +5157,7 @@ RELEASE_GCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC49_AARCH64_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)\r
 *_GCC49_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)\r
 *_GCC49_AARCH64_VFRPP_FLAGS      = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)\r
+*_GCC49_AARCH64_CC_XIPFLAGS      = DEF(GCC49_AARCH64_CC_XIPFLAGS)\r
 \r
   DEBUG_GCC49_AARCH64_CC_FLAGS   = DEF(GCC49_AARCH64_CC_FLAGS) -O0\r
 RELEASE_GCC49_AARCH64_CC_FLAGS   = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable\r
@@ -4650,9 +5176,7 @@ RELEASE_GCC49_AARCH64_CC_FLAGS   = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_CLANG35_*_ASL_PATH             = DEF(UNIX_IASL_BIN)\r
 \r
 *_CLANG35_*_PP_FLAGS             = DEF(GCC_PP_FLAGS)\r
-*_CLANG35_*_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS)\r
 *_CLANG35_*_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)\r
-*_CLANG35_*_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS)\r
 *_CLANG35_*_APP_FLAGS            =\r
 *_CLANG35_*_ASL_FLAGS            = DEF(IASL_FLAGS)\r
 *_CLANG35_*_ASL_OUTFLAGS         = DEF(IASL_OUTFLAGS)\r
@@ -4664,8 +5188,34 @@ RELEASE_GCC49_AARCH64_CC_FLAGS   = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_CLANG35_*_ASLCC_PATH           = ENV(CLANG35_BIN)clang\r
 *_CLANG35_*_ASLPP_PATH           = ENV(CLANG35_BIN)clang\r
 \r
+DEFINE CLANG35_ARM_TARGET        = -target armv7-none-linux-gnueabi\r
+DEFINE CLANG35_AARCH64_TARGET    = -target aarch64-none-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_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) -target aarch64 -mcmodel=small -mstrict-align DEF(CLANG35_WARNING_OVERRIDES)\r
+DEFINE CLANG35_ARM_CC_FLAGS      = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG35_ARM_TARGET) -mstrict-align -mllvm -arm-use-movt=0 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
+##################\r
+# CLANG35 ARM definitions\r
+##################\r
+*_CLANG35_ARM_SLINK_PATH         = ENV(CLANG35_ARM_PREFIX)ar\r
+*_CLANG35_ARM_DLINK_PATH         = ENV(CLANG35_ARM_PREFIX)ld\r
+*_CLANG35_ARM_ASLDLINK_PATH      = ENV(CLANG35_ARM_PREFIX)ld\r
+*_CLANG35_ARM_RC_PATH            = ENV(CLANG35_ARM_PREFIX)objcopy\r
+\r
+*_CLANG35_ARM_ASLCC_FLAGS        = DEF(GCC_ASLCC_FLAGS)\r
+*_CLANG35_ARM_ASLDLINK_FLAGS     = DEF(GCC_ARM_ASLDLINK_FLAGS)\r
+*_CLANG35_ARM_ASM_FLAGS          = DEF(GCC_ASM_FLAGS) DEF(CLANG35_ARM_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments\r
+*_CLANG35_ARM_DLINK_FLAGS        = DEF(GCC_ARM_DLINK_FLAGS)\r
+*_CLANG35_ARM_DLINK2_FLAGS       = DEF(GCC_DLINK2_FLAGS_COMMON) --defsym=PECOFF_HEADER_SIZE=0x220\r
+*_CLANG35_ARM_PLATFORM_FLAGS     =\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
+\r
+  DEBUG_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0\r
+RELEASE_CLANG35_ARM_CC_FLAGS     = DEF(CLANG35_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -Oz\r
 \r
 ##################\r
 # CLANG35 AARCH64 definitions\r
@@ -4677,13 +5227,14 @@ DEFINE CLANG35_AARCH64_CC_FLAGS  = DEF(GCC_AARCH64_CC_FLAGS) -target aarch64 -mc
 \r
 *_CLANG35_AARCH64_ASLCC_FLAGS    = DEF(GCC_ASLCC_FLAGS)\r
 *_CLANG35_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_ASLDLINK_FLAGS)\r
-*_CLANG35_AARCH64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -target aarch64 -Qunused-arguments\r
+*_CLANG35_AARCH64_ASM_FLAGS      = DEF(GCC_ASM_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments\r
 *_CLANG35_AARCH64_DLINK_FLAGS    = DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000\r
 *_CLANG35_AARCH64_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) --defsym=PECOFF_HEADER_SIZE=0x228\r
 *_CLANG35_AARCH64_PLATFORM_FLAGS =\r
-*_CLANG35_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
+*_CLANG35_AARCH64_PP_FLAGS       = DEF(GCC_PP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
 *_CLANG35_AARCH64_RC_FLAGS       = DEF(GCC_AARCH64_RC_FLAGS)\r
-*_CLANG35_AARCH64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
+*_CLANG35_AARCH64_VFRPP_FLAGS    = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)\r
+*_CLANG35_AARCH64_ASLPP_FLAGS    = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_AARCH64_TARGET)\r
 \r
   DEBUG_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0\r
 RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -Oz\r
@@ -6609,7 +7160,7 @@ RELEASE_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c    -Os       -W
 \r
 DEFINE RVCT_ALL_ASM_FLAGS   = --diag_suppress=1786 --diag_error=warning --apcs /interwork\r
 DEFINE RVCT_ALL_CC_FLAGS    = --c90 -c --no_autoinline --asm --gnu --apcs /interwork --signed_chars --no_unaligned_access --split_sections --enum_is_int --preinclude AutoGen.h --diag_suppress=186 --diag_warning 167 --diag_error=warning --diag_style=ide --protect_stack\r
-DEFINE RVCT_ALL_DLINK_FLAGS = --ro-base 0 --no_scanlib --reloc --no_exceptions --datacompressor off --strict --symbols --diag_style=ide\r
+DEFINE RVCT_ALL_DLINK_FLAGS = --no_scanlib --no_exceptions --datacompressor off --strict --symbols --diag_style=ide --no_legacyalign --scatter $(EDK_TOOLS_PATH)/Scripts/Rvct-Align32.sct\r
 \r
 ####################################################################################\r
 #\r
@@ -6633,7 +7184,7 @@ RELEASE_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS)
 \r
 \r
 *_RVCT_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)\r
-*_RVCT_ARM_PP_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E\r
+*_RVCT_ARM_PP_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E --preinclude AutoGen.h\r
 *_RVCT_ARM_VFRPP_FLAGS     = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
 *_RVCT_ARM_MAKE_PATH       = nmake /NOLOGO\r
 *_RVCT_ARM_SLINK_FLAGS     = --partial -o\r