<EXTRA.INC/>\r
<argument value="${CC_FLAGS}"/>\r
<EXTRA.ARG/>\r
- <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
<EXTRA.INC/>\r
<argument value="${CC_FLAGS}"/>\r
<EXTRA.ARG/>\r
- <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
</targetfiles>\r
\r
<sequential>\r
-\r
<cc userdefine="on">\r
- <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}">\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}"/>\r
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
\r
- <gendepex inputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.i" outputFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>\r
+ <gendepex inputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" outputFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>\r
</sequential>\r
</OnDependency>\r
</sequential>\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<!-- Dispath ASM file, there are three type. \r
- asm,s - Build_Assembly\r
- S - Build_Ipf_Assembly -->\r
+ asm - Build_Assembly\r
+ S - Build_Gcc_Assembly\r
+ s - Build_Ipf_Assembly -->\r
<sequential>\r
<if>\r
- <or>\r
- <equals arg1="@{FILEEXT}" arg2="asm" />\r
- <equals arg1="@{FILEEXT}" arg2="S" />\r
- </or>\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
</targetfiles>\r
\r
<sequential>\r
- <!--\r
<cc userdefine="on">\r
- <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${CC_FAMILY}">\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
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
\r
replace="\10\2h"\r
flags="g"\r
byline="true"/>\r
- -->\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
<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
+ <fileset casesensitive="on" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
+ </command>\r
+ </cc>\r
+ </sequential>\r
+ </OnDependency>\r
+ </sequential>\r
+ </macrodef>\r
+\r
+ <!--\r
+ Build GCC assembly code\r
+ -->\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.1" optional="yes"/>\r
+ <element name="EXTRA.ARG.1" optional="yes"/>\r
+\r
+ <sequential>\r
+ <var name="FILE_BASENAME" value="@{FILENAME}" />\r
+ <var name="FILE_PATH" value="@{FILEPATH}" />\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
+\r
+ <OnDependency>\r
+ <sourcefiles>\r
+ <file Name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </sourcefiles>\r
+ <targetfiles>\r
+ <file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
+ </targetfiles>\r
+\r
+ <sequential>\r
+ <cc userdefine="on">\r
+ <command type="ASM" 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="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${CC_FAMILY}">\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
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
\r
<EXTRA.INC.1/>\r
<argument value="${ASM_FLAGS}"/>\r
<EXTRA.ARG.1/>\r
- <fileset casesensitive="off" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
+ <fileset casesensitive="on" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>\r
</command>\r
</cc>\r
</sequential>\r
\r
<argument value="${ASM_FLAGS}"/>\r
<EXTRA.ARG/>\r
- <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->\r
<OutputFile File="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
\r
- <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file list="${OBJECTS}"/>\r
+ <fileset casesensitive="on" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
</sourcefiles>\r
<targetfiles>\r
<file name="${BIN_DIR}/@{FILENAME}.lib"/>\r
outputFile="${BIN_DIR}/@{FILENAME}.lib">\r
<argument value="${SLINK_FLAGS}"/>\r
\r
- <fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
+ <fileset casesensitive="on" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
</command>\r
</cc>\r
</sequential>\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">\r
<argument value="${CC_FLAGS}"/>\r
<EXTRA.INC />\r
- <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
+ <fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
</command>\r
</cc>\r
</sequential>\r
\r
<cc userdefine="on">\r
<command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" \r
- includepathDelimiter="-I"\r
+ includepathDelimiter="-I" family="${CC_FAMILY}"\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >\r
<argument value="${CC_FLAGS}"/>\r
<EXTRA.INC/>\r
<EXTRA.ARG/>\r
- <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>\r
+ <fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>\r
</command>\r
</cc>\r
<delete file="${PLATFORM_DIR}/@{FILENAME}.i" />\r
</sequential>\r
</macrodef>\r
\r
+ <!--\r
+ DUMMY\r
+ -->\r
+ <macrodef name="Build_DUMMY">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+\r
+ <sequential>\r
+ <echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </sequential>\r
+ </macrodef>\r
+\r
<!--############################################################################\r
Build Sections\r
#############################################################################-->\r
<var name="FILE_PATH" value="@{FILEPATH}" />\r
<OnDependency>\r
<sourcefiles>\r
- <!--fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj" /-->\r
<file list="${LIBS}"/>\r
+ <fileset casesensitive="on" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
</sourcefiles>\r
<targetfiles>\r
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>\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
+ <fileset casesensitive="on" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
</command>\r
</cc>\r
<cc userdefine="on">\r
</targetfiles>\r
\r
<sequential>\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
<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
</sequential>\r
</macrodef>\r
\r
- <!--\r
- EFI_SECTION_FREEFORM_SUBTYPE_GUID\r
- <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">\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="" \r
- outputfile="" \r
- sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>\r
- </sequential>\r
- </macrodef>\r
- -->\r
-\r
<!--\r
EFI_SECTION_DXE_DEPEX\r
-->\r
</sequential>\r
</macrodef>\r
\r
- <!--\r
- EFI_SECTION_PIC\r
- <macrodef name="EFI_SECTION_PIC">\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}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
- outputfile="${BIN_DIR}/@{FILENAME}.pe32" \r
- sectiontype="EFI_SECTION_PIC"/>\r
- </sequential>\r
- </macrodef>\r
- -->\r
-\r
- <!-- \r
- EFI_SECTION_TE\r
- -->\r
-\r
\r
<!--\r
EFI_SECTION_RAW\r