]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Change to new XML Schema.
authorwuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 30 Jun 2006 17:56:20 +0000 (17:56 +0000)
committerwuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 30 Jun 2006 17:56:20 +0000 (17:56 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@681 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Conf/BuildMacro.xml
Tools/Conf/FrameworkDatabase.db

index 641bbcc4f39c90907fdf158d9b25b11a6c4306a9..7904180e925ec77584c5a7250e51c089e2f84a26 100644 (file)
@@ -16,15 +16,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   <!--\r
     C Code\r
     -->\r
-  <macrodef name="Build_C_Code">\r
+  <macrodef name="Build_CCode">\r
     <attribute name="FILEPATH"/>\r
     <attribute name="FILENAME"/>\r
     <attribute name="FILEEXT" default="c"/>\r
-\r
+    \r
     <element name="EXTRA.INC" optional="yes"/>\r
     <element name="EXTRA.ARG" optional="yes"/>\r
-\r
+    \r
     <sequential>\r
+      <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+      <var name="FILE_PATH" value="@{FILEPATH}" />\r
       <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
 \r
       <if>\r
@@ -33,9 +35,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
             <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
-            <includepath path="${WORKSPACE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}/${ARCH}"/>\r
             <EXTRA.INC/>\r
           </makedeps>\r
         </then>\r
@@ -51,29 +50,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <cc userdefine="on">\r
-            <command type="CC" workdir="${DEST_DIR_OUTPUT}">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
+            <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
+              outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
               <EXTRA.INC/>\r
-\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.ARG/>\r
-              <!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> -->\r
-              <includeFile value="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
-              <!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->\r
-              <outputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-\r
               <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
-\r
-      <!--\r
-        for library generation later\r
-        -->\r
-      <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -87,6 +73,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <element name="EXTRA.ARG" optional="yes"/>\r
 \r
     <sequential>\r
+      <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+      <var name="FILE_PATH" value="@{FILEPATH}" />\r
       <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
 \r
       <if>\r
@@ -95,9 +83,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
             <input file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
-            <includepath path="${WORKSPACE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}/${ARCH}"/>\r
             <EXTRA.INC/>\r
           </makedeps>\r
         </then>\r
@@ -113,40 +98,31 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <cc userdefine="on">\r
-            <command type="CC" workdir="${DEST_DIR_OUTPUT}">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
+            <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
               <EXTRA.INC/>\r
-\r
               <argument value="${CC_FLAGS}"/>\r
               <EXTRA.ARG/>\r
-              <!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" />  -->\r
-              <includeFile value="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
-              <!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->\r
-              <outputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-\r
               <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
-      <!--\r
-        for library generation later\r
-        -->\r
-      <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
     </sequential>\r
   </macrodef>\r
 \r
-  <macrodef name="Build_Dependency_File">\r
+  <macrodef name="Build_DPX">\r
     <attribute name="FILEPATH"/>\r
     <attribute name="FILENAME"/>\r
     <attribute name="FILEEXT" default="dxs"/>\r
 \r
     <element name="EXTRA.INC" optional="yes"/>\r
     <element name="EXTRA.ARG" optional="yes"/>\r
+        \r
 \r
     <sequential>\r
+      <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+      <var name="FILE_PATH" value="@{FILEPATH}" />\r
       <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
 \r
       <OnDependency>\r
@@ -154,287 +130,99 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
         </sourcefiles>\r
         <targetfiles>\r
-          <file name="${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>\r
+          <file name="${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>\r
         </targetfiles>\r
 \r
         <sequential>\r
-          <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
-                tofile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>\r
 \r
           <cc userdefine="on">\r
-            <command type="CC" workdir=".">\r
-              <includepath path="${DEST_DIR_DEBUG}" />\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
+            <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}">\r
               <EXTRA.INC/>\r
               <argument value="${PP_FLAGS}"/>\r
-              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>\r
-              <outputFile value="@{FILENAME}.@{FILEEXT}.i"/>\r
+              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
-\r
-          <gendepex inputFile="@{FILENAME}.@{FILEEXT}.i" outputFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>\r
-          <delete file="@{FILENAME}.@{FILEEXT}.i" />\r
-          <delete file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c" />\r
+    \r
+          <gendepex inputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.i" outputFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>\r
         </sequential>\r
       </OnDependency>\r
     </sequential>\r
   </macrodef>\r
-\r
-<!-- Usage Example\r
-   <Build_C_Code\r
-     FILEPATH="."\r
-     FILENAME="${SOURCE_NAME}"\r
-     FILEEXT="c">\r
-     <EXTRA.INC>\r
-       <includepath path="${PACKAGE_DIR}/Include"/>\r
-       <includepath path="${PACKAGE_DIR}/Include/${ARCH}"/>\r
-     </EXTRA.INC>\r
-\r
-     <EXTRA.ARG>\r
-       <argument value="/D EFI_DEBUG /D EFI_WHATEVER_FLAG"/>\r
-     </EXTRA.ARG>\r
-   </Build_C_Code>\r
-  -->\r
-\r
-  <!--\r
-    IA32/x64 Assembly\r
-    -->\r
-  <macrodef name="Build_Assembly">\r
+  \r
+  <macrodef name="Build_ASM">\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
+    \r
+    <!-- Dispath ASM file, there are three type. \r
+         asm,s   -   Build_Assembly\r
+         S       -   Build_Ipf_Assembly -->\r
     <sequential>\r
