]> 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 9f3b42cb8ca7f3ac5f34d3b98f3f0f3d20d569e7..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
@@ -537,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
@@ -734,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
@@ -920,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