summaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorwuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524>2006-09-14 02:39:02 +0000
committerwuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524>2006-09-14 02:39:02 +0000
commit2a9060e2949f6d21da847ba84a894cefff78d949 (patch)
treef4b73cd0cb419b524f83e3958c54e7a9e7d4ac9b /Tools
parent73d9b1c494ac88a0e875a047fb3f11aa91e87c4d (diff)
downloadedk2-2a9060e2949f6d21da847ba84a894cefff78d949.zip
edk2-2a9060e2949f6d21da847ba84a894cefff78d949.tar.gz
edk2-2a9060e2949f6d21da847ba84a894cefff78d949.tar.bz2
For stand-alone build, generate Platform_build.xml and call prebuild firstly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1532 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools')
-rw-r--r--Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java4
-rw-r--r--Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java37
2 files changed, 39 insertions, 2 deletions
diff --git a/Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java b/Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java
index 01a3870..738a448 100644
--- a/Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java
+++ b/Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java
@@ -154,8 +154,8 @@ public class GenBuildThread implements Runnable {
genBuildTask.perform();
} catch (BuildException be) {
-
- EdkLog.log("GenBuild", EdkLog.EDK_ALWAYS, moduleId + " with Arch " + arch +" build error. \n" + be.getMessage());
+
+ EdkLog.log("GenBuild", EdkLog.EDK_ALWAYS, fpdModuleId + " build error. \n" + be.getMessage());
if (FpdParserForThread.errorModule == null) {
FpdParserForThread.errorModule = fpdModuleId;
diff --git a/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java b/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java
index d70166d..3d2c36a 100644
--- a/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java
+++ b/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java
@@ -296,6 +296,43 @@ public class FpdParserTask extends Task {
public void parseFpdFile(File fpdFile) throws BuildException, EdkException {
this.fpdFile = fpdFile;
parseFpdFile();
+
+ //
+ // Call Platform_build.xml prebuild firstly in stand-alone build
+ // Prepare BUILD_DIR
+ //
+ isUnified = OutputManager.getInstance().prepareBuildDir(getProject());
+
+ String buildDir = getProject().getProperty("BUILD_DIR");
+ //
+ // For every Target and ToolChain
+ //
+ String[] targetList = GlobalData.getToolChainInfo().getTargets();
+ for (int i = 0; i < targetList.length; i++) {
+ String[] toolchainList = GlobalData.getToolChainInfo().getTagnames();
+ for(int j = 0; j < toolchainList.length; j++) {
+ //
+ // Prepare FV_DIR
+ //
+ String ffsCommonDir = buildDir + File.separatorChar
+ + targetList[i] + "_"
+ + toolchainList[j];
+ File fvDir = new File(ffsCommonDir + File.separatorChar + "FV");
+ fvDir.mkdirs();
+ }
+ }
+
+ String platformBuildFile = buildDir + File.separatorChar + platformId.getName() + "_build.xml";
+ PlatformBuildFileGenerator fileGenerator = new PlatformBuildFileGenerator(getProject(), outfiles, fvs, isUnified, saq, platformBuildFile);
+ fileGenerator.genBuildFile();
+
+ Ant ant = new Ant();
+ ant.setProject(getProject());
+ ant.setAntfile(platformBuildFile);
+ ant.setTarget("prebuild");
+ ant.setInheritAll(true);
+ ant.init();
+ ant.execute();
}
/**