-      <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
-\r
-      <OnDependency>\r
-        <sourcefiles>\r
-          <file Name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
-        </sourcefiles>\r
-        <targetfiles>\r
-          <file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-        </targetfiles>\r
-\r
-        <sequential>\r
-          <cc userdefine="on">\r
-            <command type="ASM">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-              <EXTRA.INC/>\r
-\r
-              <argument value="${ASM_FLAGS}"/>\r
-              <EXTRA.ARG/>\r
-              <argument value="/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>\r
-              <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-\r
-              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
-            </command>\r
-          </cc>\r
-        </sequential>\r
-      </OnDependency>\r
-      <!--\r
-        for library generation later\r
-        -->\r
-      <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
+           <if>\r
+             <or>\r
+               <equals arg1="@{FILEEXT}" arg2="asm" />\r
+               <equals arg1="@{FILEEXT}" arg2="S" />\r
+             </or>\r
+             <then>\r
+               <Build_Assembly FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">\r
+            <EXTRA.INC.1><EXTRA.INC /></EXTRA.INC.1>\r
+            <EXTRA.ARG.1><EXTRA.ARG /></EXTRA.ARG.1>\r
+          </Build_Assembly>\r
+             </then>\r
+             <elseif>\r
+               <equals arg1="@{FILEEXT}" arg2="s" />\r
+               <then>\r
+                 <Build_IPF_Assembly_Code FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">\r
+                   <EXTRA.INC.1><EXTRA.INC /></EXTRA.INC.1>\r
+              <EXTRA.ARG.1><EXTRA.ARG /></EXTRA.ARG.1>\r
+            </Build_IPF_Assembly_Code>\r
+               </then>\r
+             </elseif>\r
+           </if>\r
     </sequential>\r
   </macrodef>\r
-\r
+  \r
   <!--\r
-    Build x86 assembly with C preprocessing on AutoGen.h\r
+    IA32/x64 Assembly\r
     -->\r
-  <macrodef name="Build_x86_asm_autogen">\r
+  <macrodef name="Build_Assembly">\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
+    <element name="EXTRA.INC.1" optional="yes"/>\r
+    <element name="EXTRA.ARG.1" optional="yes"/>\r
 \r
     <sequential>\r
-      <mkdir dir="${DEST_DIR_DEBUG}/@{FILEPATH}"/>\r
+      <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+      <var name="FILE_PATH" value="@{FILEPATH}" />\r
       <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
 \r
-      <if>\r
-        <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-        <then>\r
-          <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
-            <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
-            <includepath path="${WORKSPACE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-            <EXTRA.INC/>\r
-          </makedeps>\r
-        </then>\r
-      </if>\r
-\r
       <OnDependency>\r
         <sourcefiles>\r
-          <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
-          <file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
+          <file Name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
         </sourcefiles>\r
         <targetfiles>\r
           <file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
         </targetfiles>\r
 \r
         <sequential>\r
-          <pathconvert property="ModuleDirUnixName" targetos="unix">\r
-            <path path="${MODULE_DIR}"/>\r
-            <mapper>\r
-              <chainedmapper>\r
-                <filtermapper>\r
-                  <replacestring from="\" to="/"/>\r
-                </filtermapper>\r
-              </chainedmapper>\r
-            </mapper>\r
-          </pathconvert>\r
-          <cc userdefine="on">\r
-            <command type="CC" workdir="${DEST_DIR_DEBUG}/@{FILEPATH}">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-              <EXTRA.INC/>\r
-              <argument value="${PP_FLAGS}"/>\r
-              <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h"/>\r
-              <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
-            </command>\r
-          </cc>\r
-          <replaceregexp file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
-                         match="^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}&quot;).+\1"\r
-                         replace="; Source: ${ModuleDirUnixName}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
-                         flags="gs"/>\r
-          <replaceregexp file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
-                         match="^(#line .*)$"\r
-                         replace="; \1"\r
-                         byline="true"/>\r
-          <replaceregexp file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
-                         match="([^_a-zA-Z])0x([0-9a-fA-F]+)"\r
-                         replace="\10\2h"\r
-                         flags="g"\r
-                         byline="true"/>\r
-          <move file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
-                tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
           <cc userdefine="on">\r
-            <command type="ASM">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-              <EXTRA.INC/>\r
-\r
+            <command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+              <EXTRA.INC.1/>\r
+      \r
               <argument value="${ASM_FLAGS}"/>\r
