]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Conf/BuildMacro.xml
Removed the extra source file from preprocessor's command line options for building...
[mirror_edk2.git] / Tools / Conf / BuildMacro.xml
index 3855d09da1ade003fe155296c6f253cc6038d574..cf523c5f19552acc34da864b94e132cc439e0cbf 100644 (file)
@@ -10,6 +10,9 @@ 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
+  <!-- for user extended tasks or macros -->\r
+  <import file="UserExtension.xml" optional="true"/>\r
+\r
   <!--\r
     Macro for intialize some properties. This Macro build will be called before source file build.  \r
     -->\r
@@ -21,6 +24,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <var name="OBJECTS" value="" />\r
       <var name="SDB_FILES" value="" />\r
 \r
+      <mkdir dir="${DEST_DIR_DEBUG}"/>\r
+      <mkdir dir="${DEST_DIR_OUTPUT}"/>\r
+\r
       <if>\r
         <and>\r
           <isset property="PCH"/>\r
@@ -74,6 +80,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             </then>\r
           </if>\r
         </then>\r
+        <else>\r
+          <makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep">\r
+            <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
+            <EXTRA.INC/>\r
+          </makedeps>\r
+        </else>\r
       </if>\r
     </sequential>\r
   </macrodef>\r
@@ -528,6 +540,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <var name="FILE_PATH" value="." />\r
       <mkdir dir="${BIN_DIR}"/>\r
 \r
+      <if>\r
+        <equals arg1="${OBJECTS}" arg2="" trim="true"/>\r
+        <then>\r
+          <fail message="No object files"/>\r
+        </then>\r
+      </if>\r
+\r
       <OnDependency>\r
         <sourcefiles>\r
           <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}" />\r
@@ -725,26 +744,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                 </command>\r
               </cc>\r
             </then>\r
-          </if>\r
-          \r
-          <if>\r
-            <not>\r
-              <equals arg1="${CC_FAMILY}" arg2="GCC"/>\r
-            </not>\r
-            <then>\r
+            <else>\r
               <cc userdefine="on">\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
-              <argument value="${VFRPP_FLAGS} ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+                  <argument value="${VFRPP_FLAGS}"/>\r
                   <!-- Output file of the preprocess -->   \r
                   <EXTRA.INC/>            \r
                   <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>              \r
                 </command>\r
               </cc>\r
-            </then>\r
+            </else>\r
           </if>\r
           \r
-          \r
           <vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">\r
             <EXTRA.INC/>\r
           </vfrcompile>\r
@@ -911,7 +923,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       </OnDependency>\r
     </sequential>\r
   </macrodef> \r
+ <!--\r
+      Build ACPI Bin File\r
+    -->\r
+  <macrodef name="Build_ACPIBIN">\r
+    <attribute name="FILEPATH"/>\r
+    <attribute name="FILENAME"/>\r
+    <attribute name="FILEEXT" default="bin"/>\r
+\r
+    <element name="EXTRA.INC" optional="yes"/>\r
+    <element name="EXTRA.ARG" optional="yes"/>\r
+    \r
+    <sequential>\r
+      <mkdir dir="${DEST_DIR_OUTPUT}"/>\r
 \r
+      <OnDependency>\r
+        <sourcefiles>\r
+          <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+        </sourcefiles>\r
+        <targetfiles>\r
+          <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>\r
+        </targetfiles>\r
+\r
+        <sequential>\r
+          <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" tofile="${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />\r
+  \r
+          <exec executable="attrib">\r
+            <arg line="-r ${DEST_DIR_OUTPUT}/@{FILENAME}.acpi"/>\r
+          </exec>\r
+\r
+          <EFI_SECTION_RAW FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="acpi"/>\r
+        </sequential>\r
+      </OnDependency>\r
+    </sequential>\r
+  </macrodef> \r
+  \r
   <!--\r
     DUMMY - for skipping the source file which should not be built\r
     -->\r