summaryrefslogtreecommitdiff
path: root/Tools/Conf/BuildMacro.xml
diff options
context:
space:
mode:
authorwuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524>2006-10-18 02:38:01 +0000
committerwuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524>2006-10-18 02:38:01 +0000
commit706c2ad4ba7110e8a427dbfa4c99a0d56065a726 (patch)
treeb620af3a70e8729bf29f9652b1b2f887102ebf46 /Tools/Conf/BuildMacro.xml
parent641cd03cea3267e081a0fe83131c325e78348da5 (diff)
downloadedk2-706c2ad4ba7110e8a427dbfa4c99a0d56065a726.zip
edk2-706c2ad4ba7110e8a427dbfa4c99a0d56065a726.tar.gz
edk2-706c2ad4ba7110e8a427dbfa4c99a0d56065a726.tar.bz2
Add Build Macro to build SEC modules.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1784 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools/Conf/BuildMacro.xml')
-rw-r--r--Tools/Conf/BuildMacro.xml58
1 files changed, 58 insertions, 0 deletions
diff --git a/Tools/Conf/BuildMacro.xml b/Tools/Conf/BuildMacro.xml
index 8e7ef78..621ec60 100644
--- a/Tools/Conf/BuildMacro.xml
+++ b/Tools/Conf/BuildMacro.xml
@@ -739,6 +739,29 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</macrodef>
<!--
+ Build the real mode ASM file
+ -->
+ <macrodef name="Build_RealAsm">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="asm"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <!-- Lack Dependency Check -->
+ <exec dir="${DEST_DIR_OUTPUT}" executable="${ASM}" failonerror="true">
+ <arg line="/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>
+ </exec>
+ <concat destfile="${DEST_DIR_OUTPUT}/@{FILENAME}.cat" binary="yes">
+ <filelist dir="${MODULE_DIR}" files="Blank2.pad"/>
+ <filelist dir="${DEST_DIR_OUTPUT}" files="@{FILENAME}.com"/>
+ </concat>
+ </sequential>
+ </macrodef>
+
+ <!--
DUMMY
-->
<macrodef name="Build_DUMMY">
@@ -1125,6 +1148,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</macrodef>
<!--
+ EFI_SECTION_RAW_SEC
+ -->
+ <macrodef name="EFI_SECTION_RAW_SEC">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="cat"/>
+
+ <element name="PRE.PROCESS" optional="yes"/>
+ <element name="POST.PROCESS" optional="yes"/>
+
+ <sequential>
+ <OnDependency>
+ <sourcefiles>
+ <file name="${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"/>
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.te"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
+ </targetfiles>
+
+ <sequential>
+ <PRE.PROCESS/>
+ <secfixup secexefile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" resetvectorDatafile="${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.bin"/>
+
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.bin"
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
+ sectiontype="EFI_SECTION_RAW"/>
+ <POST.PROCESS/>
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+ <!--
EFI_SECTION_FIRMWARE_VOLUME_IMAGE
-->
<macrodef name="EFI_SECTION_FIRMWARE_VOLUME_IMAGE">