]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Conf/BuildMacro.xml
Add Build Macro to build SEC modules.
[mirror_edk2.git] / Tools / Conf / BuildMacro.xml
index 8e7ef7802521c00340b03af15f6db4616918a52e..621ec609cbf8bd5f2c3fd1cb7f974b367939dbe3 100644 (file)
@@ -738,6 +738,29 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     </sequential>\r
   </macrodef>\r
 \r
+  <!--\r
+      Build the real mode ASM file\r
+    -->\r
+  <macrodef name="Build_RealAsm">\r
+    <attribute name="FILEPATH"/>\r
+    <attribute name="FILENAME"/>\r
+    <attribute name="FILEEXT" default="asm"/>\r
+\r
+    <element name="EXTRA.INC" optional="yes"/>\r
+    <element name="EXTRA.ARG" optional="yes"/>\r
+    \r
+    <sequential>\r
+      <!-- Lack Dependency Check -->\r
+      <exec dir="${DEST_DIR_OUTPUT}" executable="${ASM}" failonerror="true">\r
+        <arg line="/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>\r
+      </exec>\r
+      <concat destfile="${DEST_DIR_OUTPUT}/@{FILENAME}.cat" binary="yes">\r
+        <filelist dir="${MODULE_DIR}" files="Blank2.pad"/>\r
+        <filelist dir="${DEST_DIR_OUTPUT}" files="@{FILENAME}.com"/>\r
+      </concat>\r
+    </sequential>\r
+  </macrodef>\r
+  \r
   <!--\r
     DUMMY\r
     -->\r
@@ -1124,6 +1147,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     </sequential>\r
   </macrodef>\r
 \r
+  <!--\r
+    EFI_SECTION_RAW_SEC\r
+    -->\r
+  <macrodef name="EFI_SECTION_RAW_SEC">\r
+    <attribute name="FILEPATH"/>\r
+    <attribute name="FILENAME"/>\r
+    <attribute name="FILEEXT" default="cat"/>\r
+\r
+    <element name="PRE.PROCESS" optional="yes"/>\r
+    <element name="POST.PROCESS" optional="yes"/>\r
+\r
+    <sequential>\r
+      <OnDependency>\r
+        <sourcefiles>\r
+          <file name="${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"/>\r
+          <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.te"/>\r
+        </sourcefiles>\r
+        <targetfiles>\r
+          <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>\r
+        </targetfiles>\r
+\r
+        <sequential>\r
+          <PRE.PROCESS/>\r
+          <secfixup secexefile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" resetvectorDatafile="${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"\r
+                   outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.bin"/>\r
+                   \r
+          <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.bin" \r
+                      outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec" \r
+                      sectiontype="EFI_SECTION_RAW"/>\r
+          <POST.PROCESS/>\r
+        </sequential>\r
+      </OnDependency>\r
+    </sequential>\r
+  </macrodef>\r
+  \r
   <!--\r
     EFI_SECTION_FIRMWARE_VOLUME_IMAGE\r
     -->\r