]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Conf/BuildMacro.xml
added back of preprocessing of asm files
[mirror_edk2.git] / Tools / Conf / BuildMacro.xml
index cbf35c94c904138f8d895b30b9e71d9dad5f82e4..569608245336c58e63c1bcdb5726acb14aa85682 100644 (file)
@@ -164,7 +164,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
            <if>\r
              <or>\r
                <equals arg1="@{FILEEXT}" arg2="asm" />\r
-               <equals arg1="@{FILEEXT}" arg2="S" />\r
+               <equals arg1="@{FILEEXT}" arg2="s" />\r
              </or>\r
              <then>\r
                <Build_Assembly FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">\r
@@ -173,7 +173,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           </Build_Assembly>\r
              </then>\r
              <elseif>\r
-               <equals arg1="@{FILEEXT}" arg2="s" />\r
+               <equals arg1="@{FILEEXT}" arg2="S" />\r
                <then>\r
                  <Build_IPF_Assembly_Code FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">\r
                    <EXTRA.INC.1><EXTRA.INC /></EXTRA.INC.1>\r
@@ -210,6 +210,28 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         </targetfiles>\r
 \r
         <sequential>\r
+          <cc userdefine="on">\r
+            <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${CC_FAMILY}">\r
+              <EXTRA.INC.1/>\r
+              <argument value="${PP_FLAGS}"/>\r
+              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+            </command>\r
+          </cc>\r
+\r
+          <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"\r
+                         match="^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}&quot;).+\1"\r
+                         replace=";"\r
+                         flags="gs"/>\r
+          <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"\r
+                         match="^(#line .*)$"\r
+                         replace="; \1"\r
+                         byline="true"/>\r
+          <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"\r
+                         match="([^_a-zA-Z])0x([0-9a-fA-F]+)"\r
+                         replace="\10\2h"\r
+                         flags="g"\r
+                         byline="true"/>\r
+\r
           <cc userdefine="on">\r
             <command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
                 outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
@@ -218,7 +240,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
               <argument value="${ASM_FLAGS}"/>\r
               <EXTRA.ARG.1/>\r
       \r
-              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+              <!-- fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/ -->\r
+              <fileset casesensitive="off" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
@@ -607,6 +630,59 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   <!--\r
     EFI_SECTION_PE32\r
     -->\r
+\r
+  <macrodef name="EFI_SECTION_TE">\r
+    <attribute name="FILEPATH"/>\r
+    <attribute name="FILENAME"/>\r
+    <attribute name="FILEEXT" default="" />\r
+\r
+    <element name="PRE.PROCESS" optional="yes"/>\r
+    <element name="POST.PROCESS" optional="yes"/>\r
+\r
+    <sequential>\r
+      <PRE.PROCESS/>\r
+      <if>\r
+        <not>\r
+          <equals arg1="${LIBS}" arg2=""/>\r
+        </not>\r
+\r
+        <then>\r
+          <GenDll FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="">\r
+            <LIB.ARG></LIB.ARG>\r
+            <LINK.ARG></LINK.ARG>\r
+          </GenDll>\r
+\r
+          <GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/>\r
+        </then>\r
+      </if>\r
+\r
+      <OnDependency>\r
+        <sourcefiles>\r
+          <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
+        </sourcefiles>\r
+        <targetfiles>\r
+          <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>\r
+        </targetfiles>\r
+\r
+        <sequential>\r
+          <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />\r
+          <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" />          \r
+          <genteimage Dump="false" Verbose="false" OutputDir="" OutputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
+          <!-- \r
+          <exec executable="${GENTEIMAGE}">\r
+            <arg line="-o ${DEST_DIR_OUTPUT}/@{FILENAME}.te ${DEST_DIR_OUTPUT}/@{FILENAME}.efi" />\r
+          </exec>\r
+          -->\r
+          <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.te" tofile="${BIN_DIR}/@{FILENAME}.te" />\r
+          <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" \r
+                      outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.tes" \r
+                      sectiontype="EFI_SECTION_TE"/>\r
+          <POST.PROCESS/>\r
+        </sequential>\r
+      </OnDependency>\r
+    </sequential>\r
+  </macrodef>\r
+\r
   <macrodef name="EFI_SECTION_PE32">\r
     <attribute name="FILEPATH"/>\r
     <attribute name="FILENAME"/>\r
@@ -845,59 +921,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   <!-- \r
     EFI_SECTION_TE\r
   -->\r
-  <macrodef name="EFI_SECTION_TE">\r
-    <attribute name="FILEPATH"/>\r
-    <attribute name="FILENAME"/>\r
-    <attribute name="FILEEXT" default="" />\r
-\r
-    <element name="PRE.PROCESS" optional="yes"/>\r
-    <element name="POST.PROCESS" optional="yes"/>\r
-\r
-    <sequential>\r
-      <PRE.PROCESS/>\r
-\r
-      <if>\r
-        <not>\r
-          <!-- TBD ${OBJECTS} -->\r
-          <equals arg1="${LIBS}" arg2=""/>\r
-        </not>\r
-\r
-        <then>\r
-          <GenDll FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="">\r
-            <LIB.ARG></LIB.ARG>\r
-            <LINK.ARG></LINK.ARG>\r
-          </GenDll>\r
-    \r
-          <GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/>\r
-        </then>\r
-      </if>\r
-\r
-      <OnDependency>\r
-        <sourcefiles>\r
-          <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.efi"/>\r
-        </sourcefiles>\r
-        <targetfiles>\r
-          <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.tes"/>\r
-        </targetfiles>\r
-\r
-        <sequential>\r
-          <copy file="${DEST_DIR_OUTPUT}\@{FILENAME}.efi" tofile="${BIN_DIR}\@{FILENAME}.efi" />\r
-          <copy file="${DEST_DIR_OUTPUT}\@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}\@{FILENAME}.efi" />\r
-          \r
-          <exec executable="${GENTEIMAGE}">\r
-            <arg line="-o ${DEST_DIR_OUTPUT}\@{FILENAME}.te ${DEST_DIR_OUTPUT}\@{FILENAME}.efi" />\r
-          </exec>\r
-          \r
-          <copy file="${DEST_DIR_OUTPUT}\@{FILENAME}.te" tofile="${BIN_DIR}\@{FILENAME}.te" />\r
-          \r
-          <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.te" \r
-                      outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.tes" \r
-                      sectiontype="EFI_SECTION_TE"/>\r
-          <POST.PROCESS/>\r
-        </sequential>\r
-      </OnDependency>\r
-    </sequential>\r
-  </macrodef>\r
 \r
 \r
   <!--\r