From: Yunhua Feng <[email protected]>

Filter the FileList when multiple genfds thread options is not enabled.

Cc: Liming Gao <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <[email protected]>
Signed-off-by: Yonghong Zhu <[email protected]>
---
 BaseTools/Source/Python/GenFds/EfiSection.py | 5 +++--
 BaseTools/Source/Python/GenFds/Section.py    | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/BaseTools/Source/Python/GenFds/EfiSection.py 
b/BaseTools/Source/Python/GenFds/EfiSection.py
index 7b3b717..5029ec7 100644
--- a/BaseTools/Source/Python/GenFds/EfiSection.py
+++ b/BaseTools/Source/Python/GenFds/EfiSection.py
@@ -90,13 +90,14 @@ class EfiSection (EfiSectionClassObject):
             if not self.Optional:
                 FileList.append(Filename)
             elif os.path.exists(Filename):
                 FileList.append(Filename)
             elif '.depex' in FfsInf.FinalTargetSuffixMap or FfsInf.Depex:
-                FileList.append(Filename)
+                if IsMakefile:
+                    FileList.append(Filename)
         else:
-            FileList, IsSect = Section.Section.GetFileList(FfsInf, 
self.FileType, self.FileExtension, Dict)
+            FileList, IsSect = Section.Section.GetFileList(FfsInf, 
self.FileType, self.FileExtension, Dict, IsMakefile=IsMakefile)
             if IsSect :
                 return FileList, self.Alignment
 
         Index = 0
         Align = self.Alignment
diff --git a/BaseTools/Source/Python/GenFds/Section.py 
b/BaseTools/Source/Python/GenFds/Section.py
index 4c1aaac..463faa3 100644
--- a/BaseTools/Source/Python/GenFds/Section.py
+++ b/BaseTools/Source/Python/GenFds/Section.py
@@ -108,11 +108,11 @@ class Section (SectionClassObject):
     #   @param  FileType    File type to get
     #   @param  FileExtension  File extension to get
     #   @param  Dict        dictionary contains macro and its value
     #   @retval tuple       (File list, boolean)
     #
-    def GetFileList(FfsInf, FileType, FileExtension, Dict = {}):
+    def GetFileList(FfsInf, FileType, FileExtension, Dict = {}, 
IsMakefile=False):
         if FileType in Section.SectFileType.keys() :
             IsSect = True
         else :
             IsSect = False
 
@@ -139,11 +139,11 @@ class Section (SectionClassObject):
                     else:
                         GenFdsGlobalVariable.VerboseLogger ("\nFile Type 
\'%s\' of File %s in %s is not same with file type \'%s\' from Rule in FDF" 
%(File.Type, File.File, FfsInf.InfFileName, FileType))
                 else:
                     GenFdsGlobalVariable.InfLogger ("\nCurrent ARCH \'%s\' of 
File %s is not in the Support Arch Scope of %s specified by INF %s in FDF" 
%(FfsInf.CurrentArch, File.File, File.Arch, FfsInf.InfFileName))
 
-        if Suffix != None:
+        if (not IsMakefile and Suffix != None and 
os.path.exists(FfsInf.EfiOutputPath)) or (IsMakefile and Suffix != None):
             #
             # Get Makefile path and time stamp
             #
             MakefileDir = FfsInf.EfiOutputPath[:-len('OUTPUT')]
             Makefile = os.path.join(MakefileDir, 'Makefile')
-- 
2.6.1.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to