]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Conf/BuildMacro.xml
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1253 6f19259b...
[mirror_edk2.git] / Tools / Conf / BuildMacro.xml
index ddcb3130b1738b38662a9ff57f97860ce5c2000b..41e2163fbf58ba9cac956ed8ae016a79baf7ceec 100644 (file)
@@ -10,6 +10,17 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 -->\r
 <project name="common">\r
+  <!--\r
+    Macro for intialize some properties. This Macro build will be called before source file build.  \r
+    -->\r
+  <macrodef name="Build_Init">\r
+    <sequential>\r
+      <var name="OBJECTS" value="" />\r
+      <var name="SDB_FILES" value="" />\r
+    </sequential>\r
+  </macrodef>\r
+\r
+\r
   <!--\r
     macro definitions for building files with different types\r
     -->\r
@@ -55,11 +66,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
               <EXTRA.INC/>\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.ARG/>\r
-              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+              <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
+      <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -103,11 +115,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
               <EXTRA.INC/>\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.ARG/>\r
-              <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+              <fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
+      <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -139,7 +152,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                      outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">\r
               <EXTRA.INC/>\r
               <argument value="${PP_FLAGS}"/>\r
-              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+              <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
     \r
@@ -221,7 +234,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}">\r
               <EXTRA.INC.1/>\r
               <argument value="${PP_FLAGS}"/>\r
-              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+              <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
 \r
@@ -247,11 +260,12 @@ 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="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
+              <fileset casesensitive="on" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
+      <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -288,11 +302,12 @@ 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="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
+      <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -333,7 +348,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}">\r
               <EXTRA.INC.1/>\r
               <argument value="${PP_FLAGS}"/>\r
-              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+              <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
       \r
@@ -344,11 +359,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
               <EXTRA.INC.1/>\r
               <argument value="${ASM_FLAGS}"/>\r
               <EXTRA.ARG.1/>\r
-              <fileset casesensitive="off" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
+              <fileset casesensitive="on" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
+      <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -375,7 +391,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <EXTRA.ARG/>\r
           <OutputFile File="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
   \r
-          <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+          <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
         </command>\r
       </cc>\r
     </sequential>\r
@@ -396,7 +412,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
       <OnDependency>\r
         <sourcefiles>\r
-          <file list="${OBJECTS}"/>\r
+          <file list="${OBJECTS}" />\r
         </sourcefiles>\r
         <targetfiles>\r
           <file name="${BIN_DIR}/@{FILENAME}.lib"/>\r
@@ -408,7 +424,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                 outputFile="${BIN_DIR}/@{FILENAME}.lib">\r
               <argument value="${SLINK_FLAGS}"/>\r
 \r
-              <fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
+              <argument value="${OBJECTS}"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
@@ -520,12 +536,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                      outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.INC />\r
-              <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
+              <fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
-\r
+      <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -573,12 +589,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.INC/>\r
               <EXTRA.ARG/>\r
-              <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>\r
+              <fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>\r
             </command>\r
           </cc>\r
           <delete file="${PLATFORM_DIR}/@{FILENAME}.i" />\r
         </sequential>\r
       </OnDependency>\r
+      <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -594,7 +611,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <element name="EXTRA.ARG" optional="yes"/>\r
 \r
     <sequential>\r
-      <echo message="Ignore DUMMY file ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+      <echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -618,6 +635,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <OnDependency>\r
         <sourcefiles>\r
           <file list="${LIBS}"/>\r
+          <file list="${OBJECTS}"/>\r
         </sourcefiles>\r
         <targetfiles>\r
           <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>\r
@@ -629,7 +647,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                 outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">\r
               <argument value="${SLINK_FLAGS}"/>\r
 \r
-              <fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
+              <argument value="${OBJECTS}"/>\r
             </command>\r
           </cc>\r
           <cc userdefine="on">\r