-              <EXTRA.ARG/>\r
-              <argument value="/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>\r
-              <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-\r
-              <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
-            </command>\r
-          </cc>\r
-        </sequential>\r
-      </OnDependency>\r
-      <!--\r
-        for library generation later\r
-        -->\r
-      <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-    </sequential>\r
-  </macrodef>\r
-\r
-  <!--\r
-    Library    private HashMap map = new HashMap();\r
-    -->\r
-  <macrodef name="Build_Library">\r
-    <attribute name="FILENAME" />\r
-    <attribute name="FILEEXT" default="obj"/>\r
-\r
-    <element name="EXTRA.INC" optional="yes"/>\r
-    <element name="EXTRA.ARG" optional="yes"/>\r
-\r
-    <sequential>\r
-      <mkdir dir="${BIN_DIR}"/>\r
-\r
-      <OnDependency>\r
-        <sourcefiles>\r
-          <file list="${OBJECTS}"/>\r
-        </sourcefiles>\r
-        <targetfiles>\r
-          <file name="${BIN_DIR}/@{FILENAME}.lib"/>\r
-        </targetfiles>\r
-\r
-        <sequential>\r
-          <!--  <echo>re-generate library</echo> -->\r
-          <cc userdefine="on">\r
-            <command type="LIB">\r
-              <argument value="${LIB_FLAGS}"/>\r
-              <!--<argument value="${OBJECTS}"/>-->\r
-              <FileList dir="" files="${OBJECTS}"/>\r
-              <!-- <argument value="/out:${BIN_DIR}/@{FILENAME}.lib"/> -->\r
-              <OutputFile value="${BIN_DIR}/@{FILENAME}.lib"/>\r
-            </command>\r
-          </cc>\r
-        </sequential>\r
-      </OnDependency>\r
-    </sequential>\r
-  </macrodef>\r
-\r
-  <!--\r
-    GCC Assembly\r
-    -->\r
-  <macrodef name="Build_GCC_Assembly_Code">\r
-    <attribute name="FILEPATH"/>\r
-    <attribute name="FILENAME"/>\r
-    <attribute name="FILEEXT" default="S"/>\r
-\r
-    <element name="EXTRA.INC" optional="yes"/>\r
-    <element name="EXTRA.ARG" optional="yes"/>\r
-\r
-    <sequential>\r
-      <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
-\r
-      <if>\r
-        <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-        <then>\r
-          <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
-            <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
-            <includepath path="${WORKSPACE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-            <EXTRA.INC/>\r
-          </makedeps>\r
-        </then>\r
-      </if>\r
-\r
-      <OnDependency>\r
-        <sourcefiles>\r
-          <file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
-        </sourcefiles>\r
-        <targetfiles>\r
-          <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-        </targetfiles>\r
-\r
-        <sequential>\r
-\r
-          <cc userdefine="on">\r
-            <command type="ASM" includepathDelimiter="-I">\r
-              <EXTRA.INC/>\r
-\r
-              <argument value="${ASM_FLAGS}"/>\r
-              <EXTRA.ARG/>\r
-              <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->\r
-              <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-\r
+              <EXTRA.ARG.1/>\r
+      \r
               <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
-      <!--\r
-        for library generation later\r
-        -->\r
-      <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -446,11 +234,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <attribute name="FILENAME"/>\r
     <attribute name="FILEEXT" default="s"/>\r
 \r
-    <element name="EXTRA.INC" optional="yes"/>\r
-    <element name="EXTRA.ARG" optional="yes"/>\r
+    <element name="EXTRA.INC.1" optional="yes"/>\r
+    <element name="EXTRA.ARG.1" optional="yes"/>\r
 \r
     <sequential>\r
-      <mkdir dir="${DEST_DIR_DEBUG}/@{FILEPATH}"/>\r
       <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
 \r
       <if>\r
@@ -458,10 +245,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <then>\r
           <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
             <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
-            <includepath path="${WORKSPACE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-            <EXTRA.INC/>\r
+            <EXTRA.INC.1/>\r
           </makedeps>\r
         </then>\r
       </if>\r
@@ -476,38 +260,25 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <cc userdefine="on">\r
-            <command type="CC" workdir="${DEST_DIR_DEBUG}/@{FILEPATH}">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-              <EXTRA.INC/>\r
+            <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${CC_FAMILY}">\r
+              <EXTRA.INC.1/>\r
               <argument value="${PP_FLAGS}"/>\r
               <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
             </command>\r
           </cc>\r
-          <move file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
-                tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>\r
+      \r
           <cc userdefine="on">\r
-            <command type="ASM" includepathDelimiter="-I">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-              <EXTRA.INC/>\r
-\r
+            <command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
+                includepathDelimiter="-I" outputDelimiter="-o"\r
+                outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+              <EXTRA.INC.1/>\r
               <argument value="${ASM_FLAGS}"/>\r
-              <EXTRA.ARG/>\r
-              <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->\r
-              <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-\r
-              <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>\r
+              <EXTRA.ARG.1/>\r
+              <fileset casesensitive="off" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
-      <!--\r
-        for library generation later\r
-        -->\r
-      <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -522,51 +293,64 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
     <sequential>\r
       <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
