diff options
author | wuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-09-14 02:39:02 +0000 |
---|---|---|
committer | wuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-09-14 02:39:02 +0000 |
commit | 2a9060e2949f6d21da847ba84a894cefff78d949 (patch) | |
tree | f4b73cd0cb419b524f83e3958c54e7a9e7d4ac9b /Tools | |
parent | 73d9b1c494ac88a0e875a047fb3f11aa91e87c4d (diff) | |
download | edk2-platforms-2a9060e2949f6d21da847ba84a894cefff78d949.tar.xz |
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.java | 4 | ||||
-rw-r--r-- | Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java | 37 |
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 01a387057b..738a448f3a 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 d70166dbaf..3d2c36ad21 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();
}
/**
|