ModuleFile = path.join(self.OutputDir, self.Name + '.inf')\r
if os.path.exists(ModuleFile):\r
shutil.copy2(ModuleFile, FileDir)\r
+ else:\r
+ OutputDir = self.OutputDir.replace('\\', '/').strip('/')\r
+ DebugDir = self.DebugDir.replace('\\', '/').strip('/')\r
+ for Item in self.CodaTargetList:\r
+ File = Item.Target.Path.replace('\\', '/').strip('/').replace(DebugDir, '').replace(OutputDir, '').strip('/')\r
+ self.OutputFile.add(File)\r
if not self.OutputFile:\r
Ma = self.BuildDatabase[self.MetaFile, self.Arch, self.BuildTarget, self.ToolChain]\r
self.OutputFile = Ma.Binaries\r
for root, dir, files in os.walk(FileDir):\r
for f in files:\r
if self.Name + '.hash' in f:\r
- shutil.copy2(HashFile, self.BuildDir)\r
+ shutil.copy(HashFile, self.BuildDir)\r
else:\r
File = path.join(root, f)\r
sub_dir = os.path.relpath(File, FileDir)\r
destination_file = os.path.join(self.OutputDir, sub_dir)\r
destination_dir = os.path.dirname(destination_file)\r
CreateDirectory(destination_dir)\r
- shutil.copy2(File, destination_dir)\r
+ shutil.copy(File, destination_dir)\r
if self.Name == "PcdPeim" or self.Name == "PcdDxe":\r
CreatePcdDatabaseCode(self, TemplateString(), TemplateString())\r
return True\r
for LibraryAutoGen in self.LibraryAutoGenList:\r
LibraryAutoGen.CreateMakeFile()\r
\r
- if self.CanSkip():\r
+ # Don't enable if hash feature enabled, CanSkip uses timestamps to determine build skipping\r
+ if not GlobalData.gUseHashCache and self.CanSkip():\r
return\r
\r
if len(self.CustomMakefile) == 0:\r
for LibraryAutoGen in self.LibraryAutoGenList:\r
LibraryAutoGen.CreateCodeFile()\r
\r
- if self.CanSkip():\r
+ # Don't enable if hash feature enabled, CanSkip uses timestamps to determine build skipping\r
+ if not GlobalData.gUseHashCache and self.CanSkip():\r
return\r
\r
AutoGenList = []\r