-\r
+  \r
       <cc userdefine="on">\r
         <command type="ASM" includepathDelimiter="-I">\r
           <includepath path="${WORKSPACE_DIR}"/>\r
           <includepath path="${MODULE_DIR}"/>\r
           <includepath path="${MODULE_DIR}/${ARCH}"/>\r
           <EXTRA.INC/>\r
-\r
+  \r
           <argument value="${ASM_FLAGS}"/>\r
           <EXTRA.ARG/>\r
           <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->\r
           <OutputFile File="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
-\r
+  \r
           <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
         </command>\r
       </cc>\r
-\r
-      <!--\r
-        for library generation later\r
-        -->\r
-      <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
     </sequential>\r
   </macrodef>\r
-\r
-  <!--\r
-    [Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]\r
-    [Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]\r
+  \r
+  \r
+    <!--\r
+    Library    private HashMap map = new HashMap();\r
     -->\r
-  <macrodef name="Build_Custom_Build">\r
-    <attribute name="FILEPATH"/>\r
-    <attribute name="FILENAME"/>\r
-    <attribute name="FILEEXT" default="c"/>\r
+  <macrodef name="Build_Library">\r
+    <attribute name="FILENAME" />\r
+    <attribute name="FILEEXT" default="obj"/>\r
+    \r
+    <sequential>\r
+      <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+      <var name="FILE_PATH" value="." />\r
+      <mkdir dir="${BIN_DIR}"/>\r
 \r
-    <element name="EXTRA.INC" optional="yes"/>\r
-    <element name="EXTRA.ARG" optional="yes"/>\r
+      <OnDependency>\r
+        <sourcefiles>\r
+          <file list="${OBJECTS}"/>\r
+        </sourcefiles>\r
+        <targetfiles>\r
+          <file name="${BIN_DIR}/@{FILENAME}.lib"/>\r
+        </targetfiles>\r
 \r
-    <sequential>\r
+        <sequential>\r
+          <cc userdefine="on">\r
+            <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}"\r
+                outputFile="${BIN_DIR}/@{FILENAME}.lib">\r
+              <argument value="${SLINK_FLAGS}"/>\r
 \r
+              <fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
+            </command>\r
+          </cc>\r
+        </sequential>\r
+      </OnDependency>\r
     </sequential>\r
   </macrodef>\r
 \r
   <!--\r
     Unicode -> .sdb\r
     -->\r
-  <macrodef name="Build_Unicode">\r
+  <macrodef name="Build_UNI">\r
     <attribute name="FILEPATH"/>\r
     <attribute name="FILENAME"/>\r
     <attribute name="FILEEXT" default="uni"/>\r
@@ -588,9 +372,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <sequential>\r
           <strgather commandtype="parse" newdatabase="true">\r
             <database name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
-            <includepath path="${WORKSPACE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}/${ARCH}"/>\r
             <EXTRA.INC/>\r
             <EXTRA.ARG/>\r
             <inputfile name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
@@ -598,7 +379,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         </sequential>\r
       </OnDependency>\r
 \r
-      <bl name="SDB_FILES" value="${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
+      <var name="SDB_FILES" value="${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -614,6 +395,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <element name="EXTRA.ARG" optional="yes"/>\r
 \r
     <sequential>\r
+      <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+      <var name="FILE_PATH" value="@{FILEPATH}" />\r
       <OnDependency>\r
         <sourcefiles>\r
           <file list="${SDB_FILES}"/>\r
@@ -622,7 +405,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <targetfiles>\r
           <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
         </targetfiles>\r
-\r
+        \r
         <sequential>\r
           <strgather commandtype="scan" outputdatabase="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose="read">\r
             <skipext name=".uni"/>\r
@@ -642,7 +425,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>\r
           <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
         </targetfiles>\r
-\r
+        \r
         <sequential>\r
           <strgather basename="@{FILENAME}Strings" commandtype="dump"\r
                      outputdefines="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"\r
@@ -660,31 +443,27 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <targetfiles>\r
           <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>\r
         </targetfiles>\r
-\r
+        \r
         <sequential>\r
           <cc userdefine="on">\r
-            <command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
-\r
+            <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
+                     includepathDelimiter="-I"\r
+                     outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">\r
               <argument value="${CC_FLAGS}"/>\r
-              <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>\r
-\r
+              <EXTRA.INC />\r
               <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
             </command>\r
           </cc>\r
         </sequential>\r
       </OnDependency>\r
 \r
-      <bl name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>\r
     </sequential>\r
   </macrodef>\r
 \r
   <!--\r
     Vfr\r
     -->\r
-  <macrodef name="Build_Vfr">\r
+  <macrodef name="Build_VFR">\r
     <attribute name="FILEPATH"/>\r
     <attribute name="FILENAME"/>\r
     <attribute name="FILEEXT" default="vfr"/>\r
@@ -700,10 +479,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <then>\r
           <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
             <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
-            <!-- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/> -->\r
-            <includepath path="${WORKSPACE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}/${ARCH}"/>\r
             <EXTRA.INC/>\r
           </makedeps>\r
         </then>\r
