]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/GenBuild/org/tianocore/build/GenBuildTask.java
- Move global declarations from AutoGen.c to AutoGen.h
[mirror_edk2.git] / Tools / Java / Source / GenBuild / org / tianocore / build / GenBuildTask.java
index 8be1d62cc0f765de9032d86091bf4a37885c13a8..a84953010924a27622945ce7ddc4c10f2ea2793d 100644 (file)
@@ -207,6 +207,7 @@ public class GenBuildTask extends Ant {
         } else {\r
             moduleId.setLibrary(true);\r
         }\r
+        moduleId.setBinary(saq.getBinaryModule());\r
 \r
         //\r
         // Judge whether it is single module build or not\r
@@ -327,10 +328,8 @@ public class GenBuildTask extends Ant {
 \r
                     if (type.equalsIgnoreCase("all") || type.equalsIgnoreCase("build")) {\r
                         applyBuild(targetList[i], toolchainList[j], fpdModuleId);\r
-                    } else if (type.equalsIgnoreCase("clean")) {\r
-                        applyClean(fpdModuleId);\r
-                    } else if (type.equalsIgnoreCase("cleanall")) {\r
-                        applyCleanall(fpdModuleId);\r
+                    } else {\r
+                        applyNonBuildTarget(fpdModuleId);\r
                     }\r
                 }\r
             }\r
@@ -649,10 +648,11 @@ public class GenBuildTask extends Ant {
         // if it is CUSTOM_BUILD\r
         // then call the exist BaseName_build.xml directly.\r
         //\r
-        if (moduleId.getModuleType().equalsIgnoreCase("USER_DEFINED")) {\r
-            EdkLog.log(this, "Call user-defined " + moduleId.getName() + "_build.xml");\r
+        String buildFilename = "";\r
+        if ((buildFilename = GetCustomizedBuildFile(fpdModuleId.getArch())) != "") {\r
+            EdkLog.log(this, "Call user-defined " + buildFilename);\r
             \r
-            String antFilename = getProject().getProperty("MODULE_DIR") + File.separatorChar + moduleId.getName() + "_build.xml";\r
+            String antFilename = getProject().getProperty("MODULE_DIR") + File.separatorChar + buildFilename;\r
             antCall(antFilename, null);\r
             \r
             return ;\r
@@ -664,7 +664,7 @@ public class GenBuildTask extends Ant {
         //\r
         String ffsKeyword = saq.getModuleFfsKeyword();\r
         ModuleBuildFileGenerator fileGenerator = new ModuleBuildFileGenerator(getProject(), ffsKeyword, fpdModuleId, includes, saq);\r
-        String buildFilename = getProject().getProperty("DEST_DIR_OUTPUT") + File.separatorChar + moduleId.getName() + "_build.xml";\r
+        buildFilename = getProject().getProperty("DEST_DIR_OUTPUT") + File.separatorChar + moduleId.getName() + "_build.xml";\r
         fileGenerator.genBuildFile(buildFilename);\r
 \r
         //\r
@@ -674,6 +674,24 @@ public class GenBuildTask extends Ant {
         antCall(antFilename, null);\r
     }\r
 \r
+    private void applyNonBuildTarget(FpdModuleIdentification fpdModuleId){\r
+        //\r
+        // if it is CUSTOM_BUILD\r
+        // then call the exist BaseName_build.xml directly.\r
+        //\r
+        if (moduleId.getModuleType().equalsIgnoreCase("USER_DEFINED")) {\r
+            EdkLog.log(this, "Calling user-defined " + moduleId.getName() + "_build.xml");\r
+            \r
+            String antFilename = getProject().getProperty("MODULE_DIR") + File.separatorChar + moduleId.getName() + "_build.xml";\r
+            antCall(antFilename, this.type);\r
+            \r
+            return ;\r
+        }\r
+\r
+        String antFilename = getProject().getProperty("DEST_DIR_OUTPUT") + File.separatorChar + moduleId.getName() + "_build.xml";\r
+        antCall(antFilename, this.type);\r
+    }\r
+\r
     private void applyClean(FpdModuleIdentification fpdModuleId){\r
         //\r
         // if it is CUSTOM_BUILD\r
@@ -815,4 +833,15 @@ public class GenBuildTask extends Ant {
    public void setExternalProperties(Vector<Property> v) {\r
        this.properties = v;\r
    }\r
+\r
+   private String GetCustomizedBuildFile(String arch) {\r
+       String[][] files = saq.getSourceFiles(arch);\r
+       for (int i = 0; i < files.length; ++i) {\r
+           if (files[i][1].endsWith("build.xml")) {\r
+               return files[i][1];\r
+           }\r
+       }\r
+\r
+       return "";\r
+   }\r
 }\r