summaryrefslogtreecommitdiff
path: root/Tools/Conf
diff options
context:
space:
mode:
authorbbahnsen <bbahnsen@6f19259b-4bc3-4df7-8a09-765794883524>2006-04-21 22:54:32 +0000
committerbbahnsen <bbahnsen@6f19259b-4bc3-4df7-8a09-765794883524>2006-04-21 22:54:32 +0000
commit878ddf1fc3540a715f63594ed22b6929e881afb4 (patch)
treec56c44dac138137b510e1fba7c3efe5e4d84bea2 /Tools/Conf
downloadedk2-platforms-878ddf1fc3540a715f63594ed22b6929e881afb4.tar.xz
Initial import.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools/Conf')
-rw-r--r--Tools/Conf/BuildMacro.xml1115
-rw-r--r--Tools/Conf/Common.xml133
-rw-r--r--Tools/Conf/FrameworkDatabase.db65
-rw-r--r--Tools/Conf/debug_efi_flags.txt4
-rw-r--r--Tools/Conf/efi_flags_table.txt26
-rw-r--r--Tools/Conf/gcc_tools.txt7
-rw-r--r--Tools/Conf/gcc_tools_def.txt55
-rw-r--r--Tools/Conf/global_efi_flags.txt35
-rw-r--r--Tools/Conf/intel_tools.txt19
-rw-r--r--Tools/Conf/msft_tools.txt8
-rw-r--r--Tools/Conf/msft_tools_def.txt43
-rw-r--r--Tools/Conf/my_efi_flags.txt2
-rw-r--r--Tools/Conf/release_efi_flags.txt4
-rw-r--r--Tools/Conf/target.txt2
-rw-r--r--Tools/Conf/tools_def.txt44
-rw-r--r--Tools/Conf/winddk_tools.txt19
16 files changed, 1581 insertions, 0 deletions
diff --git a/Tools/Conf/BuildMacro.xml b/Tools/Conf/BuildMacro.xml
new file mode 100644
index 0000000000..782b2714d3
--- /dev/null
+++ b/Tools/Conf/BuildMacro.xml
@@ -0,0 +1,1115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+-->
+<project name="common">
+ <!--
+ macro definitions for building files with different types
+ -->
+ <!--
+ C Code
+ -->
+ <macrodef name="Build_C_Code">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="c"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>
+
+ <if>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ <then>
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep">
+ <input file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ <input file="${DEST_DIR_DEBUG}\AutoGen.h"/>
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+ </makedeps>
+ </then>
+ </if>
+
+ <OnDependency>
+ <sourcefiles>
+ <file ListFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep"/>
+ </sourcefiles>
+ <targetfiles>
+ <file Name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </targetfiles>
+
+ <sequential>
+ <cc userdefine="on">
+ <command type="CC" workdir="${DEST_DIR_OUTPUT}">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+
+ <argument value="${CC_FLAGS}"/>
+ <EXTRA.ARG/>
+ <!-- <argument value="/FI${DEST_DIR_DEBUG}\AutoGen.h" /> -->
+ <includeFile value="${DEST_DIR_DEBUG}\AutoGen.h"/>
+ <!-- <argument value="/Fo${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> -->
+ <outputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+
+ <fileset casesensitive="off" file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </command>
+ </cc>
+ </sequential>
+ </OnDependency>
+
+ <!--
+ for library generation later
+ -->
+ <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </sequential>
+ </macrodef>
+
+
+ <macrodef name="Build_AUTOGEN">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="c"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>
+
+ <if>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ <then>
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep">
+ <input file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ <input file="${DEST_DIR_DEBUG}\AutoGen.h"/>
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+ </makedeps>
+ </then>
+ </if>
+
+ <OnDependency>
+ <sourcefiles>
+ <file ListFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep"/>
+ </sourcefiles>
+ <targetfiles>
+ <file Name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </targetfiles>
+
+ <sequential>
+ <cc userdefine="on">
+ <command type="CC" workdir="${DEST_DIR_OUTPUT}">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+
+ <argument value="${CC_FLAGS}"/>
+ <EXTRA.ARG/>
+ <!-- <argument value="/FI${DEST_DIR_DEBUG}\AutoGen.h" /> -->
+ <includeFile value="${DEST_DIR_DEBUG}\AutoGen.h"/>
+ <!-- <argument value="/Fo${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> -->
+ <outputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </command>
+ </cc>
+ </sequential>
+ </OnDependency>
+ <!--
+ for library generation later
+ -->
+ <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="Build_Dependency_File">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="dxs"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>
+
+ <OnDependency>
+ <sourcefiles>
+ <file name="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\${BASE_NAME}.@{FILEEXT}.depex"/>
+ </targetfiles>
+
+ <sequential>
+ <copy file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ tofile="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c"/>
+
+ <cc userdefine="on">
+ <command type="CC" workdir=".">
+ <includepath path="${DEST_DIR_DEBUG}" />
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+ <argument value="${PP_FLAGS}"/>
+ <fileset casesensitive="off" file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c"/>
+ <outputFile value="@{FILENAME}.@{FILEEXT}.i"/>
+ </command>
+ </cc>
+
+ <gendepex inputFile="@{FILENAME}.@{FILEEXT}.i" outputFile="${DEST_DIR_OUTPUT}\${BASE_NAME}.@{FILEEXT}.depex"/>
+ <delete file="@{FILENAME}.@{FILEEXT}.i" />
+ <delete file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c" />
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+<!-- Usage Example
+ <Build_C_Code
+ FILEPATH="."
+ FILENAME="${SOURCE_NAME}"
+ FILEEXT="c">
+ <EXTRA.INC>
+ <includepath path="${PACKAGE_DIR}\Include"/>
+ <includepath path="${PACKAGE_DIR}\Include\${ARCH}"/>
+ </EXTRA.INC>
+
+ <EXTRA.ARG>
+ <argument value="/D EFI_DEBUG /D EFI_WHATEVER_FLAG"/>
+ </EXTRA.ARG>
+ </Build_C_Code>
+ -->
+
+ <!--
+ IA32/x64 Assembly
+ -->
+ <macrodef name="Build_Assembly">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="asm"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>
+
+ <OnDependency>
+ <sourcefiles>
+ <file Name="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file Name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </targetfiles>
+
+ <sequential>
+ <cc userdefine="on">
+ <command type="ASM">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+
+ <argument value="${ASM_FLAGS}"/>
+ <EXTRA.ARG/>
+ <argument value="/Fl${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.lst"/>
+ <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+
+ <fileset casesensitive="off" file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </command>
+ </cc>
+ </sequential>
+ </OnDependency>
+ <!--
+ for library generation later
+ -->
+ <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </sequential>
+ </macrodef>
+
+ <!--
+ Library private HashMap map = new HashMap();
+ -->
+ <macrodef name="Build_Library">
+ <attribute name="FILENAME" />
+ <attribute name="FILEEXT" default="obj"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${BIN_DIR}"/>
+
+ <OnDependency>
+ <sourcefiles>
+ <file list="${OBJECTS}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${BIN_DIR}\@{FILENAME}.lib"/>
+ </targetfiles>
+
+ <sequential>
+ <!-- <echo>re-generate library</echo> -->
+ <cc userdefine="on">
+ <command type="LIB">
+ <argument value="${LIB_FLAGS}"/>
+ <!--<argument value="${OBJECTS}"/>-->
+ <FileList dir="" files="${OBJECTS}"/>
+ <!-- <argument value="/out:${BIN_DIR}\@{FILENAME}.lib"/> -->
+ <OutputFile value="${BIN_DIR}\@{FILENAME}.lib"/>
+ </command>
+ </cc>
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+ <!--
+ IPF Assembly
+ -->
+ <macrodef name="Build_IPF_Assembly_Code">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="s"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>
+
+ <if>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ <then>
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep">
+ <input file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+ </makedeps>
+ </then>
+ </if>
+
+ <OnDependency>
+ <sourcefiles>
+ <file listfile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </targetfiles>
+
+ <sequential>
+ <copy file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ tofile="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c"/>
+ <cc userdefine="on">
+ <command type="CC" workdir=".">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+ <argument value="${PP_FLAGS}"/>
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c"/>
+ </command>
+ </cc>
+ <move file="@{FILENAME}.@{FILEEXT}.i"
+ tofile="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pro"/>
+
+ <cc userdefine="on">
+ <command type="ASM" includepathDelimiter="-I">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+
+ <argument value="${ASM_FLAGS}"/>
+ <EXTRA.ARG/>
+ <!-- <argument value="-o ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> -->
+ <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pro"/>
+ </command>
+ </cc>
+ </sequential>
+ </OnDependency>
+ <!--
+ for library generation later
+ -->
+ <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </sequential>
+ </macrodef>
+
+
+ <macrodef name="Build_IPF_PP_Code">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="i"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>
+
+ <cc userdefine="on">
+ <command type="ASM" includepathDelimiter="-I">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+
+ <argument value="${ASM_FLAGS}"/>
+ <EXTRA.ARG/>
+ <!-- <argument value="-o ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> -->
+ <OutputFile File="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+
+ <fileset casesensitive="off" file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </command>
+ </cc>
+
+ <!--
+ for library generation later
+ -->
+ <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </sequential>
+ </macrodef>
+
+ <!--
+ [Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]
+ [Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]
+ -->
+ <macrodef name="Build_Custom_Build">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="c"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+
+ </sequential>
+ </macrodef>
+
+ <!--
+ Unicode -> .sdb
+ -->
+ <macrodef name="Build_Unicode">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="uni"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>
+
+ <OnDependency>
+ <sourcefiles>
+ <file name="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>
+ </targetfiles>
+
+ <sequential>
+ <strgather commandtype="parse" newdatabase="true">
+ <database name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+ <EXTRA.ARG/>
+ <inputfile name="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </strgather>
+ </sequential>
+ </OnDependency>
+
+ <bl name="SDB_FILES" value="${SDB_FILES}, ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>
+ </sequential>
+ </macrodef>
+
+ <!--
+ .sdb(s) -> .c, .h -> .obj
+ -->
+ <macrodef name="Build_Unicode_Database">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="sdb"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <OnDependency>
+ <sourcefiles>
+ <file list="${SDB_FILES}"/>
+ <file list="${SOURCE_FILES}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>
+ </targetfiles>
+
+ <sequential>
+ <strgather commandtype="scan" outputdatabase="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb" verbose="read">
+ <skipext name=".uni"/>
+ <skipext name=".h"/>
+ <database list="${SDB_FILES}"/>
+ <inputfile name="${SOURCE_FILES}"/>
+ </strgather>
+ </sequential>
+ </OnDependency>
+
+ <OnDependency>
+ <sourcefiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}StrDefs.h"/>
+ <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.hpk"/>
+ <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.c"/>
+ </targetfiles>
+
+ <sequential>
+ <strgather basename="@{FILENAME}Strings" commandtype="dump"
+ outputdefines="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}StrDefs.h"
+ outputhpk="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.hpk"
+ outputstring="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.c">
+ <database name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>
+ </strgather>
+ </sequential>
+ </OnDependency>
+
+ <OnDependency>
+ <sourcefiles>
+ <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.c"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Strings.obj"/>
+ </targetfiles>
+
+ <sequential>
+ <cc userdefine="on">
+ <command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+
+ <argument value="${CC_FLAGS}"/>
+ <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Strings.obj"/>
+
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.c"/>
+ </command>
+ </cc>
+ </sequential>
+ </OnDependency>
+
+ <bl name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Strings.obj"/>
+ </sequential>
+ </macrodef>
+
+ <!--
+ Vfr
+ -->
+ <macrodef name="Build_Vfr">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="vfr"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${DEST_DIR_DEBUG}/@{FILEPATH}"/>
+
+ <if>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ <then>
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep">
+ <input file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ <!-- <input file="${DEST_DIR_DEBUG}\AutoGen.h"/> -->
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+ </makedeps>
+ </then>
+ </if>
+
+ <OnDependency>
+ <sourcefiles>
+ <file listfile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </targetfiles>
+
+ <sequential>
+ <vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}\@{FILEPATH}" vfrFile="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <EXTRA.INC/>
+ </vfrcompile>
+
+ <cc userdefine="on">
+ <command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">
+ <includepath path="${WORKSPACE_DIR}"/>
+ <includepath path="${MODULE_DIR}"/>
+ <includepath path="${MODULE_DIR}\${ARCH}"/>
+ <argument value="${CC_FLAGS}"/>
+ <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ <EXTRA.ARG/>
+
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.c"/>
+ </command>
+ </cc>
+
+ <delete file="@{FILENAME}.i"/>
+ </sequential>
+ </OnDependency>
+ <bl name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>
+ </sequential>
+ </macrodef>
+
+<!--############################################################################
+ Build Sections
+#############################################################################-->
+ <!--
+ DLL
+ -->
+ <macrodef name="GenDll">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT"/>
+
+ <element name="LIB.ARG" optional="yes"/>
+ <element name="LINK.ARG" optional="yes"/>
+
+ <sequential>
+ <OnDependency>
+ <sourcefiles>
+ <file list="${OBJECTS}"/>
+ <file list="${LIBS}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.dll"/>
+ </targetfiles>
+
+ <sequential>
+ <!-- <echo>re-generate dll</echo> -->
+ <cc userdefine="on">
+ <command type="LIB">
+ <argument value="${LIB_FLAGS}"/>
+ <FileList dir="" files="${OBJECTS}"/>
+ <LIB.ARG/>
+ <!-- <argument value="/OUT:${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Local.lib"/> -->
+ <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Local.lib"/>
+ </command>
+ </cc>
+
+ <cc userdefine="on">
+ <command type="LINK">
+ <argument value="${LINK_FLAGS}"/>
+ <!-- <argument value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Local.lib"/> -->
+ <!--<argument value="${LIBS}"/>-->
+ <libSet libs="${LIBS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Local.lib"/>
+ <LINK.ARG/>
+ <!-- <argument value="/ENTRY:_ModuleEntryPoint"/> -->
+ <EntryPoint value="_ModuleEntryPoint"/>
+ <!-- <argument value="/MAP:${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.map"/> -->
+ <map value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.map"/>
+ <!-- <argument value="/PDB:${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pdb"/> -->
+ <pdb value="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pdb"/>
+ <!-- <argument value="/OUT:${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.dll"/> -->
+ <OutputFile value="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.dll"/>
+ </command>
+ </cc>
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+ <!--
+ EFI
+ -->
+ <macrodef name="GenEfi">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="dll"/>
+
+ <sequential>
+ <OnDependency>
+ <sourcefiles>
+ <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.efi"/>
+ </targetfiles>
+
+ <sequential>
+ <fwimage componenttype="${COMPONENT_TYPE}" outImage="${DEST_DIR_OUTPUT}\@{FILENAME}.efi"
+ peImage="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}" time="0"/>
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+<!--
+ EFI_SECTION_FREEFORM_SUBTYPE_GUID
+ EFI_SECTION_VERSION
+ EFI_SECTION_USER_INTERFACE
+ EFI_SECTION_DXE_DEPEX
+ EFI_SECTION_PEI_DEPEX
+ EFI_SECTION_PE32
+ EFI_SECTION_PIC
+ EFI_SECTION_TE
+ EFI_SECTION_RAW
+ EFI_SECTION_COMPRESSION
+ EFI_SECTION_GUID_DEFINED
+ EFI_SECTION_COMPATIBILITY16
+ EFI_SECTION_FIRMWARE_VOLUME_IMAGE
+ -->
+ <!--
+ EFI_SECTION_PE32
+ -->
+ <macrodef name="EFI_SECTION_PE32">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="" />
+
+ <element name="PRE.PROCESS" optional="yes"/>
+ <element name="POST.PROCESS" optional="yes"/>
+
+ <sequential>
+ <PRE.PROCESS/>
+
+ <if>
+ <not>
+ <equals arg1="${OBJECTS}" arg2=""/>
+ </not>
+
+ <then>
+ <GenDll FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="">
+ <LIB.ARG></LIB.ARG>
+ <LINK.ARG></LINK.ARG>
+ </GenDll>
+
+ <GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/>
+ </then>
+ </if>
+
+ <OnDependency>
+ <sourcefiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.efi"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.pe32"/>
+ </targetfiles>
+
+ <sequential>
+ <copy file="${DEST_DIR_OUTPUT}\@{FILENAME}.efi" tofile="${BIN_DIR}\@{FILENAME}.efi" />
+ <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.efi"
+ outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.pe32"
+ sectiontype="EFI_SECTION_PE32"/>
+
+ <POST.PROCESS/>
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+ <!--
+ EFI_SECTION_VERSION
+ -->
+ <macrodef name="EFI_SECTION_VERSION">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="" />
+ <attribute name="VERSION" default="0000"/>
+
+ <element name="PRE.PROCESS" optional="yes"/>
+ <element name="POST.PROCESS" optional="yes"/>
+
+ <sequential>
+ <if>
+ <not>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ver"/>
+ </not>
+
+ <then>
+ <PRE.PROCESS/>
+ <gensection outputfile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ver"
+ versionnum="@{VERSION}"
+ sectiontype="EFI_SECTION_VERSION"/>
+ <POST.PROCESS/>
+ </then>
+ </if>
+ </sequential>
+ </macrodef>
+
+ <!--
+ EFI_SECTION_USER_INTERFACE
+ -->
+ <macrodef name="EFI_SECTION_USER_INTERFACE">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="" />
+ <attribute name="UI" default="${BASE_NAME}"/>
+
+ <element name="PRE.PROCESS" optional="yes"/>
+ <element name="POST.PROCESS" optional="yes"/>
+
+ <sequential>
+ <if>
+ <not>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ui"/>
+ </not>
+
+ <then>
+ <PRE.PROCESS/>
+ <gensection interfacestring="@{UI}"
+ outputfile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ui"
+ sectiontype="EFI_SECTION_USER_INTERFACE"/>
+ <POST.PROCESS/>
+ </then>
+ </if>
+ </sequential>
+ </macrodef>
+
+ <!--
+ EFI_SECTION_FREEFORM_SUBTYPE_GUID
+ <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default=""/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <gensection inputfile=""
+ outputfile=""
+ sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
+ </sequential>
+ </macrodef>
+ -->
+
+ <!--
+ EFI_SECTION_DXE_DEPEX
+ -->
+ <macrodef name="EFI_SECTION_DXE_DEPEX">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="dxs"/>
+
+ <element name="PRE.PROCESS" optional="yes"/>
+ <element name="POST.PROCESS" optional="yes"/>
+
+ <sequential>
+ <PRE.PROCESS/>
+
+ <if>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>
+ <then>
+ <OnDependency>
+ <sourcefiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
+ </targetfiles>
+ <sequential>
+ <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"
+ outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"
+ sectiontype="EFI_SECTION_DXE_DEPEX"/>
+ </sequential>
+ </OnDependency>
+ </then>
+ <else>
+ <if>
+ <not>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
+ </not>
+ <then>
+ <touch file="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
+ </then>
+ </if>
+ </else>
+ </if>
+
+ <POST.PROCESS/>
+ </sequential>
+ </macrodef>
+
+ <!--
+ EFI_SECTION_PEI_DEPEX
+ -->
+ <macrodef name="EFI_SECTION_PEI_DEPEX">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="dxs"/>
+
+ <element name="PRE.PROCESS" optional="yes"/>
+ <element name="POST.PROCESS" optional="yes"/>
+ <sequential>
+ <PRE.PROCESS/>
+ <if>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>
+ <then>
+ <OnDependency>
+ <sourcefiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
+ </targetfiles>
+
+ <sequential>
+ <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"
+ outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"
+ sectiontype="EFI_SECTION_PEI_DEPEX"/>
+ </sequential>
+ </OnDependency>
+
+ </then>
+ <else>
+ <if>
+ <not>
+ <available type="file" file="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
+ </not>
+ <then>
+ <touch file="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
+ </then>
+ </if>
+ </else>
+ </if>
+ <POST.PROCESS/>
+ </sequential>
+ </macrodef>
+
+ <!--
+ EFI_SECTION_PIC
+ <macrodef name="EFI_SECTION_PIC">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default=""/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <gensection inputfile="${BIN_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ outputfile="${BIN_DIR}\@{FILENAME}.pe32"
+ sectiontype="EFI_SECTION_PIC"/>
+ </sequential>
+ </macrodef>
+ -->
+
+ <!--
+ EFI_SECTION_TE
+ <macrodef name="EFI_SECTION_TE">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default=""/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}"
+ outputfile="${BIN_DIR}\@{FILENAME}.pe32"
+ sectiontype="EFI_SECTION_PE32"/>
+ </sequential>
+ </macrodef>
+ -->
+
+ <!--
+ EFI_SECTION_RAW
+ -->
+ <macrodef name="EFI_SECTION_RAW">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="bin"/>
+
+ <element name="PRE.PROCESS" optional="yes"/>
+ <element name="POST.PROCESS" optional="yes"/>
+
+ <sequential>
+ <OnDependency>
+ <sourcefiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.sec"/>
+ </targetfiles>
+
+ <sequential>
+ <PRE.PROCESS/>
+ <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}"
+ outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.sec"
+ sectiontype="EFI_SECTION_RAW"/>
+ <POST.PROCESS/>
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+ <!--
+ EFI_SECTION_COMPRESSION
+ <macrodef name="EFI_SECTION_COMPRESSION">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default=""/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}"
+ outputfile="${BIN_DIR}\@{FILENAME}.pe32"
+ sectiontype="EFI_SECTION_PE32"/>
+ </sequential>
+ </macrodef>
+ -->
+
+ <!--
+ EFI_SECTION_GUID_DEFINED
+ <macrodef name="EFI_SECTION_GUID_DEFINED">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default=""/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}"
+ outputfile="${BIN_DIR}\@{FILENAME}.pe32"
+ sectiontype="EFI_SECTION_PE32"/>
+ </sequential>
+ </macrodef>
+ -->
+
+ <!--
+ EFI_SECTION_COMPATIBILITY16
+ <macrodef name="EFI_SECTION_COMPATIBILITY16">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default=""/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}"
+ outputfile="${BIN_DIR}\@{FILENAME}.pe32"
+ sectiontype="EFI_SECTION_PE32"/>
+ </sequential>
+ </macrodef>
+
+ -->
+ <!--
+ EFI_SECTION_FIRMWARE_VOLUME_IMAGE
+ -->
+ <macrodef name="EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="fv"/>
+
+ <element name="PRE.PROCESS" optional="yes"/>
+ <element name="POST.PROCESS" optional="yes"/>
+
+ <sequential>
+ <OnDependency>
+ <sourcefiles>
+ <file name="${FV_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
+ </sourcefiles>
+ <targetfiles>
+ <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}fv.sec"/>
+ </targetfiles>
+
+ <sequential>
+ <PRE.PROCESS/>
+
+ <copy file="${FV_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ tofile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ overwrite="true"/>
+ <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ outputfile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}fv.sec"
+ sectiontype="EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
+
+ <POST.PROCESS/>
+ </sequential>
+ </OnDependency>
+ </sequential>
+ </macrodef>
+
+ <!--
+ Binary
+ -->
+ <macrodef name="Build_Binary">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="bin"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <copy file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ tofile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.bin"/>
+ </sequential>
+ </macrodef>
+
+ <!--
+ Graphics (bmp, ...)
+ -->
+ <macrodef name="Build_Graphics">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="bmp"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${MODULE_DIR}\@{FILEPATH}" />
+ <copy file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ tofile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.bin"/>
+ </sequential>
+ </macrodef>
+ <macrodef name="Build_EFI">
+ <attribute name="FILEPATH"/>
+ <attribute name="FILENAME"/>
+ <attribute name="FILEEXT" default="efi"/>
+
+ <element name="EXTRA.INC" optional="yes"/>
+ <element name="EXTRA.ARG" optional="yes"/>
+
+ <sequential>
+ <mkdir dir="${MODULE_DIR}\@{FILEPATH}" />
+ <copy file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
+ tofile="${DEST_DIR_OUTPUT}\${BASE_NAME}.efi"/>
+ </sequential>
+ </macrodef>
+</project>
diff --git a/Tools/Conf/Common.xml b/Tools/Conf/Common.xml
new file mode 100644
index 0000000000..9bf62ca756
--- /dev/null
+++ b/Tools/Conf/Common.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" ?>
+<!--
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+-->
+<root>
+ <Ffs type="APPLICATION">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_APPLICATION" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_PE32" />
+ <Section SectionType="EFI_SECTION_USER_INTERFACE" />
+ <Section SectionType="EFI_SECTION_VERSION" />
+ </Sections>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="BINARY">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_RAW" />
+ </Sections>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="FILE">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections>
+ <Section SectionType="EFI_SECTION_RAW"/>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="PE32_PEIM.CompressPEIM">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+
+ <Sections>
+ <Section SectionType="EFI_SECTION_PEI_DEPEX" />
+ <Sections EncapsulationType="Compress">
+ <Section SectionType="EFI_SECTION_PE32" />
+ <Section SectionType="EFI_SECTION_USER_INTERFACE" />
+ <Section SectionType="EFI_SECTION_VERSION" />
+ </Sections>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="PEI_CORE">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEI_CORE" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="PE32_PEIM.Relocatable">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections>
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="DXE_CORE">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DXE_CORE" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections EncapsulationType="Compress">
+ <Section SectionType="EFI_SECTION_PE32" />
+ <Section SectionType="EFI_SECTION_USER_INTERFACE" />
+ <Section SectionType="EFI_SECTION_VERSION" />
+ </Sections>
+ </Ffs>
+
+
+ <Ffs type="BS_DRIVER, RT_DRIVER, SAL_RT_DRIVER">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DRIVER" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_PEI_DEPEX" />
+ <Section SectionType="EFI_SECTION_PE32" />
+ <Section SectionType="EFI_SECTION_USER_INTERFACE" />
+ <Section SectionType="EFI_SECTION_VERSION" />
+ </Sections>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="COMBINED_PEIM_DRIVER">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections>
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="PE32_PEIM">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections>
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Ffs>
+
+ <Ffs type="Logo, Logo.Logo">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM" />
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_RAW" />
+ </Sections>
+ </Sections>
+ </Ffs>
+
+</root>
diff --git a/Tools/Conf/FrameworkDatabase.db b/Tools/Conf/FrameworkDatabase.db
new file mode 100644
index 0000000000..2c95111493
--- /dev/null
+++ b/Tools/Conf/FrameworkDatabase.db
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+ <FdbHeader>
+ <DatabaseName>FrameworkDatabase</DatabaseName>
+ <Guid>5ce32c23-6448-43ab-b509-a9deae3aae65</Guid>
+ <Version>0.3</Version>
+ <Created>2006-03-04 22:14</Created>
+ <Updated>2006-03-06 16:56</Updated>
+ <Abstract>The Framework Module Development Packaging System Database</Abstract>
+ <Description>This Database tracks the Basename, Version, Guid and Path for all packages installed in this workspace.</Description>
+ <Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>
+ <License>
+ All rights reserved.
+ This program and the accompanying materials are licensed and made available
+ under the terms and conditions of the BSD License which accompanies this distribution.
+ The full text of the license may be found at http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES
+ OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+</License>
+ </FdbHeader>
+ <PackageList>
+ <Package>
+ <PackageName>EdkFatBinPkg</PackageName>
+ <Guid>0fd7197b-9bde-44fe-a7e4-d2177a9922e5</Guid>
+ <Version>0.3</Version>
+ <Path>EdkFatBinPkg/</Path>
+ <InstalledDate>2006-03-05 09:49</InstalledDate>
+ </Package>
+ <Package>
+ <PackageName>EdkModulePkg</PackageName>
+ <Guid>0xb6ec423c, 0x21d2, 0x490d, 0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74</Guid>
+ <Version>0.3</Version>
+ <Path>EdkModulePkg/</Path>
+ <InstalledDate>2006-02-21 17:43</InstalledDate>
+ </Package>
+ <Package>
+ <PackageName>EdkNt32Pkg</PackageName>
+ <Guid>146fab65-922d-4bc3-b34b-cf1b0fe16eed</Guid>
+ <Version>0.01-test1</Version>
+ <Path>EdkNt32Pkg/</Path>
+ <InstalledDate>2006-02-22 13:25</InstalledDate>
+ </Package>
+ <Package>
+ <PackageName>EdkShellBinPkg</PackageName>
+ <Guid>d4266a1b-1d38-4116-93ae-60dc3e2012a6</Guid>
+ <Version>0.3</Version>
+ <Path>EdkShellBinPkg/</Path>
+ <InstalledDate>2006-03-05 10:13</InstalledDate>
+ </Package>
+ <Package>
+ <PackageName>MdePkg</PackageName>
+ <Guid>18413569-8b0d-43b1-920f-c110aa37265d</Guid>
+ <Version>0.3</Version>
+ <Path>MdePkg/</Path>
+ <InstalledDate>2006-03-05 09:01</InstalledDate>
+ </Package>
+ <Package>
+ <PackageName>Tools</PackageName>
+ <Guid>53f84ca0-53fe-4412-b4e7-dcec602e1d49</Guid>
+ <Version>0.1</Version>
+ <Path>Tools/</Path>
+ <InstalledDate>2006-02-24 14:49</InstalledDate>
+ </Package>
+ </PackageList>
+</FrameworkDatabase>
diff --git a/Tools/Conf/debug_efi_flags.txt b/Tools/Conf/debug_efi_flags.txt
new file mode 100644
index 0000000000..0a5e6373e9
--- /dev/null
+++ b/Tools/Conf/debug_efi_flags.txt
@@ -0,0 +1,4 @@
+WORKSPACE_TARGET = DEBUG
+EFI_LOCK_STATUS = FALSE
+EFI_S3_RESUME = YES
+EFI_LOG_LEVEL = 3
diff --git a/Tools/Conf/efi_flags_table.txt b/Tools/Conf/efi_flags_table.txt
new file mode 100644
index 0000000000..6dfc4fa75f
--- /dev/null
+++ b/Tools/Conf/efi_flags_table.txt
@@ -0,0 +1,26 @@
+#
+# TABLE COLUMES: FLAGS_NAME, FLAGS_SETTING, VENDOR_ARCH_COMMANDTYPE ADD and SUB
+# Here, Vendor is defined in tools_def.txt, for example: MSFT, WINDDK, INTEL, GCC, CYGWIN
+# ARCH is IA32, IPF, x64, EBC and so on
+# COMMANDTYPE is one of CC, LIB, LINK, ASM, ASMLINK, PP, ASL
+#
+
+# EFI_DEBUG
+EFI_DEBUG YES MSFT_IA32_ASM ADD.["/Zi", "/DEBUG"]
+EFI_DEBUG YES MSFT_IA32_CC ADD.["/Zi", "/Gm", "/D EFI_DEBUG"] SUB.["/nologo", "/WX"]
+EFI_DEBUG YES MSFT_IA32_LINK ADD.["/DEBUG"]
+EFI_DEBUG YES MSFT_NT32_CC ADD.["/DEBUG"]
+
+EFI_DEBUG YES INTEL_EBC_CC ADD.["/Zd", "/Zi"]
+EFI_DEBUG YES INTEL_EBC_LINK ADD.["/DEBUG"]
+
+EFI_DEBUG YES WINDDK_X64_ASM ADD.["/Zi", "/DDEBUG"]
+EFI_DEBUG YES WINDDK_X64_CC ADD.["/Zi", "/Gm", "/D EFI_DEBUG"]
+EFI_DEBUG YES WINDDK_X64_LINK ADD.["/DEBUG"]
+
+EFI_DEBUG YES WINDDK_IPF_ASM ADD.["-d debug"]
+EFI_DEBUG YES WINDDK_IPF_CC ADD.["/Zi", "/Gm"]
+EFI_DEBUG YES WINDDK_IPF_LINK ADD.["/DEBUG"]
+
+
+# EFI_DEBUG_CLEAR_MEMORY
diff --git a/Tools/Conf/gcc_tools.txt b/Tools/Conf/gcc_tools.txt
new file mode 100644
index 0000000000..04dab63500
--- /dev/null
+++ b/Tools/Conf/gcc_tools.txt
@@ -0,0 +1,7 @@
+IA32_CC = "-Os","-fno-strict-aliasing","-Wall", "-Werror", "-c", "-x c"
+IA32_LIB =
+IA32_LINK = "-nostdlib", "-O2", "--gc-sections", "--dll", "--export-all-symbols"
+IA32_ASM = "/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32"
+IA32_ASMLINK =
+IA32_PP = "-E"
+
diff --git a/Tools/Conf/gcc_tools_def.txt b/Tools/Conf/gcc_tools_def.txt
new file mode 100644
index 0000000000..0cd372f8eb
--- /dev/null
+++ b/Tools/Conf/gcc_tools_def.txt
@@ -0,0 +1,55 @@
+#Host definitions
+HOST_VENDOR = INTEL
+PATH_TO_HOST_CC = c:\cygwin\bin
+
+#Default values
+CC_NAME = gcc.exe
+LIB_NAME = ar.exe
+LINK_NAME = ld.exe
+ASM_NAME = ml.exe
+ASMLINK_NAME = link.exe
+ASL_NAME = iasl.exe
+PP_NAME=gcc.exe
+
+#define for IA32
+IA32_VENDOR = GCC
+IA32_CC_VENDOR = GCC
+IA32_ASL_VENDOR = GCC
+IA32_ASM_VENDOR = MSFT
+IA32_PATH = C:\cygwin\opt\tiano\i386-tiano-pe\i386-tiano-pe\bin
+IA32_ASM_PATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin
+#IA32_ASMLINK_PATH = C:\MASM611\BINR
+IA32_ASL_PATH = C:\TianoTools\Bin
+
+#define for x64
+x64_VENDOR = WINDDK
+x64_CC_VENDOR = WINDDK
+x64_ASM_VENDOR = WINDDK
+x64_CC_NAME = cl.exe
+x64_LIB_NAME = lib.exe
+x64_LINK_NAME = link.exe
+x64_PP_NAME = cl.exe
+x64_ASL_VENDOR = INTEL
+x64_PATH = c:\WINDDK\3790.1830\bin\win64\x86\amd64
+x64_ASL_PATH = C:\TianoTools\Bin
+X64_ASM_NAME = ml64.exe
+
+#define for IPF
+IPF_CC_NAME = cl.exe
+IPF_LIB_NAME = lib.exe
+IPF_LINK_NAME = link.exe
+IPF_PP_NAME = cl.exe
+IPF_VENDOR = WINDDK
+IPF_ASL_VENDOR = INTEL
+IPF_PATH = c:\WINDDK\3790.1830\bin\win64\x86
+IPF_ASL_PATH = C:\TianoTools\Bin
+IPF_ASM_NAME = ias.exe
+
+#define for EBC
+EBC_VENDOR = INTEL
+EBC_ASL_VENDOR = INTEL
+EBC_PATH = C:\Program Files\Intel\EBC\Bin
+EBC_ASL_PATH = C:\TianoTools\Bin
+EBC_CC_NAME = iec.exe
+EBC_LIB_NAME = link.exe
+EBC_LINK_NAME = link.exe
diff --git a/Tools/Conf/global_efi_flags.txt b/Tools/Conf/global_efi_flags.txt
new file mode 100644
index 0000000000..1c1df04f50
--- /dev/null
+++ b/Tools/Conf/global_efi_flags.txt
@@ -0,0 +1,35 @@
+EFI_GENERATE_SYM_FILE = NO
+EFI_DEBUG = NO
+EFI_DEBUG_CLEAR_MEMORY = NO
+EFI_PEI_PERFORMANCE = YES
+EFI_DXE_PERFORMANCE = YES
+EFI_SYMBOLIC_DEBUG = NO
+EFI_USE_NEW_SHELL_BIN = NO
+EFI_GENERATE_INTERMEDIATE_FILE = NO
+
+EFI_READ_DISABLED_CAP = TRUE
+EFI_READ_ENABLED_CAP = TRUE
+EFI_READ_STATUS = TRUE
+EFI_WRITE_DISABLED_CAP = TRUE
+EFI_WRITE_ENABLED_CAP = TRUE
+EFI_WRITE_STATUS = TRUE
+EFI_LOCK_CAP = TRUE
+EFI_STICKY_WRITE = TRUE
+EFI_MEMORY_MAPPED = TRUE
+EFI_ALIGNMENT_CAP = TRUE
+EFI_ALIGNMENT_2 = TRUE
+EFI_ALIGNMENT_4 = TRUE
+EFI_ALIGNMENT_8 = TRUE
+EFI_ALIGNMENT_16 = TRUE
+EFI_ALIGNMENT_32 = TRUE
+EFI_ALIGNMENT_64 = TRUE
+EFI_ALIGNMENT_128 = TRUE
+EFI_ALIGNMENT_256 = TRUE
+EFI_ALIGNMENT_512 = TRUE
+EFI_ALIGNMENT_1K = TRUE
+EFI_ALIGNMENT_2K = TRUE
+EFI_ALIGNMENT_4K = TRUE
+EFI_ALIGNMENT_8K = TRUE
+EFI_ALIGNMENT_16K = TRUE
+EFI_ALIGNMENT_32K = TRUE
+EFI_ALIGNMENT_64K = TRUE \ No newline at end of file
diff --git a/Tools/Conf/intel_tools.txt b/Tools/Conf/intel_tools.txt
new file mode 100644
index 0000000000..d4482468fa
--- /dev/null
+++ b/Tools/Conf/intel_tools.txt
@@ -0,0 +1,19 @@
+ASL = -vo
+
+IA32_CC =
+IA32_LIB =
+IA32_LINK =
+
+X64_CC =
+X64_LIB =
+X64_LINK =
+
+IPF_CC =
+IPF_LIB =
+IPF_LINK =
+IPF_ASM = "-N us", "-X explicit", "-M ilp64", "-N so", "-W4"
+
+EBC_CC = "-nologo", "-FAcs", "-c", "-W3", "-WX"
+EBC_LIB = "/lib", "/NOLOGO", "/MACHINE:EBC"
+EBC_LINK = "/NOLOGO", "/MACHINE:EBC", "/SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", "/OPT:REF", "/NODEFAULTLIB"
+EBC_PP = "/P" \ No newline at end of file
diff --git a/Tools/Conf/msft_tools.txt b/Tools/Conf/msft_tools.txt
new file mode 100644
index 0000000000..cc0cf081b0
--- /dev/null
+++ b/Tools/Conf/msft_tools.txt
@@ -0,0 +1,8 @@
+ASL = "/nologo"
+
+IA32_CC = "/nologo", "/W3", "/WX", "/GX", "/Gy", "/Gs-", "/c", "/D EFI32", "/D UNICODE"
+IA32_LIB = "/NOLOGO"
+IA32_LINK = "/NOLOGO", "/SUBSYSTEM:CONSOLE", "/NODEFAULTLIB", "/IGNORE:4086", "/MAP", "/OPT:REF", "/MACHINE:I386", "/ALIGN:32", "/DLL", "/LTCG"
+IA32_ASM = "/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32"
+IA32_ASMLINK =
+IA32_PP = "/P"
diff --git a/Tools/Conf/msft_tools_def.txt b/Tools/Conf/msft_tools_def.txt
new file mode 100644
index 0000000000..71c7da17e4
--- /dev/null
+++ b/Tools/Conf/msft_tools_def.txt
@@ -0,0 +1,43 @@
+#WORKSPACE = C:\MyWork\Edk2.0
+#Host definitions
+HOST_VENDOR = INTEL
+PATH_TO_HOST_CC = C:\Program Files\Intel\Compiler\c++\9.0\IA32\Bin
+
+#Default values
+CC_NAME = cl.exe
+LIB_NAME = lib.exe
+LINK_NAME = link.exe
+ASM_NAME = ml.exe
+ASMLINK_NAME = link.exe
+ASL_NAME = iasl.exe
+PP_NAME=cl.exe
+
+#define for IA32
+IA32_VENDOR = MSFT
+IA32_ASL_VENDOR = INTEL
+IA32_PATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin
+#IA32_ASM_PATH = C:\MASM611\BIN
+IA32_ASMLINK_PATH = C:\MASM611\BINR
+IA32_ASL_PATH = C:\TianoTools\Bin
+
+#define for x64
+x64_VENDOR = WINDDK
+x64_ASL_VENDOR = INTEL
+x64_PATH = c:\WINDDK\3790.1830\bin\win64\x86\amd64
+x64_ASL_PATH = C:\TianoTools\Bin
+X64_ASM_NAME = ml64.exe
+
+#define for IPF
+IPF_VENDOR = WINDDK
+IPF_ASL_VENDOR = INTEL
+IPF_PATH = c:\WINDDK\3790.1830\bin\win64\x86
+IPF_ASL_PATH = C:\TianoTools\Bin
+IPF_ASM_NAME = ias.exe
+
+#define for EBC
+EBC_VENDOR = INTEL
+EBC_ASL_VENDOR = INTEL
+EBC_PATH = C:\Program Files\Intel\EBC\Bin
+EBC_ASL_PATH = C:\TianoTools\Bin
+EBC_CC_NAME = iec.exe
+EBC_LIB_NAME = link.exe
diff --git a/Tools/Conf/my_efi_flags.txt b/Tools/Conf/my_efi_flags.txt
new file mode 100644
index 0000000000..f033429f4b
--- /dev/null
+++ b/Tools/Conf/my_efi_flags.txt
@@ -0,0 +1,2 @@
+EFI_DEBUG = NO
+EFI_DEBUG_CLEAR_MEMORY = NO \ No newline at end of file
diff --git a/Tools/Conf/release_efi_flags.txt b/Tools/Conf/release_efi_flags.txt
new file mode 100644
index 0000000000..0a5e6373e9
--- /dev/null
+++ b/Tools/Conf/release_efi_flags.txt
@@ -0,0 +1,4 @@
+WORKSPACE_TARGET = DEBUG
+EFI_LOCK_STATUS = FALSE
+EFI_S3_RESUME = YES
+EFI_LOG_LEVEL = 3
diff --git a/Tools/Conf/target.txt b/Tools/Conf/target.txt
new file mode 100644
index 0000000000..571d517e82
--- /dev/null
+++ b/Tools/Conf/target.txt
@@ -0,0 +1,2 @@
+WORKSPACE_TARGET = DEBUG
+TARGET_ARCH = IA32, x64, IPF, EBC
diff --git a/Tools/Conf/tools_def.txt b/Tools/Conf/tools_def.txt
new file mode 100644
index 0000000000..89c76e8380
--- /dev/null
+++ b/Tools/Conf/tools_def.txt
@@ -0,0 +1,44 @@
+WORKSPACE = C:\MDE
+#Host definitions
+HOST_VENDOR = INTEL
+PATH_TO_HOST_CC = C:\Program Files\Intel\Compiler\c++\9.0\IA32\Bin
+
+#Default values
+CC_NAME = cl.exe
+LIB_NAME = lib.exe
+LINK_NAME = link.exe
+ASM_NAME = ml.exe
+ASMLINK_NAME = link.exe
+ASL_NAME = iasl.exe
+PP_NAME=cl.exe
+
+#define for IA32
+IA32_VENDOR = MSFT
+IA32_ASL_VENDOR = INTEL
+#IA32_PATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin
+#IA32_ASM_PATH = C:\MASM611\BIN
+IA32_ASMLINK_PATH = C:\MASM611\BINR
+IA32_ASL_PATH = C:\TianoTools\Bin
+
+#define for x64
+x64_VENDOR = WINDDK
+x64_ASL_VENDOR = INTEL
+x64_PATH = C:\WINDDK\3790.1830\bin\win64\x86\amd64
+x64_ASL_PATH = C:\TianoTools\Bin
+X64_ASM_NAME = ml64.exe
+
+#define for IPF
+IPF_VENDOR = WINDDK
+IPF_ASL_VENDOR = INTEL
+IPF_PATH = C:\WINDDK\3790.1830\bin\win64\x86
+IPF_ASL_PATH = C:\TianoTools\Bin
+IPF_ASM_NAME = ias.exe
+
+#define for EBC
+EBC_VENDOR = INTEL
+EBC_ASL_VENDOR = INTEL
+EBC_PATH = C:\Program Files\Intel\Ebc\Bin
+EBC_ASL_PATH = C:\TianoTools\Bin
+EBC_CC_NAME = iec.exe
+#EBC_LIB_PATH =
+EBC_LIB_NAME = link.exe
diff --git a/Tools/Conf/winddk_tools.txt b/Tools/Conf/winddk_tools.txt
new file mode 100644
index 0000000000..062d974eaa
--- /dev/null
+++ b/Tools/Conf/winddk_tools.txt
@@ -0,0 +1,19 @@
+IA32_CC = "/nologo", "/X", "/W4", "/WX", "/GX", "/Gy", "/GS-", "/c", "/D EFI32"
+IA32_LIB = "/NOLOGO"
+IA32_LINK = "/NOLOGO", "/SUBSYSTEM:CONSOLE", "/NODEFAULTLIB", "/IGNORE:4086", "/MAP", "/OPT:REF", "/MACHINE:I386", "/ALIGN:32", "/DLL"
+IA32_ASM = "/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32"
+IA32_PP = "/P"
+
+x64_CC = "/nologo", "/X", "/W4", "/WX", "/Gy", "/c", "/Gs8192", "/GS-", "/D EFIx64"
+x64_LIB = "/NOLOGO"
+x64_LINK = "/NOLOGO", "/Machine:AMD64", "/ALIGN:32", "/DLL", "/NODEFAULTLIB", "/OPT:REF"
+x64_ASM = "/nologo", "/W3", "/WX", "/c", "/DEFI32"
+x64_ASMLINK =
+x64_PP = "/P"
+
+IPF_CC = "/nologo", "/W4", "/WX", "/EHsc", "/Gy", "/c", "/GS-", "/D EFI64"
+IPF_PP = "/nologo", "/W4", "/WX", "/EHsc", "/Gy", "/c", "/GS-", "-P", "-C", "/D EFI_MONOSHELL", "/D EFI64"
+IPF_LIB = "/NOLOGO"
+IPF_LINK = "/NOLOGO", "/SUBSYSTEM:CONSOLE", "/NODEFAULTLIB", "/IGNORE:4086", "/MAP", "/OPT:REF", "/MACHINE:IA64"
+IPF_ASM = "-N us", "-X explicit", "-M ilp64", "-N so", "-W4"
+IPF_PP = "/P"