@@ -718,30 +493,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         </targetfiles>\r
 \r
         <sequential>\r
-          <vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">\r
-            <includepath path="${WORKSPACE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}"/>\r
-            <includepath path="${MODULE_DIR}/${ARCH}"/>\r
+          <vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}" vfrFile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">\r
             <EXTRA.INC/>\r
           </vfrcompile>\r
-\r
+    \r
           <cc userdefine="on">\r
-            <command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">\r
-              <includepath path="${WORKSPACE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}"/>\r
-              <includepath path="${MODULE_DIR}/${ARCH}"/>\r
+            <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" \r
+                     includepathDelimiter="-I"\r
+                     outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >\r
               <argument value="${CC_FLAGS}"/>\r
-              <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
+              <EXTRA.INC/>\r
               <EXTRA.ARG/>\r
-\r
               <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>\r
             </command>\r
           </cc>\r
-\r
-          <delete file="@{FILENAME}.i"/>\r
+          <delete file="${PLATFORM_DIR}/@{FILENAME}.i" />\r
         </sequential>\r
       </OnDependency>\r
-      <bl name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -760,9 +528,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <element name="LINK.ARG" optional="yes"/>\r
 \r
     <sequential>\r
+      <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+      <var name="FILE_PATH" value="@{FILEPATH}" />\r
       <OnDependency>\r
         <sourcefiles>\r
-          <file list="${OBJECTS}"/>\r
+          <!--fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj" /-->\r
           <file list="${LIBS}"/>\r
         </sourcefiles>\r
         <targetfiles>\r
@@ -771,23 +541,21 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <cc userdefine="on">\r
-            <command type="LIB">\r
-              <argument value="${LIB_FLAGS}"/>\r
-              <FileList dir="" files="${OBJECTS}"/>\r
-              <LIB.ARG/>\r
-              <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>\r
+            <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}"\r
+                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
             </command>\r
           </cc>\r
           <cc userdefine="on">\r
-            <command type="LINK">\r
-              <argument value="${LINK_FLAGS}"/>\r
-              <libset libs="${LIBS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>\r
+            <command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}"\r
+                     outputFile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" >\r
+              <argument value="${DLINK_FLAGS}"/>\r
+              <libset libs="${LIBS}"/>\r
+              <libset libs="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>\r
+              <libset libs="${DLINK_SPATH}" />\r
               <LINK.ARG/>\r
-              <EntryPoint value="_ModuleEntryPoint"/>\r
-              <map value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.map"/>\r
-              <pdb value="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pdb"/>\r
-              <OutputFile value="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>\r
-              <!-- <FileList dir="" files="${OBJECTS}"/> -->\r
             </command>\r
           </cc>\r
         </sequential>\r
@@ -813,15 +581,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         </targetfiles>\r
 \r
         <sequential>\r
-          <if>\r
-            <equals arg1="${COMPONENT_TYPE}" arg2="SEC"/>\r
-            <then>\r
-              <var name="COMPONENT_TYPE" value="SECURITY_CORE"/>\r
-            </then>\r
-          </if>\r
-          <fwimage componenttype="${COMPONENT_TYPE}" outImage="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"\r
+          <!-- -->\r
+          <fwimage componentType="${MODULE_TYPE}" outImage="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" \r
                    peImage="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time="0"/>\r
-          <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" />\r
         </sequential>\r
       </OnDependency>\r
     </sequential>\r
@@ -855,10 +617,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
     <sequential>\r
       <PRE.PROCESS/>\r
-\r
       <if>\r
         <not>\r
-          <equals arg1="${OBJECTS}" arg2=""/>\r
+          <!-- TBD ${OBJECTS} -->\r
+          <equals arg1="${LIBS}" arg2=""/>\r
         </not>\r
 \r
         <then>\r
@@ -870,7 +632,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           <GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/>\r
         </then>\r
       </if>\r
-\r
+      \r
       <OnDependency>\r
         <sourcefiles>\r
           <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
@@ -881,13 +643,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />\r
-          <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"\r
-                      outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"\r
+          \r
+          <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" \r
+                      outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32" \r
                       sectiontype="EFI_SECTION_PE32"/>\r
-\r
+    \r
           <POST.PROCESS/>\r
         </sequential>\r
       </OnDependency>\r
+      <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" />\r
     </sequential>\r
   </macrodef>\r
 \r
@@ -911,7 +675,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <then>\r
           <PRE.PROCESS/>\r
-          <gensection outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"\r
+          <gensection outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver" \r
                       versionnum="@{VERSION}"\r
                       sectiontype="EFI_SECTION_VERSION"/>\r
           <POST.PROCESS/>\r
@@ -941,7 +705,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <then>\r
           <PRE.PROCESS/>\r
           <gensection interfacestring="@{UI}"\r
-                      outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"\r
+                      outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui" \r
                       sectiontype="EFI_SECTION_USER_INTERFACE"/>\r
           <POST.PROCESS/>\r
         </then>\r
