]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/PeiReBaseTask.java
1) Added dependency check for flashmap, genfvimage, peirebase tasks
[mirror_edk2.git] / Tools / Source / FrameworkTasks / org / tianocore / framework / tasks / PeiReBaseTask.java
index 76a396c2b53cad4c1ed23aa1d689b20bfce58b1b..1f8a4d1f3c899286a0b07d4b3496173994c91ec4 100644 (file)
@@ -67,6 +67,10 @@ public class PeiReBaseTask extends Task implements EfiDefine {
       @throws BuidException\r
      **/\r
     public void execute() throws BuildException {\r
+        if (isUptodate()) {\r
+            EdkLog.log(this, EdkLog.EDK_VERBOSE, outputFile.toFileList() + " is up-to-date!");\r
+            return;\r
+        }\r
 \r
         Project project = this.getOwningTarget().getProject();\r
 \r
@@ -247,4 +251,18 @@ public class PeiReBaseTask extends Task implements EfiDefine {
     public void setMapFile(String mapFile) {\r
         this.mapFile.setArg(" -M ", mapFile);\r
     }\r
+\r
+    //\r
+    // Dependency check\r
+    // \r
+    private boolean isUptodate() {\r
+        File srcFile = new File(inputFile.getValue());\r
+        File dstFile = new File(outputFile.getValue());\r
+\r
+        if (srcFile.lastModified() > dstFile.lastModified()) {\r
+            return false;\r
+        }\r
+\r
+        return true;\r
+    }\r
 }\r