<import file="UserExtension.xml" optional="true"/>\r
\r
<!--\r
- Macro for intialize some properties. This Macro build will be called before source file build. \r
+ Macro for intialize some properties. This Macro build will be called before source file build.\r
-->\r
<macrodef name="Build_Init">\r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
- \r
+\r
<sequential>\r
<var name="OBJECTS" value="" />\r
<var name="SDB_FILES" value="" />\r
</not>\r
</and>\r
<then>\r
- <makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep" \r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"\r
TargetFile="${DEST_DIR_OUTPUT}/AutoGen.h.gch">\r
<input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
<EXTRA.INC/>\r
</makedeps>\r
- \r
+\r
<OnDependency>\r
<sourcefiles>\r
<file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
<targetfiles>\r
<file Name="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
</targetfiles>\r
- \r
+\r
<sequential>\r
<!-- Generate pre-compiled header -->\r
<cc userdefine="on">\r
<command type="CC" cmd="${PCH}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
- outputFile="${DEST_DIR_OUTPUT}/AutoGen.h.obj" dpath="${CC_DPATH}" libpath="${CC_LIBPATH}" \r
+ outputFile="${DEST_DIR_OUTPUT}/AutoGen.h.obj" dpath="${CC_DPATH}" libpath="${CC_LIBPATH}"\r
include="${CC_INCLUDEPATH}">\r
<EXTRA.INC/>\r
<argument value="${PCH_FLAGS}"/>\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
<sequential>\r
<cc userdefine="on">\r
<command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
- outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}" \r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}"\r
libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}">\r
<EXTRA.INC/>\r
<argument value="${CC_FLAGS}"/>\r
\r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
- \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
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"\r
+ TargetFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.depex">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\r
+\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <!--file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/-->\r
+ <file ListFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
<file name="${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
- \r
+\r
<gendepex inputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" outputFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>\r
</sequential>\r
</OnDependency>\r
</sequential>\r
</macrodef>\r
- \r
+\r
<macrodef name="Build_ASM">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
\r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
- \r
- <!-- Dispath ASM file, there are three type. \r
+\r
+ <!-- Dispath ASM file, there are three type.\r
asm - Build_Assembly\r
S - Build_Gcc_Assembly\r
s - Build_Ipf_Assembly -->\r
</if>\r
</sequential>\r
</macrodef>\r
- \r
+\r
<!--\r
IA32/x64 Assembly\r
-->\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" \r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}"\r
dpath="${PP_DPATH}" libpath="${PP_LIBPATH}" include="${PP_INCLUDEPATH}">\r
<EXTRA.INC.1/>\r
<argument value="${PP_FLAGS}"/>\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${ASM_DPATH}"\r
libpath="${ASM_LIBPATH}" include="${ASM_INCLUDEPATH}">\r
<EXTRA.INC.1/>\r
- \r
+\r
<argument value="${ASM_FLAGS}"/>\r
<EXTRA.ARG.1/>\r
- \r
+\r
<fileset casesensitive="on" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
</command>\r
</cc>\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${ASM_DPATH}"\r
libpath="${ASM_LIBPATH}" include="${ASM_INCLUDEPATH}">\r
<EXTRA.INC.1/>\r
- \r
+\r
<argument value="${ASM_FLAGS}"/>\r
<EXTRA.ARG.1/>\r
- \r
+\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="PP" cmd="${APP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${APP_FAMILY}" \r
+ <command type="PP" cmd="${APP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${APP_FAMILY}"\r
dpath="${APP_DPATH}" libpath="${APP_LIBPATH}" include="${APP_INCLUDEPATH}">\r
<EXTRA.INC.1/>\r
<argument value="${APP_FLAGS}"/>\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
- \r
+\r
<cc userdefine="on">\r
<command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
includepathDelimiter="-I" outputDelimiter="-o" dpath="${ASM_DPATH}"\r
</macrodef>\r
\r
\r
- <!-- \r
+ <!--\r
Assembly the preprocessed IPF assembly code\r
-->\r
<macrodef name="Build_IPF_PP_Code">\r
\r
<sequential>\r
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
- \r
+\r
<cc userdefine="on">\r
<command type="ASM" includepathDelimiter="-I" dpath="${ASM_DPATH}"\r
libpath="${ASM_LIBPATH}" include="${ASM_INCLUDEPATH}">\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
<OutputFile File="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
- \r
+\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
</macrodef>\r
- \r
- \r
+\r
+\r
<!--\r
Library\r
-->\r
<macrodef name="Build_Library">\r
<attribute name="FILENAME" />\r
<attribute name="FILEEXT" default="obj"/>\r
- \r
+\r
<sequential>\r
<var name="FILE_BASENAME" value="@{FILENAME}" />\r
<var name="FILE_PATH" value="." />\r
<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
<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
<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" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
</targetfiles>\r
\r
<sequential>\r
- <!-- if "TOOLCHIAN FAMILY" is "GCC", it should point the ouput file for preprocess compiler --> \r
+ <!-- if "TOOLCHIAN FAMILY" is "GCC", it should point the ouput file for preprocess compiler -->\r
<if>\r
<equals arg1="${CC_FAMILY}" arg2="GCC"/>\r
<then>\r
<cc userdefine="on">\r
- <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" \r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}"\r
dpath="${PP_DPATH}" libpath="${PP_LIBPATH}" include="${PP_INCLUDEPATH}">\r
<argument value="${VFRPP_FLAGS} -o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
- <!-- Output file of the preprocess --> \r
- <EXTRA.INC/> \r
- <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/> \r
+ <!-- Output file of the preprocess -->\r
+ <EXTRA.INC/>\r
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</then>\r
<else>\r
<cc userdefine="on">\r
- <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" \r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}"\r
dpath="${PP_DPATH}" libpath="${PP_LIBPATH}" include="${PP_INCLUDEPATH}">\r
<argument value="${VFRPP_FLAGS}"/>\r
- <!-- Output file of the preprocess --> \r
- <EXTRA.INC/> \r
- <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/> \r
+ <!-- Output file of the preprocess -->\r
+ <EXTRA.INC/>\r
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</else>\r
</if>\r
- \r
+\r
<vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">\r
<EXTRA.INC/>\r
</vfrcompile>\r
- \r
+\r
<cc userdefine="on">\r
- <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" \r
+ <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}"\r
includepathDelimiter="-I" family="${CC_FAMILY}" dpath="${CC_DPATH}"\r
libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}"\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >\r
\r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
- \r
+\r
<sequential>\r
<OnDependency>\r
<sourcefiles>\r
<targetfiles>\r
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.cat"/>\r
</targetfiles>\r
- \r
+\r
<sequential>\r
<exec dir="${DEST_DIR_OUTPUT}" executable="${ASM}" failonerror="true">\r
<arg line="/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>\r
\r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
- \r
+\r
<sequential>\r
<mkdir dir="${DEST_DIR_OUTPUT}"/>\r
\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}" family="${PP_FAMILY}" \r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}" family="${PP_FAMILY}"\r
dpath="${PP_DPATH}" libpath="${PP_LIBPATH}" include="${PP_INCLUDEPATH}">\r
<argument value="${APP_FLAGS}"/>\r
- <EXTRA.INC/> \r
+ <EXTRA.INC/>\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</if>\r
\r
<EFI_SECTION_RAW FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="aml"/>\r
- \r
+\r
</sequential>\r
</OnDependency>\r
</sequential>\r
- </macrodef> \r
+ </macrodef>\r
\r
<!--\r
Build Asl table c file\r
\r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
- \r
+\r
<sequential>\r
<mkdir dir="${DEST_DIR_OUTPUT}"/>\r
\r
\r
<cc userdefine="on">\r
<command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
- outputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath="${CC_DPATH}" \r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath="${CC_DPATH}"\r
libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}">\r
<EXTRA.INC/>\r
<argument value="${CC_FLAGS}"/>\r
</cc>\r
\r
<cc userdefine="on">\r
- <command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}" \r
+ <command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}"\r
outputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.exe" dpath="${DLINK_DPATH}" >\r
<argument value="${SLINK_FLAGS}"/>\r
<fileset casesensitive="on" file="${DEST_DIR_OUTPUT}/@{FILENAME}.obj"/>\r
</command>\r
</cc>\r
- \r
- <genacpitable inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" /> \r
- \r
+\r
+ <genacpitable inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />\r
+\r
<EFI_SECTION_RAW FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="acpi"/>\r
</sequential>\r
</OnDependency>\r
</sequential>\r
- </macrodef> \r
+ </macrodef>\r
<!--\r
Build ACPI Bin File\r
-->\r
\r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
- \r
+\r
<sequential>\r
<mkdir dir="${DEST_DIR_OUTPUT}"/>\r
\r
\r
<sequential>\r
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" tofile="${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />\r
- \r
+\r
<exec executable="attrib">\r
<arg line="-r ${DEST_DIR_OUTPUT}/@{FILENAME}.acpi"/>\r
</exec>\r
</sequential>\r
</OnDependency>\r
</sequential>\r
- </macrodef> \r
- \r
+ </macrodef>\r
+\r
<!--\r
DUMMY - for skipping the source file which should not be built\r
-->\r
</sequential>\r
</macrodef>\r
\r
-<!--############################################################################\r
- Build Sections\r
-#############################################################################-->\r
<!--\r
- DLL\r
+ Generate efi file\r
-->\r
- <macrodef name="GenDll">\r
+ <macrodef name="GenEfi">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
- <attribute name="FILEEXT"/>\r
+ <attribute name="FILEEXT" default="efi"/>\r
\r
<element name="LIB.ARG" optional="yes"/>\r
<element name="LINK.ARG" optional="yes"/>\r
<fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}" />\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>\r
+ <file name="${DEST_DIR_DEBUG}/@{FILENAME}.efi"/>\r
</targetfiles>\r
\r
<sequential>\r
+ <!-- Generate a temporary lib file for object files -->\r
<cc userdefine="on">\r
<command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}" dpath="${SLINK_DPATH}"\r
- outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILENAME}Local.lib"\r
libpath="${SLINKLIBPATH}" include="${SLINK_INCLUDEPATH}">\r
<argument value="${SLINK_FLAGS}"/>\r
\r
<fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\r
</command>\r
</cc>\r
+\r
+ <!-- Link the temporary lib file with dependent libraries -->\r
<cc userdefine="on">\r
<command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}"\r
- outputFile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath="${DLINK_DPATH}" \r
+ outputFile="${DEST_DIR_DEBUG}/@{FILENAME}.dll" dpath="${DLINK_DPATH}"\r
libpath="${DLINK_LIBPATH}" include="${DLINK_INCLUDEPATH}">\r
<argument value="${DLINK_FLAGS}"/>\r
- <libset libs="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>\r
+ <libset libs="${DEST_DIR_OUTPUT}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>\r
<LINK.ARG/>\r
</command>\r
</cc>\r
+\r
+ <!-- Convert the dll file to efi file -->\r
+ <fwimage componentType="${MODULE_TYPE}" outImage="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"\r
+ peImage="${DEST_DIR_DEBUG}/@{FILENAME}.dll" time="0"/>\r
+\r
+ <!-- Copy the efi file to BIN and OUTPUT directory -->\r
+ <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />\r
+ <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" />\r
+ <if>\r
+ <available file="${DEST_DIR_DEBUG}/@{FILENAME}.map" />\r
+ <then>\r
+ <copy file="${DEST_DIR_DEBUG}/@{FILENAME}.map" tofile="${BIN_DIR}/@{FILENAME}.map" />\r
+ </then>\r
+ </if>\r
</sequential>\r
</OnDependency>\r
</sequential>\r
</macrodef>\r
\r
<!--\r
- EFI\r
+ Binary\r
-->\r
- <macrodef name="GenEfi">\r
+ <macrodef name="Build_Binary">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default="dll"/>\r
+ <attribute name="FILEEXT" default="bin"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <OnDependency>\r
- <sourcefiles>\r
- <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
- </sourcefiles>\r
- <targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
- </targetfiles>\r
+ <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+ tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
+ </sequential>\r
+ </macrodef>\r
\r
- <sequential>\r
- <fwimage componentType="${MODULE_TYPE}" outImage="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" \r
- peImage="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time="0"/>\r
- </sequential>\r
- </OnDependency>\r
+ <!--\r
+ Microcode\r
+ -->\r
+ <macrodef name="Build_MICROCODE">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="TXT"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+\r
+ <sequential>\r
+ <mkdir dir="${TARGET_DIR}/Microcode"/>\r
+ <flashmap MCIFile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" MCOFILE="${TARGET_DIR}/Microcode/@{FILENAME}.bin"/>\r
</sequential>\r
</macrodef>\r
\r
-<!--\r
- EFI_SECTION_FREEFORM_SUBTYPE_GUID\r
- EFI_SECTION_VERSION\r
- EFI_SECTION_USER_INTERFACE\r
- EFI_SECTION_DXE_DEPEX\r
- EFI_SECTION_PEI_DEPEX\r
- EFI_SECTION_PE32\r
- EFI_SECTION_PIC\r
- EFI_SECTION_TE\r
- EFI_SECTION_RAW\r
- EFI_SECTION_COMPRESSION\r
- EFI_SECTION_GUID_DEFINED\r
- EFI_SECTION_COMPATIBILITY16\r
- EFI_SECTION_FIRMWARE_VOLUME_IMAGE\r
+ <!--\r
+ Graphics (bmp, ...)\r
+ -->\r
+ <macrodef name="Build_BMP">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="bmp"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+\r
+ <sequential>\r
+ <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+ tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
+ </sequential>\r
+ </macrodef>\r
+\r
+ <!--\r
+ build EFI file\r
-->\r
+ <macrodef name="Build_EFI">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="efi"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+\r
+ <sequential>\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
+\r
<!--\r
- EFI_SECTION_PE32\r
+ Build macro for Apriori\r
+ -->\r
+ <macrodef name="Build_Apriori">\r
+ <attribute name="FILEPATH" default="."/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="apr"/>\r
+ <attribute name="GUID"/>\r
+\r
+ <sequential>\r
+ <mkdir dir="${FV_DIR}/Apriori" />\r
+ <gensection inputfile="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+ outputfile="${FV_DIR}/Apriori/@{FILENAME}.sec"\r
+ sectiontype="EFI_SECTION_RAW"/>\r
+\r
+ <genffsfile BaseName="@{FILENAME}" ffsATTRIBCHECKSUM="TRUE" ffsFILETYPE="EFI_FV_FILETYPE_FREEFORM"\r
+ fileGuid="@{GUID}" moduleType="BASE" outputDir="${FV_DIR}">\r
+ <sectFile fileName="${FV_DIR}/Apriori/@{FILENAME}.sec"/>\r
+ </genffsfile>\r
+\r
+ </sequential>\r
+ </macrodef>\r
+\r
+<!--############################################################################\r
+ Build Sections\r
+#############################################################################-->\r
+ <!--\r
+ EFI_SECTION_TE\r
-->\r
\r
<macrodef name="EFI_SECTION_TE">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default="" />\r
+ <attribute name="FILEEXT" default="efi" />\r
\r
<element name="PRE.PROCESS" optional="yes"/>\r
<element name="POST.PROCESS" optional="yes"/>\r
\r
<sequential>\r
- <PRE.PROCESS/>\r
- <if>\r
- <not>\r
- <equals arg1="${LIBS}" arg2=""/>\r
- </not>\r
-\r
- <then>\r
- <GenDll FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="">\r
- <LIB.ARG></LIB.ARG>\r
- <LINK.ARG></LINK.ARG>\r
- </GenDll>\r
-\r
- <GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/>\r
- </then>\r
- </if>\r
-\r
<OnDependency>\r
<sourcefiles>\r
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
</targetfiles>\r
\r
<sequential>\r
- <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />\r
- <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" /> \r
+ <PRE.PROCESS/>\r
+\r
<genteimage Dump="false" Verbose="false" OutputDir="" OutputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
- <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" \r
- outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.tes" \r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.te"\r
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.tes"\r
sectiontype="EFI_SECTION_TE"/>\r
+\r
<POST.PROCESS/>\r
</sequential>\r
</OnDependency>\r
</sequential>\r
</macrodef>\r
\r
+ <!--\r
+ EFI_SECTION_PE32\r
+ -->\r
<macrodef name="EFI_SECTION_PE32">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default="" />\r
+ <attribute name="FILEEXT" default="efi"/>\r
\r
<element name="PRE.PROCESS" optional="yes"/>\r
<element name="POST.PROCESS" optional="yes"/>\r
\r
<sequential>\r
- <PRE.PROCESS/>\r
- <if>\r
- <not>\r
- <!-- TBD ${OBJECTS} -->\r
- <equals arg1="${LIBS}" arg2=""/>\r
- </not>\r
-\r
- <then>\r
- <GenDll FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="">\r
- <LIB.ARG></LIB.ARG>\r
- <LINK.ARG></LINK.ARG>\r
- </GenDll>\r
-\r
- <GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/>\r
- </then>\r
- </if>\r
- \r
<OnDependency>\r
<sourcefiles>\r
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
</targetfiles>\r
\r
<sequential>\r
- <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />\r
- <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" />\r
- <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" \r
- outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32" \r
+ <PRE.PROCESS/>\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
\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
<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
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
</targetfiles>\r
<sequential>\r
- <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.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
</targetfiles>\r
\r
<sequential>\r
- <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.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
\r
<sequential>\r
<PRE.PROCESS/>\r
- <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
- outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec" \r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"\r
sectiontype="EFI_SECTION_RAW"/>\r
<POST.PROCESS/>\r
</sequential>\r
<PRE.PROCESS/>\r
<secfixup secexefile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" resetvectorDatafile="${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"\r
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.bin"/>\r
- \r
- <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.bin" \r
- outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec" \r
+\r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.bin"\r
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"\r
sectiontype="EFI_SECTION_RAW"/>\r
<POST.PROCESS/>\r
</sequential>\r
</OnDependency>\r
</sequential>\r
</macrodef>\r
- \r
+\r
<!--\r
EFI_SECTION_FIRMWARE_VOLUME_IMAGE\r
-->\r
\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
</sequential>\r
</macrodef>\r
\r
- <!--\r
- Binary\r
- -->\r
- <macrodef name="Build_Binary">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default="bin"/>\r
-\r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
-\r
- <sequential>\r
- <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
- tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
- </sequential>\r
- </macrodef>\r
- \r
- <!--\r
- Microcode\r
- -->\r
- <macrodef name="Build_MICROCODE">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default="TXT"/>\r
-\r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
-\r
- <sequential>\r
- <mkdir dir="${TARGET_DIR}/Microcode"/>\r
- <flashmap MCIFile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" MCOFILE="${TARGET_DIR}/Microcode/@{FILENAME}.bin"/>\r
- </sequential>\r
- </macrodef> \r
-\r
- <!--\r
- Graphics (bmp, ...)\r
- -->\r
- <macrodef name="Build_BMP">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/> \r
- <attribute name="FILEEXT" default="bmp"/>\r
-\r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
-\r
- <sequential>\r
- <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
- tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
- </sequential>\r
- </macrodef> \r
-\r
- <!--\r
- build EFI file\r
- -->\r
- <macrodef name="Build_EFI">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default="efi"/>\r
-\r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
-\r
- <sequential>\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
- \r
- <!-- \r
- Build macro for Apriori\r
- -->\r
- <macrodef name="Build_Apriori">\r
- <attribute name="FILEPATH" default="."/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default="apr"/>\r
- <attribute name="GUID"/>\r
-\r
- <sequential>\r
- <mkdir dir="${FV_DIR}/Apriori" />\r
- <gensection inputfile="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
- outputfile="${FV_DIR}/Apriori/@{FILENAME}.sec" \r
- sectiontype="EFI_SECTION_RAW"/>\r
-\r
- <genffsfile BaseName="@{FILENAME}" ffsATTRIBCHECKSUM="TRUE" ffsFILETYPE="EFI_FV_FILETYPE_FREEFORM" \r
- fileGuid="@{GUID}" moduleType="BASE" outputDir="${FV_DIR}">\r
- <sectFile fileName="${FV_DIR}/Apriori/@{FILENAME}.sec"/>\r
- </genffsfile>\r
- \r
- </sequential>\r
- </macrodef>\r
</project>\r