@@ -955,13 +719,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <attribute name="FILEPATH"/>\r
       <attribute name="FILENAME"/>\r
       <attribute name="FILEEXT" default=""/>\r
-\r
+  \r
       <element name="EXTRA.INC" optional="yes"/>\r
       <element name="EXTRA.ARG" optional="yes"/>\r
-\r
+  \r
       <sequential>\r
-        <gensection inputfile=""\r
-                    outputfile=""\r
+        <gensection inputfile="" \r
+                    outputfile="" \r
                     sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>\r
       </sequential>\r
     </macrodef>\r
@@ -982,18 +746,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <PRE.PROCESS/>\r
 \r
       <if>\r
-        <available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>\r
+        <available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>\r
         <then>\r
           <OnDependency>\r
             <sourcefiles>\r
-              <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>\r
+              <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>\r
             </sourcefiles>\r
             <targetfiles>\r
               <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
             </targetfiles>\r
             <sequential>\r
-              <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"\r
-                          outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"\r
+              <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.depex" \r
+                          outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx" \r
                           sectiontype="EFI_SECTION_DXE_DEPEX"/>\r
             </sequential>\r
           </OnDependency>\r
@@ -1027,23 +791,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <sequential>\r
       <PRE.PROCESS/>\r
       <if>\r
-        <available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>\r
+        <available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>\r
         <then>\r
           <OnDependency>\r
             <sourcefiles>\r
-              <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>\r
+              <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>\r
             </sourcefiles>\r
             <targetfiles>\r
               <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
             </targetfiles>\r
 \r
             <sequential>\r
-              <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"\r
-                          outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"\r
+              <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.depex" \r
+                          outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx" \r
                           sectiontype="EFI_SECTION_PEI_DEPEX"/>\r
             </sequential>\r
           </OnDependency>\r
-\r
+          \r
         </then>\r
         <else>\r
           <if>\r
@@ -1066,13 +830,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <attribute name="FILEPATH"/>\r
       <attribute name="FILENAME"/>\r
       <attribute name="FILEEXT" default=""/>\r
-\r
+  \r
       <element name="EXTRA.INC" optional="yes"/>\r
       <element name="EXTRA.ARG" optional="yes"/>\r
-\r
+  \r
       <sequential>\r
-        <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
-                    outputfile="${BIN_DIR}/@{FILENAME}.pe32"\r
+        <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
+                    outputfile="${BIN_DIR}/@{FILENAME}.pe32" \r
                     sectiontype="EFI_SECTION_PIC"/>\r
       </sequential>\r
     </macrodef>\r
@@ -1084,13 +848,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <attribute name="FILEPATH"/>\r
       <attribute name="FILENAME"/>\r
       <attribute name="FILEEXT" default=""/>\r
-\r
+  \r
       <element name="EXTRA.INC" optional="yes"/>\r
       <element name="EXTRA.ARG" optional="yes"/>\r
-\r
+  \r
       <sequential>\r
-        <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"\r
-                    outputfile="${BIN_DIR}/@{FILENAME}.pe32"\r
+        <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}" \r
+                    outputfile="${BIN_DIR}/@{FILENAME}.pe32" \r
                     sectiontype="EFI_SECTION_PE32"/>\r
       </sequential>\r
     </macrodef>\r
@@ -1118,8 +882,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <PRE.PROCESS/>\r
-          <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"\r
-                      outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"\r
+          <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}" \r
+                      outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec" \r
                       sectiontype="EFI_SECTION_RAW"/>\r
           <POST.PROCESS/>\r
         </sequential>\r
@@ -1127,60 +891,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     </sequential>\r
   </macrodef>\r
 \r
-  <!--\r
-    EFI_SECTION_COMPRESSION\r
-    <macrodef name="EFI_SECTION_COMPRESSION">\r
-      <attribute name="FILEPATH"/>\r
-      <attribute name="FILENAME"/>\r
-      <attribute name="FILEEXT" default=""/>\r
-\r
-      <element name="EXTRA.INC" optional="yes"/>\r
-      <element name="EXTRA.ARG" optional="yes"/>\r
-\r
-      <sequential>\r
-        <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"\r
-                    outputfile="${BIN_DIR}/@{FILENAME}.pe32"\r
-                    sectiontype="EFI_SECTION_PE32"/>\r
-      </sequential>\r
-    </macrodef>\r
-    -->\r
-\r
-  <!--\r
-    EFI_SECTION_GUID_DEFINED\r
-    <macrodef name="EFI_SECTION_GUID_DEFINED">\r
-      <attribute name="FILEPATH"/>\r
-      <attribute name="FILENAME"/>\r
-      <attribute name="FILEEXT" default=""/>\r
-\r
-      <element name="EXTRA.INC" optional="yes"/>\r
-      <element name="EXTRA.ARG" optional="yes"/>\r
-\r
-      <sequential>\r
-        <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"\r
-                    outputfile="${BIN_DIR}/@{FILENAME}.pe32"\r
-                    sectiontype="EFI_SECTION_PE32"/>\r
-      </sequential>\r
-    </macrodef>\r
-    -->\r
-\r
-  <!--\r
-    EFI_SECTION_COMPATIBILITY16\r
-    <macrodef name="EFI_SECTION_COMPATIBILITY16">\r
-      <attribute name="FILEPATH"/>\r
-      <attribute name="FILENAME"/>\r
-      <attribute name="FILEEXT" default=""/>\r
-\r
-      <element name="EXTRA.INC" optional="yes"/>\r
-      <element name="EXTRA.ARG" optional="yes"/>\r
-\r
-      <sequential>\r
-        <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"\r
-                    outputfile="${BIN_DIR}/@{FILENAME}.pe32"\r
-                    sectiontype="EFI_SECTION_PE32"/>\r
-      </sequential>\r
-    </macrodef>\r
-\r
-    -->\r
   <!--\r
     EFI_SECTION_FIRMWARE_VOLUME_IMAGE\r
     -->\r
@@ -1203,14 +913,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
         <sequential>\r
           <PRE.PROCESS/>\r
-\r
-          <copy file="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
-                tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+    \r
+          <copy file="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
+                tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
                 overwrite="true"/>\r
-          <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
-                      outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"\r
+          <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
+                      outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec" \r
                       sectiontype="EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>\r
-\r
+    \r
           <POST.PROCESS/>\r
         </sequential>\r
       </OnDependency>\r
@@ -1229,7 +939,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <element name="EXTRA.ARG" optional="yes"/>\r
 \r
     <sequential>\r
-      <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+      <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
             tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
     </sequential>\r
   </macrodef>\r
@@ -1246,11 +956,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <element name="EXTRA.ARG" optional="yes"/>\r
 \r
     <sequential>\r
-      <mkdir dir="${MODULE_DIR}/@{FILEPATH}" />\r
-      <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+      <mkdir dir="${MODULE_DIR}/@{FILEPATH}" /> \r
+      <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
             tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
     </sequential>\r
-  </macrodef>\r
+  </macrodef> \r
   <macrodef name="Build_EFI">\r
     <attribute name="FILEPATH"/>\r
     <attribute name="FILENAME"/>\r
@@ -1260,8 +970,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <element name="EXTRA.ARG" optional="yes"/>\r
 \r
     <sequential>\r
-      <mkdir dir="${MODULE_DIR}/@{FILEPATH}" />\r
-      <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+      <mkdir dir="${MODULE_DIR}/@{FILEPATH}" /> \r
+      <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
         tofile="${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>\r
     </sequential>\r
   </macrodef>\r
index b09cf8ecb7b859f2b9df5a70ccd07d73de9670c2..2bc45ea2a2d70999c8a767b56ff4f0884b39c6fe 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
-<FrameworkDatabase xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0  http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+<FrameworkDatabase xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
   <FdbHeader>\r
     <DatabaseName>FrameworkDatabase</DatabaseName>\r
-    <Guid>5ce32c23-6448-43ab-b509-a9deae3aae65</Guid>\r
+    <GuidValue>5ce32c23-6448-43ab-b509-a9deae3aae65</GuidValue>\r
     <Version>0.3</Version>\r
     <Abstract>The Framework Module Development Packaging System Database</Abstract>\r
     <Description>This Database tracks the Basename, Version, Guid and Path for all packages installed in this workspace.</Description>\r
       THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES\r
       OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
     </License>\r
-    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION     0x00000052</Specification>\r
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </FdbHeader>\r
   <PackageList>\r
