summaryrefslogtreecommitdiff
path: root/Tools/Conf/BuildMacro.xml
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2006-10-31 01:58:39 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2006-10-31 01:58:39 +0000
commitd8022b368a32ff531fbdbed4a4bf3f6032113ef1 (patch)
treea7ec5bd1f78bd465012544e5563bd90f38dd0be8 /Tools/Conf/BuildMacro.xml
parent71ea530c3742ec7a02058a9fab509a4c7a00886f (diff)
downloadedk2-d8022b368a32ff531fbdbed4a4bf3f6032113ef1.zip
edk2-d8022b368a32ff531fbdbed4a4bf3f6032113ef1.tar.gz
edk2-d8022b368a32ff531fbdbed4a4bf3f6032113ef1.tar.bz2
Add build rules for asl files of acpi tables.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1867 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools/Conf/BuildMacro.xml')
-rw-r--r--Tools/Conf/BuildMacro.xml110
1 files changed, 107 insertions, 3 deletions
diff --git a/Tools/Conf/BuildMacro.xml b/Tools/Conf/BuildMacro.xml
index 115680c..209bcb4 100644
--- a/Tools/Conf/BuildMacro.xml
+++ b/Tools/Conf/BuildMacro.xml
@@ -761,7 +761,111 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</concat>
</sequential>
</macrodef>
-
+
+ <!--
+ Build Asl table file
+ -->
+ <macrodef name="Build_ASL">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="asl"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}"/>
+
+ <OnDependency>
+ <sourcefiles>
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
+ </targetfiles>
+
+ <sequential>
+ <cc userdefine="on">
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}" family="${PP_FAMILY}"
+ dpath="${PP_DPATH}" libpath="${PP_LIBPATH}" include="${PP_INCLUDEPATH}">
+ <argument value="${APP_FLAGS}"/>
+ <EXTRA.INC/>
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
+ </command>
+ </cc>
+
+ <exec dir="${DEST_DIR_OUTPUT}" executable="${ASL}" failonerror="true" outputproperty="ASL_OUTPUT">
+ <arg line="${DEST_DIR_OUTPUT}/@{FILENAME}.i"/>
+ </exec>
+
+ <if>
+ <or>
+ <contains string="${ASL_OUTPUT}" substring="Supports ACPI Specification Revision 2.0"/>
+ <contains string="${ASL_OUTPUT}" substring="Supports ACPI Specification Revision 1.0"/>
+ </or>
+ <then>
+ <fail message="Current Asl tool not support Acpi Spec 3.0. Pls update your Asl compiler."/>
+ </then>
+ </if>
+
+ <EFI_SECTION_RAW FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="aml"/>
+
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+ <!--
+ Build Asl table c file
+ -->
+ <macrodef name="Build_CCASL">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="c"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}"/>
+
+ <OnDependency>
+ <sourcefiles>
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
+ </targetfiles>
+
+ <sequential>
+
+ <cc userdefine="on">
+ <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"
+ outputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath="${CC_DPATH}"
+ libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}">
+ <EXTRA.INC/>
+ <argument value="${CC_FLAGS}"/>
+ <EXTRA.ARG/>
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
+ </command>
+ </cc>
+
+ <cc userdefine="on">
+ <command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}"
+ outputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.exe" dpath="${DLINK_DPATH}" >
+ <argument value="${SLINK_FLAGS}"/>
+ <fileset casesensitive="on" file="${DEST_DIR_OUTPUT}/@{FILENAME}.obj"/>
+ </command>
+ </cc>
+
+ <genacpitable inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />
+
+ <EFI_SECTION_RAW FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="acpi"/>
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
<!--
DUMMY
-->
@@ -1131,7 +1235,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<sequential>
<OnDependency>
<sourcefiles>
- <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
</sourcefiles>
<targetfiles>
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
@@ -1139,7 +1243,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<sequential>
<PRE.PROCESS/>
- <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
sectiontype="EFI_SECTION_RAW"/>
<POST.PROCESS/>