From: Jaben Carsey Date: Thu, 19 Jul 2018 17:57:39 +0000 (+0800) Subject: BaseTools: AutoGen - change class variable to funciton variable X-Git-Tag: edk2-stable201903~1358 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=0f78fd73496f26d45516f6c453a66f35edca6ab0;ds=sidebyside BaseTools: AutoGen - change class variable to funciton variable This variable is only used in one function, make it local there. Also when iterating on the variable, use dict.items() to get value instead of re-looking up the value multiple times. Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey Reviewed-by: Yonghong Zhu --- diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py index f1dc147541..3dc5ac2cf3 100644 --- a/BaseTools/Source/Python/AutoGen/GenMake.py +++ b/BaseTools/Source/Python/AutoGen/GenMake.py @@ -436,7 +436,6 @@ cleanlib: self.ListFileMacros = {} self.FileCache = {} - self.FileDependency = [] self.LibraryBuildCommandList = [] self.LibraryFileList = [] self.LibraryMakefileList = [] @@ -891,26 +890,26 @@ cleanlib: if Item in SourceFileList: SourceFileList.remove(Item) - self.FileDependency = self.GetFileDependency( + FileDependencyDict = self.GetFileDependency( SourceFileList, ForceIncludedFile, self._AutoGenObject.IncludePathList + self._AutoGenObject.BuildOptionIncPathList ) DepSet = None - for File in self.FileDependency: - if not self.FileDependency[File]: - self.FileDependency[File] = ['$(FORCE_REBUILD)'] + for File,Dependency in FileDependencyDict.items(): + if not Dependency: + FileDependencyDict[File] = ['$(FORCE_REBUILD)'] continue - self._AutoGenObject.AutoGenDepSet |= set(self.FileDependency[File]) + self._AutoGenObject.AutoGenDepSet |= set(Dependency) # skip non-C files if File.Ext not in [".c", ".C"] or File.Name == "AutoGen.c": continue elif DepSet is None: - DepSet = set(self.FileDependency[File]) + DepSet = set(Dependency) else: - DepSet &= set(self.FileDependency[File]) + DepSet &= set(Dependency) # in case nothing in SourceFileList if DepSet is None: DepSet = set() @@ -920,13 +919,13 @@ cleanlib: for File in DepSet: self.CommonFileDependency.append(self.PlaceMacro(File.Path, self.Macros)) - for File in self.FileDependency: + for File in FileDependencyDict: # skip non-C files if File.Ext not in [".c", ".C"] or File.Name == "AutoGen.c": continue - NewDepSet = set(self.FileDependency[File]) + NewDepSet = set(FileDependencyDict[File]) NewDepSet -= DepSet - self.FileDependency[File] = ["$(COMMON_DEPS)"] + list(NewDepSet) + FileDependencyDict[File] = ["$(COMMON_DEPS)"] + list(NewDepSet) # Convert target description object to target string in makefile for Type in self._AutoGenObject.Targets: @@ -944,8 +943,8 @@ cleanlib: for Dep in T.Dependencies: Deps.append(self.PlaceMacro(str(Dep), self.Macros)) # Add inclusion-dependencies - if len(T.Inputs) == 1 and T.Inputs[0] in self.FileDependency: - for F in self.FileDependency[T.Inputs[0]]: + if len(T.Inputs) == 1 and T.Inputs[0] in FileDependencyDict: + for F in FileDependencyDict[T.Inputs[0]]: Deps.append(self.PlaceMacro(str(F), self.Macros)) # Add source-dependencies for F in T.Inputs: