[edk2] [Patch] BaseTools: Fix a bug to correct SourceFileList

Yonghong Zhu posted 1 patch 6 years, 6 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
BaseTools/Source/Python/AutoGen/GenMake.py | 7 +++++++
1 file changed, 7 insertions(+)
[edk2] [Patch] BaseTools: Fix a bug to correct SourceFileList
Posted by Yonghong Zhu 6 years, 6 months ago
We met a case that use two microcode files in the Microcode.inf file,
one is .mcb file, another is .txt file. then it cause build failure
because the SourceFileList include the .txt file's output file, while
this output file is still not be generated, so it cause
GetFileDependency report failure.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
 BaseTools/Source/Python/AutoGen/GenMake.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index 0f3ddd5..218c0a1 100644
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -787,12 +787,19 @@ cleanlib:
         ForceIncludedFile = []
         for File in self._AutoGenObject.AutoGenFileList:
             if File.Ext == '.h':
                 ForceIncludedFile.append(File)
         SourceFileList = []
+        OutPutFileList = []
         for Target in self._AutoGenObject.IntroTargetList:
             SourceFileList.extend(Target.Inputs)
+            OutPutFileList.extend(Target.Outputs)
+
+        if SourceFileList:
+            for Item in SourceFileList:
+                if Item in OutPutFileList:
+                    SourceFileList.remove(Item)
 
         self.FileDependency = self.GetFileDependency(
                                     SourceFileList,
                                     ForceIncludedFile,
                                     self._AutoGenObject.IncludePathList + self._AutoGenObject.BuildOptionIncPathList
-- 
2.6.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel