From 2a9060e2949f6d21da847ba84a894cefff78d949 Mon Sep 17 00:00:00 2001 From: wuyizhong Date: Thu, 14 Sep 2006 02:39:02 +0000 Subject: [PATCH] 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 --- .../org/tianocore/build/GenBuildThread.java | 4 +- .../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(); } /** -- 2.39.2