## For creating makefile targets for dependent libraries\r
def ProcessDependentLibrary(self):\r
for LibraryAutoGen in self._AutoGenObject.LibraryAutoGenList:\r
- if not LibraryAutoGen.IsBinaryModule:\r
+ if not LibraryAutoGen.IsBinaryModule and not LibraryAutoGen.CanSkipbyHash():\r
self.LibraryBuildDirectoryList.append(self.PlaceMacro(LibraryAutoGen.BuildDir, self.Macros))\r
\r
## Return a list containing source file's dependencies\r
def GetLibraryBuildDirectoryList(self):\r
DirList = []\r
for LibraryAutoGen in self._AutoGenObject.LibraryAutoGenList:\r
- if not LibraryAutoGen.IsBinaryModule:\r
+ if not LibraryAutoGen.IsBinaryModule and not LibraryAutoGen.CanSkipbyHash():\r
DirList.append(os.path.join(self._AutoGenObject.BuildDir, LibraryAutoGen.BuildDir))\r
return DirList\r
\r
def GetLibraryBuildDirectoryList(self):\r
DirList = []\r
for LibraryAutoGen in self._AutoGenObject.LibraryAutoGenList:\r
- if not LibraryAutoGen.IsBinaryModule:\r
+ if not LibraryAutoGen.IsBinaryModule and not LibraryAutoGen.CanSkipbyHash():\r
DirList.append(os.path.join(self._AutoGenObject.BuildDir, LibraryAutoGen.BuildDir))\r
return DirList\r
\r
for Module in Pa.Platform.Modules:\r
if self.ModuleFile.Dir == Module.Dir and self.ModuleFile.Name == Module.Name:\r
Ma = ModuleAutoGen(Wa, Module, BuildTarget, ToolChain, Arch, self.PlatformFile)\r
- if Ma is None: continue\r
+ if Ma is None:\r
+ continue\r
MaList.append(Ma)\r
if Ma.CanSkipbyHash():\r
self.HashSkipModules.append(Ma)\r
RemoveDirectory(os.path.dirname(GlobalData.gDatabasePath), True)\r
\r
def CreateAsBuiltInf(self):\r
+ all_lib_set = set()\r
+ all_mod_set = set()\r
for Module in self.BuildModules:\r
Module.CreateAsBuiltInf()\r
+ all_mod_set.add(Module)\r
for Module in self.HashSkipModules:\r
Module.CreateAsBuiltInf(True)\r
+ all_mod_set.add(Module)\r
+ for Module in all_mod_set:\r
+ for lib in Module.LibraryAutoGenList:\r
+ all_lib_set.add(lib)\r
+ for lib in all_lib_set:\r
+ lib.CreateAsBuiltInf(True)\r
+ all_lib_set.clear()\r
+ all_mod_set.clear()\r
self.BuildModules = []\r
self.HashSkipModules = []\r
## Do some clean-up works when error occurred\r