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
<sequential>\r
<var name="OBJECTS" value="" />\r
<var name="SDB_FILES" value="" />\r
+\r
+ <if>\r
+ <and>\r
+ <isset property="PCH"/>\r
+ <not>\r
+ <equals arg1="${PCH}" arg2=""/>\r
+ </not>\r
+ </and>\r
+ <then>\r
+ <if>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
+ <then>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep">\r
+ <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\r
+ </then>\r
+ </if>\r
+ \r
+ <OnDependency>\r
+ <sourcefiles>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
+ </sourcefiles>\r
+ <targetfiles>\r
+ <file Name="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
+ </targetfiles>\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">\r
+ <EXTRA.INC/>\r
+ <argument value="${PCH_FLAGS}"/>\r
+ <EXTRA.ARG/>\r
+ <fileset casesensitive="on" file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
+ </command>\r
+ </cc>\r
+\r
+ <if>\r
+ <equals arg1="${CC_FAMILY}" arg2="GCC"/>\r
+ <then>\r
+ <move file="${DEST_DIR_OUTPUT}/AutoGen.h.obj" tofile="${DEST_DIR_DEBUG}/AutoGen.h.gch" overwrite="true"/>\r
+ </then>\r
+ </if>\r
+ </sequential>\r
+ </OnDependency>\r
+\r
+ <if>\r
+ <not>\r
+ <equals arg1="${CC_FAMILY}" arg2="GCC"/>\r
+ </not>\r
+ <then>\r
+ <var name="OBJECTS" value="${OBJECTS} AutoGen.h.obj"/>\r
+ </then>\r
+ </if>\r
+ </then>\r
+ </if>\r
</sequential>\r
</macrodef>\r
\r
</targetfiles>\r
\r
<sequential>\r
- <!-- Use pre-compiled header if available -->\r
- <if>\r
- <and>\r
- <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
- <available file="${DEST_DIR_DEBUG}/AutoGen.pch"/>\r
- </and>\r
- <then>\r
- <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.pch"/>\r
- </then>\r
- <else>\r
- <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>\r
- </else>\r
- </if>\r
-\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">\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}">\r
<EXTRA.INC/>\r
- <argument value="${LOCAL_CC_FLAGS}"/>\r
+ <argument value="${CC_FLAGS}"/>\r
<EXTRA.ARG/>\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</targetfiles>\r
\r
<sequential>\r
- <!-- Generate pre-compiled header -->\r
- <if>\r
- <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
- <then>\r
- <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yc${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.pch"/>\r
- </then>\r
- <else>\r
- <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>\r
- </else>\r
- </if>\r
-\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">\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${CC_DPATH}">\r
<EXTRA.INC/>\r
- <argument value="${LOCAL_CC_FLAGS}"/>\r
+ <argument value="${CC_FLAGS}"/>\r
<EXTRA.ARG/>\r
<fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
<sequential>\r
<cc userdefine="on">\r
<command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${CC_FAMILY}"\r
- outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath="${CC_DPATH}">\r
<EXTRA.INC/>\r
<argument value="${PP_FLAGS}"/>\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\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}" dpath="${PP_DPATH}">\r
<EXTRA.INC.1/>\r
<argument value="${PP_FLAGS}"/>\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\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
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${ASM_DPATH}">\r
<EXTRA.INC.1/>\r
\r
<argument value="${ASM_FLAGS}"/>\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
+ outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath="${ASM_DPATH}">\r
<EXTRA.INC.1/>\r
\r
<argument value="${ASM_FLAGS}"/>\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
<EXTRA.INC.1/>\r
</makedeps>\r
</then>\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}" dpath="${PP_DPATH}">\r
<EXTRA.INC.1/>\r
<argument value="${PP_FLAGS}"/>\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
\r
<cc userdefine="on">\r
<command type="ASM" cmd="${ASM}" workdir="${DEST_DIR_OUTPUT}" family="${ASM_FAMILY}"\r
- includepathDelimiter="-I" outputDelimiter="-o"\r
+ includepathDelimiter="-I" outputDelimiter="-o" dpath="${ASM_DPATH}"\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
<EXTRA.INC.1/>\r
<argument value="${ASM_FLAGS}"/>\r
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
<cc userdefine="on">\r
- <command type="ASM" includepathDelimiter="-I">\r
+ <command type="ASM" includepathDelimiter="-I" dpath="${ASM_DPATH}">\r
<includepath path="${WORKSPACE_DIR}"/>\r
<includepath path="${MODULE_DIR}"/>\r
<includepath path="${MODULE_DIR}/${ARCH}"/>\r
<sequential>\r
<cc userdefine="on">\r
<command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}"\r
- outputFile="${BIN_DIR}/@{FILENAME}.lib">\r
+ outputFile="${BIN_DIR}/@{FILENAME}.lib" dpath="${SLINK_DPATH}">\r
<argument value="${SLINK_FLAGS}"/>\r
\r
<fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\r
</targetfiles>\r
\r
<sequential>\r
- <!-- Use pre-compiled header if available -->\r
- <if>\r
- <and>\r
- <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
- <available file="${DEST_DIR_DEBUG}/AutoGen.pch"/>\r
- </and>\r
- <then>\r
- <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yc${DEST_DIR_DEBUG}/AutoGen.h /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.pch"/>\r
- </then>\r
- <else>\r
- <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>\r
- </else>\r
- </if>\r
-\r
<cc userdefine="on">\r
<command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
- includepathDelimiter="-I"\r
+ includepathDelimiter="-I" dpath="${CC_DPATH}"\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">\r
- <argument value="${LOCAL_CC_FLAGS}"/>\r
+ <argument value="${CC_FLAGS}"/>\r
<EXTRA.INC />\r
<fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
</command>\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
<EXTRA.INC/>\r
</makedeps>\r
</then>\r
<EXTRA.INC/>\r
</vfrcompile>\r
\r
- <!-- Use pre-compiled header if available -->\r
- <if>\r
- <and>\r
- <equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>\r
- <available file="${DEST_DIR_DEBUG}/AutoGen.pch"/>\r
- </and>\r
- <then>\r
- <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.pch"/>\r
- </then>\r
- <else>\r
- <var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>\r
- </else>\r
- </if>\r
-\r
<cc userdefine="on">\r
<command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" \r
- includepathDelimiter="-I" family="${CC_FAMILY}"\r
+ includepathDelimiter="-I" family="${CC_FAMILY}" dpath="${CC_DPATH}"\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >\r
- <argument value="${LOCAL_CC_FLAGS}"/>\r
+ <argument value="${CC_FLAGS}"/>\r
<EXTRA.INC/>\r
<EXTRA.ARG/>\r
<fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" />\r
</sequential>\r
</macrodef>\r
\r
\r
<sequential>\r
<cc userdefine="on">\r
- <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}"\r
+ <command type="SLINK" cmd="${SLINK}" family="${SLINK_FAMILY}" dpath="${SLINK_DPATH}"\r
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">\r
<argument value="${SLINK_FLAGS}"/>\r
\r
</cc>\r
<cc userdefine="on">\r
<command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}"\r
- outputFile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" >\r
+ outputFile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath="${DLINK_DPATH}" >\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
+ <libset libs="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>\r
<LINK.ARG/>\r
</command>\r
</cc>\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
- <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
\r
<sequential>\r
<copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />\r
- \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
sectiontype="EFI_SECTION_PE32"/>\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