<!--\r
C Code\r
-->\r
- <macrodef name="Build_C_Code">\r
+ <macrodef name="Build_CCode">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
<attribute name="FILEEXT" default="c"/>\r
-\r
+ \r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
-\r
+ \r
<sequential>\r
- <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="@{FILEPATH}" />\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<if>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
<then>\r
- <makedeps DepsFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep">\r
- <input file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
- <input file="${DEST_DIR_DEBUG}\AutoGen.h"/>\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
<EXTRA.INC/>\r
</makedeps>\r
</then>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file ListFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file Name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
</targetfiles>\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="CC" workdir="${DEST_DIR_OUTPUT}">\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
<EXTRA.INC/>\r
-\r
<argument value="${CC_FLAGS}"/>\r
<EXTRA.ARG/>\r
- <!-- <argument value="/FI${DEST_DIR_DEBUG}\AutoGen.h" /> -->\r
- <includeFile value="${DEST_DIR_DEBUG}\AutoGen.h"/>\r
- <!-- <argument value="/Fo${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> -->\r
- <outputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
-\r
- <fileset casesensitive="off" file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
</OnDependency>\r
-\r
- <!--\r
- for library generation later\r
- -->\r
- <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> \r
</sequential>\r
</macrodef>\r
\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="@{FILEPATH}" />\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<if>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
<then>\r
- <makedeps DepsFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep">\r
- <input file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
- <input file="${DEST_DIR_DEBUG}\AutoGen.h"/>\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
+ <input file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
<EXTRA.INC/>\r
</makedeps>\r
</then>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file ListFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file Name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
</targetfiles>\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="CC" workdir="${DEST_DIR_OUTPUT}">\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
<EXTRA.INC/>\r
- \r
<argument value="${CC_FLAGS}"/>\r
<EXTRA.ARG/>\r
- <!-- <argument value="/FI${DEST_DIR_DEBUG}\AutoGen.h" /> -->\r
- <includeFile value="${DEST_DIR_DEBUG}\AutoGen.h"/>\r
- <!-- <argument value="/Fo${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> -->\r
- <outputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
- \r
- <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
</OnDependency>\r
- <!--\r
- for library generation later\r
- -->\r
- <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> \r
</sequential>\r
</macrodef>\r
\r
- <macrodef name="Build_Dependency_File">\r
+ <macrodef name="Build_DPX">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
<attribute name="FILEEXT" default="dxs"/>\r
\r
<element name="EXTRA.INC" optional="yes"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
+ \r
\r
<sequential>\r
- <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="@{FILEPATH}" />\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\${BASE_NAME}.@{FILEEXT}.depex"/>\r
+ <file name="${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>\r
</targetfiles>\r
\r
<sequential>\r
- <copy file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}" \r
- tofile="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c"/>\r
-\r
<cc userdefine="on">\r
- <command type="CC" workdir=".">\r
- <includepath path="${DEST_DIR_DEBUG}" /> \r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${CC_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">\r
<EXTRA.INC/>\r
<argument value="${PP_FLAGS}"/>\r
- <fileset casesensitive="off" file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c"/>\r
- <outputFile value="@{FILENAME}.@{FILEEXT}.i"/>\r
+ <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
\r
- <gendepex inputFile="@{FILENAME}.@{FILEEXT}.i" outputFile="${DEST_DIR_OUTPUT}\${BASE_NAME}.@{FILEEXT}.depex"/>\r
- <delete file="@{FILENAME}.@{FILEEXT}.i" />\r
- <delete file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c" /> \r
+ <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
-<!-- Usage Example\r
- <Build_C_Code\r
- FILEPATH="."\r
- FILENAME="${SOURCE_NAME}"\r
- FILEEXT="c">\r
- <EXTRA.INC>\r
- <includepath path="${PACKAGE_DIR}\Include"/>\r
- <includepath path="${PACKAGE_DIR}\Include\${ARCH}"/>\r
- </EXTRA.INC>\r
-\r
- <EXTRA.ARG>\r
- <argument value="/D EFI_DEBUG /D EFI_WHATEVER_FLAG"/>\r
- </EXTRA.ARG>\r
- </Build_C_Code>\r
- -->\r
+ <macrodef name="Build_ASM">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="asm"/>\r
\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+ \r
+ <!-- Dispath ASM file, there are three type. \r
+ asm - Build_Assembly\r
+ S - Build_Gcc_Assembly\r
+ s - Build_Ipf_Assembly -->\r
+ <sequential>\r
+ <if>\r
+ <equals arg1="@{FILEEXT}" arg2="asm" />\r
+ <then>\r
+ <Build_Assembly FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">\r
+ <EXTRA.INC.1><EXTRA.INC /></EXTRA.INC.1>\r
+ <EXTRA.ARG.1><EXTRA.ARG /></EXTRA.ARG.1>\r
+ </Build_Assembly>\r
+ </then>\r
+ <elseif>\r
+ <equals arg1="@{FILEEXT}" arg2="S" />\r
+ <then>\r
+ <Build_Gcc_Assembly FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">\r
+ <EXTRA.INC.1><EXTRA.INC /></EXTRA.INC.1>\r
+ <EXTRA.ARG.1><EXTRA.ARG /></EXTRA.ARG.1>\r
+ </Build_Gcc_Assembly>\r
+ </then>\r
+ </elseif>\r
+ <elseif>\r
+ <equals arg1="@{FILEEXT}" arg2="s" />\r
+ <then>\r
+ <Build_IPF_Assembly_Code FILEPATH="@{FILEPATH}" FILENAME="@{FILENAME}" FILEEXT="@{FILEEXT}">\r
+ <EXTRA.INC.1><EXTRA.INC /></EXTRA.INC.1>\r
+ <EXTRA.ARG.1><EXTRA.ARG /></EXTRA.ARG.1>\r
+ </Build_IPF_Assembly_Code>\r
+ </then>\r
+ </elseif>\r
+ </if>\r
+ </sequential>\r
+ </macrodef>\r
+ \r
<!--\r
IA32/x64 Assembly\r
-->\r
<attribute name="FILENAME"/>\r
<attribute name="FILEEXT" default="asm"/>\r
\r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
+ <element name="EXTRA.INC.1" optional="yes"/>\r
+ <element name="EXTRA.ARG.1" optional="yes"/>\r
\r
<sequential>\r
- <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="@{FILEPATH}" />\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file Name="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <file Name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file Name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
</targetfiles>\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="ASM">\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
- <EXTRA.INC/>\r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}">\r
+ <EXTRA.INC.1/>\r
+ <argument value="${PP_FLAGS}"/>\r
+ <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </command>\r
+ </cc>\r
+\r
+ <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"\r
+ match="^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"\r
+ replace=";"\r
+ flags="gs"/>\r
+ <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"\r
+ match="^(#line .*)$"\r
+ replace="; \1"\r
+ byline="true"/>\r
+ <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"\r
+ match="([^_a-zA-Z])0x([0-9a-fA-F]+)"\r
+ replace="\10\2h"\r
+ flags="g"\r
+ byline="true"/>\r
+\r
+ <cc userdefine="on">\r
+ <command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <EXTRA.INC.1/>\r
\r
<argument value="${ASM_FLAGS}"/>\r
- <EXTRA.ARG/>\r
- <argument value="/Fl${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.lst"/>\r
- <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <EXTRA.ARG.1/>\r
\r
- <fileset casesensitive="off" file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <!-- fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/ -->\r
+ <fileset casesensitive="off" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
</command>\r
</cc>\r
</sequential>\r
</OnDependency>\r
- <!--\r
- for library generation later\r
- -->\r
- <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
</sequential>\r
</macrodef>\r
\r
<!--\r
- Library private HashMap map = new HashMap();\r
+ Build GCC assembly code\r
-->\r
- <macrodef name="Build_Library">\r
- <attribute name="FILENAME" />\r
- <attribute name="FILEEXT" default="obj"/>\r
+ <macrodef name="Build_Gcc_Assembly">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="asm"/>\r
\r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
+ <element name="EXTRA.INC.1" optional="yes"/>\r
+ <element name="EXTRA.ARG.1" optional="yes"/>\r
\r
<sequential>\r
- <mkdir dir="${BIN_DIR}"/>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="@{FILEPATH}" />\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file list="${OBJECTS}"/>\r
+ <file Name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${BIN_DIR}\@{FILENAME}.lib"/>\r
+ <file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
</targetfiles>\r
\r
<sequential>\r
- <!-- <echo>re-generate library</echo> -->\r
<cc userdefine="on">\r
- <command type="LIB">\r
- <argument value="${LIB_FLAGS}"/>\r
- <!--<argument value="${OBJECTS}"/>-->\r
- <FileList dir="" files="${OBJECTS}"/>\r
- <!-- <argument value="/out:${BIN_DIR}\@{FILENAME}.lib"/> -->\r
- <OutputFile value="${BIN_DIR}\@{FILENAME}.lib"/>\r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}"\r
+ outputDelimiter="-o"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">\r
+ <EXTRA.INC.1/>\r
+ <argument value="${PP_FLAGS}"/>\r
+ <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </command>\r
+ </cc>\r
+\r
+ <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"\r
+ match="^(#[^ ]* +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"\r
+ replace="#"\r
+ flags="gs"/>\r
+ <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"\r
+ match="^(#[^ ]* .*)$"\r
+ replace="# \1"\r
+ byline="true"/>\r
+\r
+ <cc userdefine="on">\r
+ <command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <EXTRA.INC.1/>\r
+ \r
+ <argument value="${ASM_FLAGS}"/>\r
+ <EXTRA.ARG.1/>\r
+ \r
+ <!-- fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/ -->\r
+ <fileset casesensitive="off" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
</command>\r
</cc>\r
</sequential>\r
<attribute name="FILENAME"/>\r
<attribute name="FILEEXT" default="s"/>\r
\r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
+ <element name="EXTRA.INC.1" optional="yes"/>\r
+ <element name="EXTRA.ARG.1" optional="yes"/>\r
\r
<sequential>\r
- <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<if>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
<then>\r
- <makedeps DepsFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep">\r
- <input file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
- <EXTRA.INC/>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC.1/>\r
</makedeps>\r
</then>\r
</if>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file listfile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
</targetfiles>\r
\r
<sequential>\r
- <copy file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}" \r
- tofile="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c"/>\r
<cc userdefine="on">\r
- <command type="CC" workdir="."> \r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
- <EXTRA.INC/>\r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}">\r
+ <EXTRA.INC.1/>\r
<argument value="${PP_FLAGS}"/>\r
- <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.c"/>\r
+ <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
- <move file="@{FILENAME}.@{FILEEXT}.i" \r
- tofile="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pro"/>\r
\r
<cc userdefine="on">\r
- <command type="ASM" includepathDelimiter="-I">\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
- <EXTRA.INC/>\r
- \r
+ <command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
+ includepathDelimiter="-I" outputDelimiter="-o"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <EXTRA.INC.1/>\r
<argument value="${ASM_FLAGS}"/>\r
- <EXTRA.ARG/>\r
- <!-- <argument value="-o ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> -->\r
- <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
- \r
- <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pro"/>\r
+ <EXTRA.ARG.1/>\r
+ <fileset casesensitive="off" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
</command>\r
</cc>\r
</sequential>\r
</OnDependency>\r
- <!--\r
- for library generation later\r
- -->\r
- <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
</sequential>\r
</macrodef>\r
\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<cc userdefine="on">\r
<command type="ASM" includepathDelimiter="-I">\r
<includepath path="${WORKSPACE_DIR}"/>\r
<includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <includepath path="${MODULE_DIR}/${ARCH}"/>\r
<EXTRA.INC/>\r
\r
<argument value="${ASM_FLAGS}"/>\r
<EXTRA.ARG/>\r
- <!-- <argument value="-o ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/> -->\r
- <OutputFile File="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->\r
+ <OutputFile File="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
\r
- <fileset casesensitive="off" file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
- \r
- <!--\r
- for library generation later\r
- -->\r
- <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
</sequential>\r
</macrodef>\r
\r
- <!--\r
- [Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]\r
- [Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]\r
+ \r
+ <!--\r
+ Library private HashMap map = new HashMap();\r
-->\r
- <macrodef name="Build_Custom_Build">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default="c"/>\r
+ <macrodef name="Build_Library">\r
+ <attribute name="FILENAME" />\r
+ <attribute name="FILEEXT" default="obj"/>\r
+ \r
+ <sequential>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="." />\r
+ <mkdir dir="${BIN_DIR}"/>\r
\r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
+ <OnDependency>\r
+ <sourcefiles>\r
+ <file list="${OBJECTS}"/>\r
+ </sourcefiles>\r
+ <targetfiles>\r
+ <file name="${BIN_DIR}/@{FILENAME}.lib"/>\r
+ </targetfiles>\r
\r
- <sequential>\r
+ <sequential>\r
+ <cc userdefine="on">\r
+ <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}"\r
+ outputFile="${BIN_DIR}/@{FILENAME}.lib">\r
+ <argument value="${SLINK_FLAGS}"/>\r
\r
+ <fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
+ </command>\r
+ </cc>\r
+ </sequential>\r
+ </OnDependency>\r
</sequential>\r
</macrodef>\r
\r
<!--\r
Unicode -> .sdb\r
-->\r
- <macrodef name="Build_Unicode">\r
+ <macrodef name="Build_UNI">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
<attribute name="FILEEXT" default="uni"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <mkdir dir="${DEST_DIR_OUTPUT}\@{FILEPATH}"/>\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
</targetfiles>\r
\r
<sequential>\r
<strgather commandtype="parse" newdatabase="true">\r
- <database name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <database name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
<EXTRA.INC/>\r
<EXTRA.ARG/>\r
- <inputfile name="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <inputfile name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</strgather>\r
</sequential>\r
</OnDependency>\r
\r
- <bl name="SDB_FILES" value="${SDB_FILES}, ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>\r
+ <var name="SDB_FILES" value="${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
</sequential>\r
</macrodef>\r
\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="@{FILEPATH}" />\r
<OnDependency>\r
<sourcefiles>\r
<file list="${SDB_FILES}"/>\r
<file list="${SOURCE_FILES}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
</targetfiles>\r
\r
<sequential>\r
- <strgather commandtype="scan" outputdatabase="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb" verbose="read">\r
+ <strgather commandtype="scan" outputdatabase="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose="read">\r
<skipext name=".uni"/>\r
<skipext name=".h"/>\r
<database list="${SDB_FILES}"/>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}StrDefs.h"/>\r
- <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.hpk"/>\r
- <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.c"/>\r
+ <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>\r
+ <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>\r
+ <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
</targetfiles>\r
\r
<sequential>\r
<strgather basename="@{FILENAME}Strings" commandtype="dump"\r
- outputdefines="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}StrDefs.h"\r
- outputhpk="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.hpk"\r
- outputstring="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.c">\r
- <database name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.sdb"/>\r
+ outputdefines="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"\r
+ outputhpk="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"\r
+ outputstring="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">\r
+ <database name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>\r
</strgather>\r
</sequential>\r
</OnDependency>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.c"/>\r
+ <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Strings.obj"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>\r
</targetfiles>\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
-\r
+ <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
+ includepathDelimiter="-I"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">\r
<argument value="${CC_FLAGS}"/>\r
- <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Strings.obj"/>\r
-\r
- <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}Strings.c"/>\r
+ <EXTRA.INC />\r
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
</command>\r
</cc>\r
</sequential>\r
</OnDependency>\r
\r
- <bl name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Strings.obj"/>\r
</sequential>\r
</macrodef>\r
\r
<!--\r
Vfr\r
-->\r
- <macrodef name="Build_Vfr">\r
+ <macrodef name="Build_VFR">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
<attribute name="FILEEXT" default="vfr"/>\r
<mkdir dir="${DEST_DIR_DEBUG}/@{FILEPATH}"/>\r
\r
<if>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
<then>\r
- <makedeps DepsFile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep">\r
- <input file="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
- <!-- <input file="${DEST_DIR_DEBUG}\AutoGen.h"/> -->\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
<EXTRA.INC/>\r
</makedeps>\r
</then>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file listfile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
</targetfiles>\r
\r
<sequential>\r
- <vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}\@{FILEPATH}" vfrFile="${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}">\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">\r
<EXTRA.INC/>\r
</vfrcompile>\r
\r
<cc userdefine="on">\r
- <command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">\r
- <includepath path="${WORKSPACE_DIR}"/>\r
- <includepath path="${MODULE_DIR}"/>\r
- <includepath path="${MODULE_DIR}\${ARCH}"/>\r
+ <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" \r
+ includepathDelimiter="-I" family="${CC_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >\r
<argument value="${CC_FLAGS}"/>\r
- <OutputFile value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
+ <EXTRA.INC/>\r
<EXTRA.ARG/>\r
- \r
- <fileset casesensitive="off" file="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.c"/>\r
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>\r
</command>\r
</cc>\r
- \r
- <delete file="@{FILENAME}.i"/>\r
+ <delete file="${PLATFORM_DIR}/@{FILENAME}.i" />\r
</sequential>\r
</OnDependency>\r
- <bl name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.obj"/>\r
</sequential>\r
</macrodef>\r
\r
<element name="LINK.ARG" optional="yes"/>\r
\r
<sequential>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="@{FILEPATH}" />\r
<OnDependency>\r
<sourcefiles>\r
- <file list="${OBJECTS}"/>\r
+ <!--fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj" /-->\r
<file list="${LIBS}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.dll"/>\r
+ <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>\r
</targetfiles>\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="LINK">\r
- <argument value="${LINK_FLAGS}"/>\r
+ <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">\r
+ <argument value="${SLINK_FLAGS}"/>\r
+\r
+ <fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
+ </command>\r
+ </cc>\r
+ <cc userdefine="on">\r
+ <command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}"\r
+ outputFile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" >\r
+ <argument value="${DLINK_FLAGS}"/>\r
<libset libs="${LIBS}"/>\r
+ <libset libs="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>\r
+ <libset libs="${DLINK_SPATH}" />\r
<LINK.ARG/>\r
- <EntryPoint value="_ModuleEntryPoint"/>\r
- <map value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.map"/>\r
- <pdb value="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pdb"/>\r
- <OutputFile value="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.dll"/>\r
- <FileList dir="" files="${OBJECTS}"/>\r
</command>\r
</cc>\r
</sequential>\r
<sequential>\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.efi"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
</targetfiles>\r
\r
<sequential>\r
- <fwimage componenttype="${COMPONENT_TYPE}" outImage="${DEST_DIR_OUTPUT}\@{FILENAME}.efi" \r
- peImage="${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}" time="0"/>\r
+ <!-- -->\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
</sequential>\r
<!--\r
EFI_SECTION_PE32\r
-->\r
- <macrodef name="EFI_SECTION_PE32">\r
+\r
+ <macrodef name="EFI_SECTION_TE">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
<attribute name="FILEEXT" default="" />\r
\r
<sequential>\r
<PRE.PROCESS/>\r
-\r
<if>\r
<not>\r
- <equals arg1="${OBJECTS}" arg2=""/>\r
+ <equals arg1="${LIBS}" arg2=""/>\r
</not>\r
\r
<then>\r
<LIB.ARG></LIB.ARG>\r
<LINK.ARG></LINK.ARG>\r
</GenDll>\r
- \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
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.pe32"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>\r
</targetfiles>\r
\r
<sequential>\r
- <copy file="${DEST_DIR_OUTPUT}\@{FILENAME}.efi" tofile="${BIN_DIR}\@{FILENAME}.efi" />\r
- <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.efi" \r
- outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.pe32" \r
+ <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
+ <genteimage Dump="false" Verbose="false" OutputDir="" OutputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>\r
+ <!-- \r
+ <exec executable="${GENTEIMAGE}">\r
+ <arg line="-o ${DEST_DIR_OUTPUT}/@{FILENAME}.te ${DEST_DIR_OUTPUT}/@{FILENAME}.efi" />\r
+ </exec>\r
+ -->\r
+ <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.te" tofile="${BIN_DIR}/@{FILENAME}.te" />\r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.te" \r
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.tes" \r
+ sectiontype="EFI_SECTION_TE"/>\r
+ <POST.PROCESS/>\r
+ </sequential>\r
+ </OnDependency>\r
+ </sequential>\r
+ </macrodef>\r
+\r
+ <macrodef name="EFI_SECTION_PE32">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="" />\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
+ </sourcefiles>\r
+ <targetfiles>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>\r
+ </targetfiles>\r
+\r
+ <sequential>\r
+ <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />\r
+ \r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" \r
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32" \r
sectiontype="EFI_SECTION_PE32"/>\r
\r
<POST.PROCESS/>\r
</sequential>\r
</OnDependency>\r
+ <copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${DEST_DIR_DEBUG}/@{FILENAME}.efi" />\r
</sequential>\r
</macrodef>\r
\r
<sequential>\r
<if>\r
<not>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ver"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>\r
</not>\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
<sequential>\r
<if>\r
<not>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ui"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>\r
</not>\r
\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
<PRE.PROCESS/>\r
\r
<if>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>\r
<then>\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
</targetfiles>\r
<sequential>\r
- <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex" \r
- outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx" \r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.depex" \r
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx" \r
sectiontype="EFI_SECTION_DXE_DEPEX"/>\r
</sequential>\r
</OnDependency>\r
<else>\r
<if>\r
<not>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
</not>\r
<then>\r
- <touch file="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>\r
+ <touch file="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
</then>\r
</if>\r
</else>\r
<sequential>\r
<PRE.PROCESS/>\r
<if>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>\r
<then>\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
</targetfiles>\r
\r
<sequential>\r
- <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex" \r
- outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx" \r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.depex" \r
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx" \r
sectiontype="EFI_SECTION_PEI_DEPEX"/>\r
</sequential>\r
</OnDependency>\r
<else>\r
<if>\r
<not>\r
- <available type="file" file="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
</not>\r
<then>\r
- <touch file="${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>\r
+ <touch file="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>\r
</then>\r
</if>\r
</else>\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <gensection inputfile="${BIN_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}" \r
- outputfile="${BIN_DIR}\@{FILENAME}.pe32" \r
+ <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
+ outputfile="${BIN_DIR}/@{FILENAME}.pe32" \r
sectiontype="EFI_SECTION_PIC"/>\r
</sequential>\r
</macrodef>\r
-->\r
\r
- <!--\r
+ <!-- \r
EFI_SECTION_TE\r
- <macrodef name="EFI_SECTION_TE">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default=""/>\r
- \r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
- \r
- <sequential>\r
- <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}" \r
- outputfile="${BIN_DIR}\@{FILENAME}.pe32" \r
- sectiontype="EFI_SECTION_PE32"/>\r
- </sequential>\r
- </macrodef>\r
- -->\r
+ -->\r
+\r
\r
<!--\r
EFI_SECTION_RAW\r
<sequential>\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILENAME}.sec"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>\r
</targetfiles>\r
\r
<sequential>\r
<PRE.PROCESS/>\r
- <gensection inputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}" \r
- outputfile="${DEST_DIR_OUTPUT}\@{FILENAME}.sec" \r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}" \r
+ outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec" \r
sectiontype="EFI_SECTION_RAW"/>\r
<POST.PROCESS/>\r
</sequential>\r
</sequential>\r
</macrodef>\r
\r
- <!--\r
- EFI_SECTION_COMPRESSION\r
- <macrodef name="EFI_SECTION_COMPRESSION">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default=""/>\r
- \r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
- \r
- <sequential>\r
- <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}" \r
- outputfile="${BIN_DIR}\@{FILENAME}.pe32" \r
- sectiontype="EFI_SECTION_PE32"/>\r
- </sequential>\r
- </macrodef>\r
- -->\r
-\r
- <!--\r
- EFI_SECTION_GUID_DEFINED\r
- <macrodef name="EFI_SECTION_GUID_DEFINED">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default=""/>\r
- \r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
- \r
- <sequential>\r
- <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}" \r
- outputfile="${BIN_DIR}\@{FILENAME}.pe32" \r
- sectiontype="EFI_SECTION_PE32"/>\r
- </sequential>\r
- </macrodef>\r
- -->\r
-\r
- <!--\r
- EFI_SECTION_COMPATIBILITY16\r
- <macrodef name="EFI_SECTION_COMPATIBILITY16">\r
- <attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
- <attribute name="FILEEXT" default=""/>\r
- \r
- <element name="EXTRA.INC" optional="yes"/>\r
- <element name="EXTRA.ARG" optional="yes"/>\r
- \r
- <sequential>\r
- <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}" \r
- outputfile="${BIN_DIR}\@{FILENAME}.pe32" \r
- sectiontype="EFI_SECTION_PE32"/>\r
- </sequential>\r
- </macrodef>\r
- \r
- -->\r
<!--\r
EFI_SECTION_FIRMWARE_VOLUME_IMAGE\r
-->\r
<sequential>\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${FV_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>\r
+ <file name="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</sourcefiles>\r
<targetfiles>\r
- <file name="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}fv.sec"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>\r
</targetfiles>\r
\r
<sequential>\r
<PRE.PROCESS/>\r
\r
- <copy file="${FV_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}" \r
- tofile="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}" \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
<POST.PROCESS/>\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
+ <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
+ tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
</sequential>\r
</macrodef>\r
\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}\@{FILEPATH}\@{FILENAME}.bin"/>\r
+ <mkdir dir="${MODULE_DIR}/@{FILEPATH}" /> \r
+ <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
+ tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
</sequential>\r
- </macrodef>\r
+ </macrodef> \r
<macrodef name="Build_EFI">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
<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
+ <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
</project>\r