-    <Package>\r
-      <PackageName>EdkFatBinPkg</PackageName>\r
-      <Guid>0fd7197b-9bde-44fe-a7e4-d2177a9922e5</Guid>\r
-      <Version>0.3</Version>\r
-      <Path>EdkFatBinPkg/</Path>\r
-      <InstalledDate>2006-03-05 09:49</InstalledDate>\r
-    </Package>\r
-    <Package>\r
-      <PackageName>EdkModulePkg</PackageName>\r
-      <Guid>0xb6ec423c, 0x21d2, 0x490d, 0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74</Guid>\r
-      <Version>0.3</Version>\r
-      <Path>EdkModulePkg/</Path>\r
-      <InstalledDate>2006-02-21 17:43</InstalledDate>\r
-    </Package>\r
-    <Package>\r
-      <PackageName>EdkNt32Pkg</PackageName>\r
-      <Guid>0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3</Guid>\r
-      <Version>0.3</Version>\r
-      <Path>EdkNt32Pkg/</Path>\r
-      <InstalledDate>2006-02-22 13:25</InstalledDate>\r
-    </Package>\r
-    <Package>\r
-      <PackageName>EdkShellBinPkg</PackageName>\r
-      <Guid>d4266a1b-1d38-4116-93ae-60dc3e2012a6</Guid>\r
-      <Version>0.3</Version>\r
-      <Path>EdkShellBinPkg/</Path>\r
-      <InstalledDate>2006-03-05 10:13</InstalledDate>\r
-    </Package>\r
-    <Package>\r
-      <PackageName>MdePkg</PackageName>\r
-      <Guid>5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec</Guid>\r
-      <Version>0.3</Version>\r
-      <Path>MdePkg/</Path>\r
-      <InstalledDate>2006-03-18 19:02</InstalledDate>\r
-    </Package>\r
-    <Package>\r
-      <PackageName>Tools</PackageName>\r
-      <Guid>53f84ca0-53fe-4412-b4e7-dcec602e1d49</Guid>\r
-      <Version>0.3</Version>\r
-      <Path>Tools/</Path>\r
-      <InstalledDate>2006-02-24 14:49</InstalledDate>\r
-    </Package>\r
-    <Package>\r
-      <PackageName>EdkFatPkg</PackageName>\r
-      <Guid>0x8EA68A2C, 0x99CB, 0x4332, 0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74</Guid>\r
-      <Version>1.0</Version>\r
-      <Path>EdkFatPkg/</Path>\r
-      <InstalledDate>2006-03-05 09:49</InstalledDate>\r
-    </Package>\r
+    <Filename>EdkFatBinPkg/EdkFatBinPkg.spd</Filename>\r
+    <Filename>EdkFatPkg/EdkFatPkg.spd</Filename>\r
+    <Filename>EdkModulePkg/EdkModulePkg.spd</Filename>\r
+\r
+    <Filename>EdkNt32Pkg/EdkNt32Pkg.spd</Filename>\r
+    <Filename>EdkShellBinPkg/EdkShellBinPkg.spd</Filename>\r
+    <Filename>MdePkg/MdePkg.spd</Filename>\r
+    <!--\r
+    <Filename>Tools/Tools.spd</Filename>\r
+    -->\r
   </PackageList>\r
   <PlatformList>\r
-    <Platform PlatformName="NT32" PlatformGuid="eb216561-961f-47ee-9ef9-ca426ef547c2" PlatformVersion="0.3">\r
-      <Filename>EdkNt32Pkg/Nt32.fpd</Filename>\r
-      <InstalledDate>2006-02-23 18:21</InstalledDate>\r
-      <ModifiedDate>2006-06-03 20:20</ModifiedDate>\r
-    </Platform>\r
-    <Platform PlatformName="NT32Test" PlatformGuid="b23bda70-806b-4c2c-85f3-1d7139cb9f12" PlatformVersion="0.3">\r
-      <Filename>EdkNt32Pkg/Nt32Test.fpd</Filename>\r
-      <InstalledDate>2006-02-24 14:49</InstalledDate>\r
-      <ModifiedDate>2006-05-14 09:49</ModifiedDate>\r
-    </Platform>\r
-    <Platform PlatformName="MdePkgAll" PlatformGuid="0fe7dd3e-0969-48c3-8cd2-de9a190088e2" PlatformVersion="0.3">\r
-      <Filename>MdePkg/MdePkg-All-Archs.fpd</Filename>\r
-      <InstalledDate>2006-02-24 14:49</InstalledDate>\r
-      <ModifiedDate>2006-05-14 09:49</ModifiedDate>\r
-    </Platform>\r
-    <Platform PlatformName="MdePkg" PlatformGuid="1123e1a9-4d9b-499f-843c-b2297ff61a11" PlatformVersion="0.3">\r
-      <Filename>MdePkg/MdePkg.fpd</Filename>\r
-      <InstalledDate>2006-02-24 14:49</InstalledDate>\r
-      <ModifiedDate>2006-05-14 09:49</ModifiedDate>\r
-    </Platform>\r
-    <Platform PlatformName="EdkModuleAll" PlatformGuid="dc967761-e6e9-4d1a-b02c-818102db4cc6" PlatformVersion="0.3">\r
-      <Filename>EdkModulePkg/EdkModulePkg-All-Archs.fpd</Filename>\r
-      <InstalledDate>2006-02-24 14:49</InstalledDate>\r
-      <ModifiedDate>2006-06-03 22:14</ModifiedDate>\r
-    </Platform>\r
-    <Platform PlatformName="EdkModule" PlatformGuid="dbb0551f-a04b-4038-9303-e60998023c8d" PlatformVersion="0.3">\r
-      <Filename>EdkModulePkg/EdkModulePkg.fpd</Filename>\r
-      <InstalledDate>2006-02-24 14:49</InstalledDate>\r
-      <ModifiedDate>2006-06-01 17:59</ModifiedDate>\r
-    </Platform>\r
+    <Filename>EdkNt32Pkg/Nt32.fpd</Filename>\r
+    <!--\r
+    <Filename>EdkModulePkg/EdkModulePkg-All-Archs.fpd</Filename>\r
+    <Filename>EdkModulePkg/EdkModulePkg.fpd</Filename>\r
+    -->\r
+  <!--\r
+    <Filename>MdePkg/MdePkg.fpd</Filename>\r
+  -->\r
   </PlatformList>\r
+  <FarList>\r
+    <Filename>hello.world</Filename>\r
+  </FarList>\r
 </FrameworkDatabase>\r