- SaveFileOnChange(os.path.join(self.BuildDir, 'AutoGen.hash'), m.hexdigest(), False)\r
- GlobalData.gPlatformHash = m.hexdigest()\r
+ FileList.append((str(file), hashlib.md5(Content).hexdigest()))\r
+\r
+ HashDir = path.join(self.BuildDir, "Hash_Platform")\r
+ HashFile = path.join(HashDir, 'Platform.hash.' + m.hexdigest())\r
+ SaveFileOnChange(HashFile, m.hexdigest(), False)\r
+ HashChainFile = path.join(HashDir, 'Platform.hashchain.' + m.hexdigest())\r
+ GlobalData.gPlatformHashFile = HashChainFile\r
+ try:\r
+ with open(HashChainFile, 'w') as f:\r
+ json.dump(FileList, f, indent=2)\r
+ except:\r
+ EdkLogger.quiet("[cache warning]: fail to save hashchain file:%s" % HashChainFile)\r
+\r
+ if GlobalData.gBinCacheDest:\r
+ # Copy platform hash files to cache destination\r
+ FileDir = path.join(GlobalData.gBinCacheDest, self.OutputDir, self.BuildTarget + "_" + self.ToolChain, "Hash_Platform")\r
+ CacheFileDir = FileDir\r
+ CreateDirectory(CacheFileDir)\r
+ CopyFileOnChange(HashFile, CacheFileDir)\r
+ CopyFileOnChange(HashChainFile, CacheFileDir)\r