]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Conf/BuildMacro.xml
Add AutoGen.h.obj to the list of files to link to resolve a link failure with VS...
[mirror_edk2.git] / Tools / Conf / BuildMacro.xml
index ba467c777634aed4a222b1a9723fe855f02460bd..b149cd69644331086e5cf808e76d23c859e585b1 100644 (file)
@@ -64,10 +64,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <if>\r
             <and>\r
               <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
-              <available file="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+              <available file="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
             </and>\r
             <then>\r
-              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
             </then>\r
             <else>\r
               <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>\r
@@ -76,7 +76,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \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">\r
+              outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}">\r
               <EXTRA.INC/>\r
               <argument value="${LOCAL_CC_FLAGS}"/>\r
               <EXTRA.ARG/>\r
@@ -113,7 +113,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
 \r
       <if>\r
-        <available type="file" file="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+        <available type="file" file="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
         <then>\r
           <makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep">\r
             <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
@@ -127,7 +127,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
         </sourcefiles>\r
         <targetfiles>\r
-          <file Name="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+          <file Name="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
         </targetfiles>\r
 \r
         <sequential>\r
@@ -135,10 +135,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <if>\r
             <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
             <then>\r
-              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /TC /Yc /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /TC /Yc /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
               <cc userdefine="on">\r
                 <command type="CC" cmd="${CC}" 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}">\r
                   <EXTRA.INC/>\r
                   <argument value="${LOCAL_CC_FLAGS}"/>\r
                   <EXTRA.ARG/>\r
@@ -174,7 +174,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <if>\r
             <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
             <then>\r
-              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
             </then>\r
             <else>\r
               <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>\r
@@ -183,7 +183,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \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">\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}">\r
               <EXTRA.INC/>\r
               <argument value="${LOCAL_CC_FLAGS}"/>\r
               <EXTRA.ARG/>\r
@@ -230,7 +230,7 @@ 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">\r
+                     outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath="${CC_DPATH}">\r
               <EXTRA.INC/>\r
               <argument value="${PP_FLAGS}"/>\r
               <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
@@ -312,7 +312,7 @@ 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}">\r
+            <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" dpath="${PP_DPATH}">\r
               <EXTRA.INC.1/>\r
               <argument value="${PP_FLAGS}"/>\r
               <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
@@ -335,7 +335,7 @@ 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">\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${ASM_DPATH}">\r
               <EXTRA.INC.1/>\r
       \r
               <argument value="${ASM_FLAGS}"/>\r
@@ -386,7 +386,7 @@ 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">\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${ASM_DPATH}">\r
               <EXTRA.INC.1/>\r
       \r
               <argument value="${ASM_FLAGS}"/>\r
@@ -445,7 +445,7 @@ 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}">\r
+            <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" dpath="${PP_DPATH}">\r
               <EXTRA.INC.1/>\r
               <argument value="${PP_FLAGS}"/>\r
               <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
@@ -454,7 +454,7 @@ 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
-                includepathDelimiter="-I" outputDelimiter="-o"\r
+                includepathDelimiter="-I" outputDelimiter="-o" dpath="${ASM_DPATH}"\r
                 outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
               <EXTRA.INC.1/>\r
               <argument value="${ASM_FLAGS}"/>\r
@@ -490,7 +490,7 @@ 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">\r
+        <command type="ASM" includepathDelimiter="-I" dpath="${ASM_DPATH}">\r
           <includepath path="${WORKSPACE_DIR}"/>\r
           <includepath path="${MODULE_DIR}"/>\r
           <includepath path="${MODULE_DIR}/${ARCH}"/>\r
@@ -517,6 +517,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <sequential>\r
       <var name="FILE_BASENAME" value="@{FILENAME}" />\r
       <var name="FILE_PATH" value="." />\r
+      <if>\r
+        <available type="file" file="${DEST_DIR_OUTPUT}/AutoGen.h.obj"/>\r
+        <then>\r
+          <var name="SLINK_FLAGS" value="${SLINK_FLAGS} ${DEST_DIR_OUTPUT}/AutoGen.h.obj"/>\r
+        </then>\r
+      </if>\r
       <mkdir dir="${BIN_DIR}"/>\r
 \r
       <OnDependency>\r
@@ -530,7 +536,7 @@ 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">\r
+                outputFile="${BIN_DIR}/@{FILENAME}.lib" dpath="${SLINK_DPATH}">\r
               <argument value="${SLINK_FLAGS}"/>\r
 \r
               <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\r
@@ -643,10 +649,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <if>\r
             <and>\r
               <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
-              <available file="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+              <available file="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
             </and>\r
             <then>\r
-              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yc${DEST_DIR_DEBUG}/AutoGen.h /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yc${DEST_DIR_DEBUG}/AutoGen.h /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
             </then>\r
             <else>\r
               <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>\r
@@ -655,7 +661,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
           <cc userdefine="on">\r
             <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
-                     includepathDelimiter="-I"\r
+                     includepathDelimiter="-I" dpath="${CC_DPATH}"\r
                      outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">\r
               <argument value="${LOCAL_CC_FLAGS}"/>\r
               <EXTRA.INC />\r
@@ -720,10 +726,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <if>\r
             <and>\r
               <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
-              <available file="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+              <available file="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
             </and>\r
             <then>\r
-              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>\r
+              <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
             </then>\r
             <else>\r
               <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>\r
@@ -732,7 +738,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
           <cc userdefine="on">\r
             <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" \r
-                     includepathDelimiter="-I" family="${CC_FAMILY}"\r
+                     includepathDelimiter="-I" family="${CC_FAMILY}" dpath="${CC_DPATH}"\r
                      outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >\r
               <argument value="${LOCAL_CC_FLAGS}"/>\r
               <EXTRA.INC/>\r
@@ -767,7 +773,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <element name="EXTRA.ARG" optional="yes"/>\r
 \r
     <sequential>\r
-      <echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+      <echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -788,6 +794,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <sequential>\r
       <var name="FILE_BASENAME" value="@{FILENAME}" />\r
       <var name="FILE_PATH" value="@{FILEPATH}" />\r
+      <if>\r
+        <available type="file" file="${DEST_DIR_OUTPUT}/AutoGen.h.obj"/>\r
+        <then>\r
+          <var name="SLINK_FLAGS" value="${SLINK_FLAGS} ${DEST_DIR_OUTPUT}/AutoGen.h.obj"/>\r
+        </then>\r
+      </if>\r
       <OnDependency>\r
         <sourcefiles>\r
           <file list="${LIBS}"/>\r
@@ -799,7 +811,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <cc userdefine="on">\r
-            <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}"\r
+            <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}" dpath="${SLINK_DPATH}"\r
                 outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">\r
               <argument value="${SLINK_FLAGS}"/>\r
 \r
@@ -808,7 +820,7 @@ 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" >\r
+                     outputFile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath="${DLINK_DPATH}" >\r
               <argument value="${DLINK_FLAGS}"/>\r
               <libset libs="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>\r
               <LINK.ARG/>\r