Index: BaseTools/Conf/tools_def.template
===================================================================
--- BaseTools/Conf/tools_def.template	(revision 16219)
+++ BaseTools/Conf/tools_def.template	(working copy)
@@ -182,8 +182,10 @@
 DEFINE GCC48_IA32_PREFIX       = /usr/bin/
 DEFINE GCC48_X64_PREFIX        = /usr/bin/
 
-DEFINE GCC49_IA32_PREFIX       = /usr/bin/
-DEFINE GCC49_X64_PREFIX        = /usr/bin/
+DEFINE GCC49_BIN               = ENV(GCC49)/bin/
+DEFINE GCC49_DLL               = ENV(GCC49)/dll/
+DEFINE GCC49_IA32_PREFIX       = DEF(GCC49_BIN)
+DEFINE GCC49_X64_PREFIX        = DEF(GCC49_BIN)
 
 DEFINE UNIX_IASL_BIN           = ENV(IASL_PREFIX)iasl
 DEFINE WIN_ASL_BIN_DIR         = C:\ASL
@@ -4489,8 +4491,9 @@
 ####################################################################################
 *_GCC49_*_*_FAMILY               = GCC
 
-*_GCC49_*_MAKE_PATH                    = make
-*_GCC49_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
+*_GCC49_*_*_DLL                        = DEF(GCC49_DLL)
+*_GCC49_*_MAKE_PATH                    = DEF(GCC49_BIN)make
+*_GCC49_*_ASL_PATH                     = ENV(UEFI_BUILD_TOOLS)/ASL/iasl
 
 *_GCC49_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
 *_GCC49_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
Index: BaseTools/Source/Python/AutoGen/GenMake.py
===================================================================
--- BaseTools/Source/Python/AutoGen/GenMake.py	(revision 16219)
+++ BaseTools/Source/Python/AutoGen/GenMake.py	(working copy)
@@ -679,7 +679,11 @@
                     NewFile = self.PlaceMacro(str(F), self.Macros)
                     # In order to use file list macro as dependency
                     if T.GenListFile:
-                        self.ListFileMacros[T.ListFileMacro].append(str(F))
+                        # gnu tools need forward slash path separater, even on Windows
+                        if self.PlatformInfo.ToolChainFamily in ('GCC'):
+                            self.ListFileMacros[T.ListFileMacro].append(str(F).replace ('\\', '/'))
+                        else:
+                            self.ListFileMacros[T.ListFileMacro].append(str(F))
                         self.FileListMacros[T.FileListMacro].append(NewFile)
                     elif T.GenFileListMacro:
                         self.FileListMacros[T.FileListMacro].append(NewFile)
