Added a new source file type "x86_asm_autogen" to allow assembly source to use macros defined in AutoGen.h

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@483 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
bxing 2006-06-12 11:14:21 +00:00
parent 6ff7a41cb8
commit 0fd9e1370f
3 changed files with 175 additions and 93 deletions

View File

@ -73,7 +73,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<!-- <!--
for library generation later for library generation later
--> -->
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -118,14 +118,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<includepath path="${MODULE_DIR}"/> <includepath path="${MODULE_DIR}"/>
<includepath path="${MODULE_DIR}/${ARCH}"/> <includepath path="${MODULE_DIR}/${ARCH}"/>
<EXTRA.INC/> <EXTRA.INC/>
<argument value="${CC_FLAGS}"/> <argument value="${CC_FLAGS}"/>
<EXTRA.ARG/> <EXTRA.ARG/>
<!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> --> <!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> -->
<includeFile value="${DEST_DIR_DEBUG}/AutoGen.h"/> <includeFile value="${DEST_DIR_DEBUG}/AutoGen.h"/>
<!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> --> <!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
<outputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <outputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/> <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
</command> </command>
</cc> </cc>
@ -134,7 +134,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<!-- <!--
for library generation later for library generation later
--> -->
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -158,12 +158,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</targetfiles> </targetfiles>
<sequential> <sequential>
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
tofile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/> tofile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
<cc userdefine="on"> <cc userdefine="on">
<command type="CC" workdir="."> <command type="CC" workdir=".">
<includepath path="${DEST_DIR_DEBUG}" /> <includepath path="${DEST_DIR_DEBUG}" />
<includepath path="${WORKSPACE_DIR}"/> <includepath path="${WORKSPACE_DIR}"/>
<includepath path="${MODULE_DIR}"/> <includepath path="${MODULE_DIR}"/>
<includepath path="${MODULE_DIR}/${ARCH}"/> <includepath path="${MODULE_DIR}/${ARCH}"/>
@ -173,15 +173,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<outputFile value="@{FILENAME}.@{FILEEXT}.i"/> <outputFile value="@{FILENAME}.@{FILEEXT}.i"/>
</command> </command>
</cc> </cc>
<gendepex inputFile="@{FILENAME}.@{FILEEXT}.i" outputFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/> <gendepex inputFile="@{FILENAME}.@{FILEEXT}.i" outputFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>
<delete file="@{FILENAME}.@{FILEEXT}.i" /> <delete file="@{FILENAME}.@{FILEEXT}.i" />
<delete file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c" /> <delete file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c" />
</sequential> </sequential>
</OnDependency> </OnDependency>
</sequential> </sequential>
</macrodef> </macrodef>
<!-- Usage Example <!-- Usage Example
<Build_C_Code <Build_C_Code
FILEPATH="." FILEPATH="."
@ -227,12 +227,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<includepath path="${MODULE_DIR}"/> <includepath path="${MODULE_DIR}"/>
<includepath path="${MODULE_DIR}/${ARCH}"/> <includepath path="${MODULE_DIR}/${ARCH}"/>
<EXTRA.INC/> <EXTRA.INC/>
<argument value="${ASM_FLAGS}"/> <argument value="${ASM_FLAGS}"/>
<EXTRA.ARG/> <EXTRA.ARG/>
<argument value="/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/> <argument value="/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/> <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
</command> </command>
</cc> </cc>
@ -245,6 +245,90 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</sequential> </sequential>
</macrodef> </macrodef>
<!--
Build x86 assembly with C preprocessing on AutoGen.h
-->
<macrodef name="Build_x86_asm_autogen">
<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_DEBUG}/@{FILEPATH}"/>
<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}/AutoGen.h"/>
<includepath path="${WORKSPACE_DIR}"/>
<includepath path="${MODULE_DIR}"/>
<includepath path="${MODULE_DIR}/${ARCH}"/>
<EXTRA.INC/>
</makedeps>
</then>
</if>
<OnDependency>
<sourcefiles>
<file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
<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_DEBUG}/@{FILEPATH}">
<includepath path="${WORKSPACE_DIR}"/>
<includepath path="${MODULE_DIR}"/>
<includepath path="${MODULE_DIR}/${ARCH}"/>
<EXTRA.INC/>
<argument value="${PP_FLAGS}"/>
<argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h"/>
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
</command>
</cc>
<replaceregexp file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
match="^(#line\ +1\ +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}&quot;).+\1"
replace="; Source: ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
flags="gs"/>
<replaceregexp file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
match="([^_a-zA-Z])0x([0-9a-fA-F]+)"
replace="\10\2h"
flags="g"
byline="true"/>
<move file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
<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="${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>
<!-- <!--
Library private HashMap map = new HashMap(); Library private HashMap map = new HashMap();
--> -->
@ -318,16 +402,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</targetfiles> </targetfiles>
<sequential> <sequential>
<cc userdefine="on"> <cc userdefine="on">
<command type="ASM" includepathDelimiter="-I"> <command type="ASM" includepathDelimiter="-I">
<EXTRA.INC/> <EXTRA.INC/>
<argument value="${ASM_FLAGS}"/> <argument value="${ASM_FLAGS}"/>
<EXTRA.ARG/> <EXTRA.ARG/>
<!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> --> <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/> <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
</command> </command>
</cc> </cc>
@ -352,6 +436,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<mkdir dir="${DEST_DIR_DEBUG}/@{FILEPATH}"/>
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/> <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
<if> <if>
@ -376,33 +461,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</targetfiles> </targetfiles>
<sequential> <sequential>
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
<cc userdefine="on"> <cc userdefine="on">
<command type="CC" workdir="."> <command type="CC" workdir="${DEST_DIR_DEBUG}/@{FILEPATH}">
<includepath path="${WORKSPACE_DIR}"/> <includepath path="${WORKSPACE_DIR}"/>
<includepath path="${MODULE_DIR}"/> <includepath path="${MODULE_DIR}"/>
<includepath path="${MODULE_DIR}/${ARCH}"/> <includepath path="${MODULE_DIR}/${ARCH}"/>
<EXTRA.INC/> <EXTRA.INC/>
<argument value="${PP_FLAGS}"/> <argument value="${PP_FLAGS}"/>
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/> <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
</command> </command>
</cc> </cc>
<move file="@{FILENAME}.@{FILEEXT}.i" <move file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/> tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
<cc userdefine="on"> <cc userdefine="on">
<command type="ASM" includepathDelimiter="-I"> <command type="ASM" includepathDelimiter="-I">
<includepath path="${WORKSPACE_DIR}"/> <includepath path="${WORKSPACE_DIR}"/>
<includepath path="${MODULE_DIR}"/> <includepath path="${MODULE_DIR}"/>
<includepath path="${MODULE_DIR}/${ARCH}"/> <includepath path="${MODULE_DIR}/${ARCH}"/>
<EXTRA.INC/> <EXTRA.INC/>
<argument value="${ASM_FLAGS}"/> <argument value="${ASM_FLAGS}"/>
<EXTRA.ARG/> <EXTRA.ARG/>
<!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> --> <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/> <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
</command> </command>
</cc> </cc>
@ -426,30 +508,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<sequential> <sequential>
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/> <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
<cc userdefine="on"> <cc userdefine="on">
<command type="ASM" includepathDelimiter="-I"> <command type="ASM" includepathDelimiter="-I">
<includepath path="${WORKSPACE_DIR}"/> <includepath path="${WORKSPACE_DIR}"/>
<includepath path="${MODULE_DIR}"/> <includepath path="${MODULE_DIR}"/>
<includepath path="${MODULE_DIR}/${ARCH}"/> <includepath path="${MODULE_DIR}/${ARCH}"/>
<EXTRA.INC/> <EXTRA.INC/>
<argument value="${ASM_FLAGS}"/> <argument value="${ASM_FLAGS}"/>
<EXTRA.ARG/> <EXTRA.ARG/>
<!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> --> <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
<OutputFile File="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <OutputFile File="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/> <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
</command> </command>
</cc> </cc>
<!-- <!--
for library generation later for library generation later
--> -->
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
</sequential> </sequential>
</macrodef> </macrodef>
<!-- <!--
[Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile] [Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]
[Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile] [Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]
@ -526,7 +608,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<targetfiles> <targetfiles>
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/> <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
</targetfiles> </targetfiles>
<sequential> <sequential>
<strgather commandtype="scan" outputdatabase="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose="read"> <strgather commandtype="scan" outputdatabase="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose="read">
<skipext name=".uni"/> <skipext name=".uni"/>
@ -546,7 +628,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/> <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/> <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
</targetfiles> </targetfiles>
<sequential> <sequential>
<strgather basename="@{FILENAME}Strings" commandtype="dump" <strgather basename="@{FILENAME}Strings" commandtype="dump"
outputdefines="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h" outputdefines="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
@ -564,7 +646,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<targetfiles> <targetfiles>
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/> <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
</targetfiles> </targetfiles>
<sequential> <sequential>
<cc userdefine="on"> <cc userdefine="on">
<command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I"> <command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">
@ -628,7 +710,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<includepath path="${MODULE_DIR}/${ARCH}"/> <includepath path="${MODULE_DIR}/${ARCH}"/>
<EXTRA.INC/> <EXTRA.INC/>
</vfrcompile> </vfrcompile>
<cc userdefine="on"> <cc userdefine="on">
<command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I"> <command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">
<includepath path="${WORKSPACE_DIR}"/> <includepath path="${WORKSPACE_DIR}"/>
@ -637,11 +719,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<argument value="${CC_FLAGS}"/> <argument value="${CC_FLAGS}"/>
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
<EXTRA.ARG/> <EXTRA.ARG/>
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/> <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
</command> </command>
</cc> </cc>
<delete file="@{FILENAME}.i"/> <delete file="@{FILENAME}.i"/>
</sequential> </sequential>
</OnDependency> </OnDependency>
@ -717,7 +799,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</targetfiles> </targetfiles>
<sequential> <sequential>
<fwimage componenttype="${COMPONENT_TYPE}" outImage="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" <fwimage componenttype="${COMPONENT_TYPE}" outImage="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
peImage="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time="0"/> peImage="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time="0"/>
<copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" /> <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
</sequential> </sequential>
@ -764,7 +846,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<LIB.ARG></LIB.ARG> <LIB.ARG></LIB.ARG>
<LINK.ARG></LINK.ARG> <LINK.ARG></LINK.ARG>
</GenDll> </GenDll>
<GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/> <GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/>
</then> </then>
</if> </if>
@ -779,10 +861,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<sequential> <sequential>
<copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" /> <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32" outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
sectiontype="EFI_SECTION_PE32"/> sectiontype="EFI_SECTION_PE32"/>
<POST.PROCESS/> <POST.PROCESS/>
</sequential> </sequential>
</OnDependency> </OnDependency>
@ -809,7 +891,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<then> <then>
<PRE.PROCESS/> <PRE.PROCESS/>
<gensection outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver" <gensection outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
versionnum="@{VERSION}" versionnum="@{VERSION}"
sectiontype="EFI_SECTION_VERSION"/> sectiontype="EFI_SECTION_VERSION"/>
<POST.PROCESS/> <POST.PROCESS/>
@ -839,7 +921,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<then> <then>
<PRE.PROCESS/> <PRE.PROCESS/>
<gensection interfacestring="@{UI}" <gensection interfacestring="@{UI}"
outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui" outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
sectiontype="EFI_SECTION_USER_INTERFACE"/> sectiontype="EFI_SECTION_USER_INTERFACE"/>
<POST.PROCESS/> <POST.PROCESS/>
</then> </then>
@ -853,13 +935,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<attribute name="FILEPATH"/> <attribute name="FILEPATH"/>
<attribute name="FILENAME"/> <attribute name="FILENAME"/>
<attribute name="FILEEXT" default=""/> <attribute name="FILEEXT" default=""/>
<element name="EXTRA.INC" optional="yes"/> <element name="EXTRA.INC" optional="yes"/>
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<gensection inputfile="" <gensection inputfile=""
outputfile="" outputfile=""
sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/> sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -890,8 +972,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/> <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
</targetfiles> </targetfiles>
<sequential> <sequential>
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex" <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx" outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
sectiontype="EFI_SECTION_DXE_DEPEX"/> sectiontype="EFI_SECTION_DXE_DEPEX"/>
</sequential> </sequential>
</OnDependency> </OnDependency>
@ -936,12 +1018,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</targetfiles> </targetfiles>
<sequential> <sequential>
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex" <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx" outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
sectiontype="EFI_SECTION_PEI_DEPEX"/> sectiontype="EFI_SECTION_PEI_DEPEX"/>
</sequential> </sequential>
</OnDependency> </OnDependency>
</then> </then>
<else> <else>
<if> <if>
@ -964,13 +1046,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<attribute name="FILEPATH"/> <attribute name="FILEPATH"/>
<attribute name="FILENAME"/> <attribute name="FILENAME"/>
<attribute name="FILEEXT" default=""/> <attribute name="FILEEXT" default=""/>
<element name="EXTRA.INC" optional="yes"/> <element name="EXTRA.INC" optional="yes"/>
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
outputfile="${BIN_DIR}/@{FILENAME}.pe32" outputfile="${BIN_DIR}/@{FILENAME}.pe32"
sectiontype="EFI_SECTION_PIC"/> sectiontype="EFI_SECTION_PIC"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -982,13 +1064,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<attribute name="FILEPATH"/> <attribute name="FILEPATH"/>
<attribute name="FILENAME"/> <attribute name="FILENAME"/>
<attribute name="FILEEXT" default=""/> <attribute name="FILEEXT" default=""/>
<element name="EXTRA.INC" optional="yes"/> <element name="EXTRA.INC" optional="yes"/>
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}" <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
outputfile="${BIN_DIR}/@{FILENAME}.pe32" outputfile="${BIN_DIR}/@{FILENAME}.pe32"
sectiontype="EFI_SECTION_PE32"/> sectiontype="EFI_SECTION_PE32"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -1016,8 +1098,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<sequential> <sequential>
<PRE.PROCESS/> <PRE.PROCESS/>
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}" <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec" outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
sectiontype="EFI_SECTION_RAW"/> sectiontype="EFI_SECTION_RAW"/>
<POST.PROCESS/> <POST.PROCESS/>
</sequential> </sequential>
@ -1031,13 +1113,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<attribute name="FILEPATH"/> <attribute name="FILEPATH"/>
<attribute name="FILENAME"/> <attribute name="FILENAME"/>
<attribute name="FILEEXT" default=""/> <attribute name="FILEEXT" default=""/>
<element name="EXTRA.INC" optional="yes"/> <element name="EXTRA.INC" optional="yes"/>
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}" <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
outputfile="${BIN_DIR}/@{FILENAME}.pe32" outputfile="${BIN_DIR}/@{FILENAME}.pe32"
sectiontype="EFI_SECTION_PE32"/> sectiontype="EFI_SECTION_PE32"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -1049,13 +1131,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<attribute name="FILEPATH"/> <attribute name="FILEPATH"/>
<attribute name="FILENAME"/> <attribute name="FILENAME"/>
<attribute name="FILEEXT" default=""/> <attribute name="FILEEXT" default=""/>
<element name="EXTRA.INC" optional="yes"/> <element name="EXTRA.INC" optional="yes"/>
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}" <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
outputfile="${BIN_DIR}/@{FILENAME}.pe32" outputfile="${BIN_DIR}/@{FILENAME}.pe32"
sectiontype="EFI_SECTION_PE32"/> sectiontype="EFI_SECTION_PE32"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -1067,17 +1149,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<attribute name="FILEPATH"/> <attribute name="FILEPATH"/>
<attribute name="FILENAME"/> <attribute name="FILENAME"/>
<attribute name="FILEEXT" default=""/> <attribute name="FILEEXT" default=""/>
<element name="EXTRA.INC" optional="yes"/> <element name="EXTRA.INC" optional="yes"/>
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}" <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
outputfile="${BIN_DIR}/@{FILENAME}.pe32" outputfile="${BIN_DIR}/@{FILENAME}.pe32"
sectiontype="EFI_SECTION_PE32"/> sectiontype="EFI_SECTION_PE32"/>
</sequential> </sequential>
</macrodef> </macrodef>
--> -->
<!-- <!--
EFI_SECTION_FIRMWARE_VOLUME_IMAGE EFI_SECTION_FIRMWARE_VOLUME_IMAGE
@ -1101,14 +1183,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<sequential> <sequential>
<PRE.PROCESS/> <PRE.PROCESS/>
<copy file="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" <copy file="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
overwrite="true"/> overwrite="true"/>
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec" outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
sectiontype="EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/> sectiontype="EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
<POST.PROCESS/> <POST.PROCESS/>
</sequential> </sequential>
</OnDependency> </OnDependency>
@ -1127,7 +1209,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/> tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -1144,8 +1226,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<mkdir dir="${MODULE_DIR}/@{FILEPATH}" /> <mkdir dir="${MODULE_DIR}/@{FILEPATH}" />
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/> tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -1158,8 +1240,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<element name="EXTRA.ARG" optional="yes"/> <element name="EXTRA.ARG" optional="yes"/>
<sequential> <sequential>
<mkdir dir="${MODULE_DIR}/@{FILEPATH}" /> <mkdir dir="${MODULE_DIR}/@{FILEPATH}" />
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
tofile="${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/> tofile="${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>
</sequential> </sequential>
</macrodef> </macrodef>

View File

@ -1,8 +1,8 @@
ASL = "/nologo" ASL = "/nologo"
IA32_CC = "/nologo", "/W3", "/WX", "/GX", "/Gy", "/Gs-", "/c", "/D EFI32", "/D UNICODE" IA32_CC = "/nologo", "/W3", "/WX", "/GX", "/Gy", "/O1i", "/GL", "/Gs-", "/c", "/D EFI32", "/D UNICODE"
IA32_LIB = "/NOLOGO" IA32_LIB = "/NOLOGO"
IA32_LINK = "/NOLOGO", "/SUBSYSTEM:CONSOLE", "/NODEFAULTLIB", "/IGNORE:4086", "/MAP", "/OPT:REF", "/MACHINE:I386", "/ALIGN:32", "/DLL", "/LTCG" 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_ASM = "/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32"
IA32_ASMLINK = IA32_ASMLINK =
IA32_PP = "/P" IA32_PP = "/nologo", "/P", "/TC"

View File

@ -2,18 +2,18 @@ IA32_CC = "/nologo", "/X", "/W4", "/WX", "/GX", "/Gy", "/GS-", "/c", "/D EFI32"
IA32_LIB = "/NOLOGO" IA32_LIB = "/NOLOGO"
IA32_LINK = "/NOLOGO", "/SUBSYSTEM:CONSOLE", "/NODEFAULTLIB", "/IGNORE:4086", "/MAP", "/OPT:REF", "/MACHINE:I386", "/ALIGN:32", "/DLL" 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_ASM = "/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32"
IA32_PP = "/P" IA32_PP = "/nologo", "/P", "/TC"
x64_CC = "/nologo", "/X", "/W4", "/WX", "/Gy", "/c", "/Gs8192", "/GS-", "/D EFIx64" x64_CC = "/nologo", "/X", "/W4", "/WX", "/Gy", "/c", "/Gs8192", "/GS-", "/D EFIx64", "/O1i"
x64_LIB = "/NOLOGO" x64_LIB = "/NOLOGO"
x64_LINK = "/NOLOGO", "/Machine:AMD64", "/ALIGN:32", "/DLL", "/NODEFAULTLIB", "/OPT:REF" x64_LINK = "/NOLOGO", "/Machine:AMD64", "/ALIGN:32", "/DLL", "/NODEFAULTLIB", "/OPT:REF"
x64_ASM = "/nologo", "/W3", "/WX", "/c", "/DEFI32" x64_ASM = "/nologo", "/W3", "/WX", "/c", "/DEFI32"
x64_ASMLINK = x64_ASMLINK =
x64_PP = "/P" x64_PP = "/nologo", "/P", "/TC"
IPF_CC = "/nologo", "/W4", "/WX", "/EHsc", "/Gy", "/c", "/GS-", "/D EFI64" IPF_CC = "/nologo", "/W4", "/WX", "/EHsc", "/Gy", "/c", "/GS-", "/D EFI64", "/O1i"
IPF_PP = "/nologo", "/W4", "/WX", "/EHsc", "/Gy", "/c", "/GS-", "-P", "-C", "/D EFI_MONOSHELL", "/D EFI64" IPF_PP = "/nologo", "/W4", "/WX", "/EHsc", "/Gy", "/c", "/GS-", "-P", "-C", "/D EFI_MONOSHELL", "/D EFI64"
IPF_LIB = "/NOLOGO" IPF_LIB = "/NOLOGO"
IPF_LINK = "/NOLOGO", "/SUBSYSTEM:CONSOLE", "/NODEFAULTLIB", "/IGNORE:4086", "/MAP", "/OPT:REF", "/MACHINE:IA64" 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_ASM = "-N us", "-X explicit", "-M ilp64", "-N so", "-W4"
IPF_PP = "/P" IPF_PP = "/nologo", "/P", "/TC"