summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java37
-rw-r--r--Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java4
-rw-r--r--build.xml3
3 files changed, 38 insertions, 6 deletions
diff --git a/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java b/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java
index 14de2d824d..fe7a8ce70d 100644
--- a/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java
+++ b/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java
@@ -29,6 +29,41 @@ import org.tianocore.build.toolchain.ConfigReader;
import org.tianocore.build.toolchain.ToolChainInfo;
import org.tianocore.common.definitions.ToolDefinitions;
+/**
+ <p>
+ <code>FrameworkBuildTask</code> is an Ant task. The main function is finding
+ and processing a FPD or MSA file, then building a platform or stand-alone
+ module.
+
+ <p>
+ The task search current directory and find out all MSA and FPD files by file
+ extension. Base on ACTIVE_PLATFORM policy, decide to build a platform or a
+ stand-alone module. The ACTIVE_PLATFORM policy is:
+
+ <pre>
+ 1. More than one MSA files, report error;
+ 2. Only one MSA file, but ACTIVE_PLATFORM is not specified, report error;
+ 3. Only one MSA file, and ACTIVE_PLATFORM is also specified, build this module;
+ 4. No MSA file, and ACTIVE_PLATFORM is specified, build the active platform;
+ 5. No MSA file, no ACTIVE_PLATFORM, and no FPD file, report error;
+ 6. No MSA file, no ACTIVE_PLATFORM, and only one FPD file, build the platform;
+ 7. No MSA file, no ACTIVE_PLATFORM, and more than one FPD files, list all platform
+ and let user choose one.
+ </pre>
+
+ <p>
+ Framework build task also parse target file [${WORKSPACE_DIR}/Tools/Conf/target.txt].
+ And load all system environment variables to Ant properties.
+
+ <p>
+ The usage for this task is :
+
+ <pre>
+ &lt;FrameworkBuild type="cleanall" /&gt;
+ </pre>
+
+ @since GenBuild 1.0
+**/
public class FrameworkBuildTask extends Task{
private Set<File> buildFiles = new LinkedHashSet<File>();
@@ -103,8 +138,6 @@ public class FrameworkBuildTask extends Task{
getProject().setProperty("WORKSPACE_DIR", workspacePath.getPath().replaceAll("(\\\\)", "/"));
GlobalData.initInfo(dbFilename, workspacePath.getPath(), toolsDefFilename);
-
-
//
// If find MSA file and ACTIVE_PLATFORM is set, build the module;
// else fail build.
diff --git a/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java b/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java
index b82c28c413..c8cc4ad748 100644
--- a/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java
+++ b/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java
@@ -55,12 +55,14 @@ import org.tianocore.build.tools.ModuleItem;
<p>The main function of this task is to parse module's surface area (MSA),
then generate the corresponding <em>BaseName_build.xml</em> (the real ANT
build script) and call this to build the module. The whole process including:
+ <pre>
1. generate AutoGen.c and AutoGen.h;
2. build all dependent library instances;
3. build all source files inlcude AutoGen.c;
4. generate sections;
5. generate FFS file if it is driver module while LIB file if it is Library module.
- </p>
+ </pre>
+
<p>
The usage is (take module <em>HelloWorld</em> for example):
diff --git a/build.xml b/build.xml
index 4b7e95428b..cf10675f62 100644
--- a/build.xml
+++ b/build.xml
@@ -33,9 +33,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<fail message="WORKSPACE environmental variable not set." />
</then>
</if>
- <!--
- <ToolChainSetup confPath="${WORKSPACE_DIR}/Tools/Conf" />
- -->
</target>
<target name="build">