]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Conf/BuildMacro.xml
Added dependency of AutoGen.h for .c file generated from unicode file
[mirror_edk2.git] / Tools / Conf / BuildMacro.xml
index 71814450e532cb9b266fa9857052cef43fef195a..115680c732693a08d64b2ca0606481a20cddce66 100644 (file)
@@ -51,7 +51,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
               <!-- Generate pre-compiled header -->\r
               <cc userdefine="on">\r
                 <command type="CC" cmd="${PCH}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
-                  outputFile="${DEST_DIR_OUTPUT}/AutoGen.h.obj">\r
+                    outputFile="${DEST_DIR_OUTPUT}/AutoGen.h.obj" dpath="${CC_DPATH}" libpath="${CC_LIBPATH}" \r
+                    include="${CC_INCLUDEPATH}">\r
                   <EXTRA.INC/>\r
                   <argument value="${PCH_FLAGS}"/>\r
                   <EXTRA.ARG/>\r
@@ -123,7 +124,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <sequential>\r
           <cc userdefine="on">\r
             <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
-              outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}">\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}" \r
+                libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}">\r
               <EXTRA.INC/>\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.ARG/>\r
@@ -181,7 +183,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <sequential>\r
           <cc userdefine="on">\r
             <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
-                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}">\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}"\r
+                libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}">\r
               <EXTRA.INC/>\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.ARG/>\r
@@ -228,7 +231,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <sequential>\r
           <cc userdefine="on">\r
             <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${CC_FAMILY}"\r
-                     outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath="${CC_DPATH}">\r
+                     outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath="${CC_DPATH}"\r
+                     libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}">\r
               <EXTRA.INC/>\r
               <argument value="${PP_FLAGS}"/>\r
               <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
@@ -310,7 +314,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <cc userdefine="on">\r
-            <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" dpath="${PP_DPATH}">\r
+            <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" \r
+                dpath="${PP_DPATH}" libpath="${PP_LIBPATH}" include="${PP_INCLUDEPATH}">\r
               <EXTRA.INC.1/>\r
               <argument value="${PP_FLAGS}"/>\r
               <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
@@ -333,7 +338,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \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" dpath="${ASM_DPATH}">\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${ASM_DPATH}"\r
+                libpath="${ASM_LIBPATH}" include="${ASM_INCLUDEPATH}">\r
               <EXTRA.INC.1/>\r
       \r
               <argument value="${ASM_FLAGS}"/>\r
@@ -384,7 +390,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <sequential>\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" dpath="${ASM_DPATH}">\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${ASM_DPATH}"\r
+                libpath="${ASM_LIBPATH}" include="${ASM_INCLUDEPATH}">\r
               <EXTRA.INC.1/>\r
       \r
               <argument value="${ASM_FLAGS}"/>\r
@@ -443,9 +450,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <cc userdefine="on">\r
-            <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" dpath="${PP_DPATH}">\r
+            <command type="PP" cmd="${APP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${APP_FAMILY}" \r
+                dpath="${APP_DPATH}" libpath="${APP_LIBPATH}" include="${APP_INCLUDEPATH}">\r
               <EXTRA.INC.1/>\r
-              <argument value="${PP_FLAGS}"/>\r
+              <argument value="${APP_FLAGS}"/>\r
               <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
@@ -453,6 +461,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <cc userdefine="on">\r
             <command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
                 includepathDelimiter="-I" outputDelimiter="-o" dpath="${ASM_DPATH}"\r
+                libpath="${ASM_LIBPATH}" include="${ASM_INCLUDEPATH}"\r
                 outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
               <EXTRA.INC.1/>\r
               <argument value="${ASM_FLAGS}"/>\r
@@ -488,7 +497,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
   \r
       <cc userdefine="on">\r
-        <command type="ASM" includepathDelimiter="-I" dpath="${ASM_DPATH}">\r
+        <command type="ASM" includepathDelimiter="-I" dpath="${ASM_DPATH}"\r
+             libpath="${ASM_LIBPATH}" include="${ASM_INCLUDEPATH}">\r
           <includepath path="${WORKSPACE_DIR}"/>\r
           <includepath path="${MODULE_DIR}"/>\r
           <includepath path="${MODULE_DIR}/${ARCH}"/>\r
@@ -528,7 +538,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <sequential>\r
           <cc userdefine="on">\r
             <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}"\r
-                outputFile="${BIN_DIR}/@{FILENAME}.lib" dpath="${SLINK_DPATH}">\r
+                outputFile="${BIN_DIR}/@{FILENAME}.lib" dpath="${SLINK_DPATH}"\r
+                libpath="${SLINK_LIBPATH}" include="${SLINK_INCLUDEPATH}">\r
               <argument value="${SLINK_FLAGS}"/>\r
 \r
               <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\r
@@ -631,6 +642,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <OnDependency>\r
         <sourcefiles>\r
           <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
+          <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
         </sourcefiles>\r
         <targetfiles>\r
           <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>\r
@@ -640,6 +652,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <cc userdefine="on">\r
             <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
                      includepathDelimiter="-I" dpath="${CC_DPATH}"\r
+                     libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}"\r
                      outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.INC />\r
@@ -703,6 +716,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <cc userdefine="on">\r
             <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" \r
                      includepathDelimiter="-I" family="${CC_FAMILY}" dpath="${CC_DPATH}"\r
+                     libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}"\r
                      outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.INC/>\r
@@ -725,6 +739,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
@@ -770,7 +807,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <sequential>\r
           <cc userdefine="on">\r
             <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}" dpath="${SLINK_DPATH}"\r
-                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"\r
+                libpath="${SLINKLIBPATH}" include="${SLINK_INCLUDEPATH}">\r
               <argument value="${SLINK_FLAGS}"/>\r
 \r
               <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\r
@@ -778,7 +816,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           </cc>\r
           <cc userdefine="on">\r
             <command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}"\r
-                     outputFile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath="${DLINK_DPATH}" >\r
+                     outputFile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath="${DLINK_DPATH}" \r
+                     libpath="${DLINK_LIBPATH}" include="${DLINK_INCLUDEPATH}">\r
               <argument value="${DLINK_FLAGS}"/>\r
               <libset libs="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>\r
               <LINK.ARG/>\r
@@ -1109,6 +1148,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
@@ -1161,6 +1235,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
     </sequential>\r
   </macrodef>\r
+  \r
   <!--\r
     Microcode\r
    -->\r
@@ -1181,7 +1256,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   <!--\r
     Graphics (bmp, ...)\r
     -->\r
-  <macrodef name="Build_Graphics">\r
+  <macrodef name="Build_BMP">\r
     <attribute name="FILEPATH"/>\r
     <attribute name="FILENAME"/> \r
     <attribute name="FILEEXT" default="bmp"/>\r
@@ -1195,6 +1270,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
     </sequential>\r
   </macrodef> \r
+\r
+  <!--\r
+    build EFI file\r
+  -->\r
   <macrodef name="Build_EFI">\r
     <attribute name="FILEPATH"/>\r
     <attribute name="FILENAME"/>\r