-<?xml version="1.0" encoding="UTF-8"?>\r
+<?xml version="1.0" encoding="UTF-8"?>\r
<!--\r
Copyright (c) 2006, Intel Corporation\r
All rights reserved. This program and the accompanying materials\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
<EXTRA.INC/>\r
- <argument value="${CC_FLAGS}"/>\r
+ <argument value="${LOCAL_CC_FLAGS}"/>\r
<EXTRA.ARG/>\r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
</OnDependency>\r
- <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
+ <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->\r
+ <if>\r
+ <equals arg1="@{FILEPATH}" arg2="." />\r
+ <then>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILENAME}.obj" />\r
+ </then>\r
+ <else>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />\r
+ </else>\r
+ </if>\r
</sequential>\r
</macrodef>\r
\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
<EXTRA.INC/>\r
- <argument value="${CC_FLAGS}"/>\r
+ <argument value="${LOCAL_CC_FLAGS}"/>\r
<EXTRA.ARG/>\r
<fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</command>\r
</cc>\r
</sequential>\r
</OnDependency>\r
- <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
+ <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->\r
+ <if>\r
+ <equals arg1="@{FILEPATH}" arg2="." />\r
+ <then>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILENAME}.obj" />\r
+ </then>\r
+ <else>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />\r
+ </else>\r
+ </if>\r
</sequential>\r
</macrodef>\r
\r
</cc>\r
</sequential>\r
</OnDependency>\r
- <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
+ <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->\r
+ <if>\r
+ <equals arg1="@{FILEPATH}" arg2="." />\r
+ <then>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILENAME}.obj" />\r
+ </then>\r
+ <else>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />\r
+ </else>\r
+ </if>\r
</sequential>\r
</macrodef>\r
\r
</cc>\r
</sequential>\r
</OnDependency>\r
- <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
+ <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->\r
+ <if>\r
+ <equals arg1="@{FILEPATH}" arg2="." />\r
+ <then>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILENAME}.obj" />\r
+ </then>\r
+ <else>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />\r
+ </else>\r
+ </if>\r
</sequential>\r
</macrodef>\r
\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
</cc>\r
</sequential>\r
</OnDependency>\r
- <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
+ <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->\r
+ <if>\r
+ <equals arg1="@{FILEPATH}" arg2="." />\r
+ <then>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILENAME}.obj" />\r
+ </then>\r
+ <else>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />\r
+ </else>\r
+ </if>\r
</sequential>\r
</macrodef>\r
\r
\r
<OnDependency>\r
<sourcefiles>\r
- <file list="${OBJECTS}" />\r
+ <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}" />\r
</sourcefiles>\r
<targetfiles>\r
<file name="${BIN_DIR}/@{FILENAME}.lib"/>\r
outputFile="${BIN_DIR}/@{FILENAME}.lib">\r
<argument value="${SLINK_FLAGS}"/>\r
\r
- <argument value="${OBJECTS}"/>\r
+ <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\r
</command>\r
</cc>\r
</sequential>\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
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">\r
- <argument value="${CC_FLAGS}"/>\r
+ <argument value="${LOCAL_CC_FLAGS}"/>\r
<EXTRA.INC />\r
<fileset casesensitive="on" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>\r
</command>\r
</cc>\r
</sequential>\r
</OnDependency>\r
- <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj" />\r
+\r
+ <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->\r
+ <if>\r
+ <equals arg1="@{FILEPATH}" arg2="." />\r
+ <then>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILENAME}Strings.obj" />\r
+ </then>\r
+ <else>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILEPATH}/@{FILENAME}Strings.obj" />\r
+ </else>\r
+ </if>\r
</sequential>\r
</macrodef>\r
\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
outputFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >\r
- <argument value="${CC_FLAGS}"/>\r
+ <argument value="${LOCAL_CC_FLAGS}"/>\r
<EXTRA.INC/>\r
<EXTRA.ARG/>\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
</OnDependency>\r
- <var name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />\r
+ <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->\r
+ <if>\r
+ <equals arg1="@{FILEPATH}" arg2="." />\r
+ <then>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILENAME}.obj" />\r
+ </then>\r
+ <else>\r
+ <var name="OBJECTS" value="${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />\r
+ </else>\r
+ </if>\r
</sequential>\r
</macrodef>\r
\r
<OnDependency>\r
<sourcefiles>\r
<file list="${LIBS}"/>\r
- <file list="${OBJECTS}"/>\r
+ <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}" />\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
- <argument value="${OBJECTS}"/>\r
+ <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\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
+ <libset libs="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>\r
<LINK.ARG/>\r
</command>\r
</cc>\r
tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
</sequential>\r
</macrodef>\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_Graphics">\r
<attribute name="FILEPATH"/>\r
- <attribute name="FILENAME"/>\r
+ <attribute name="FILENAME"/> \r
<attribute name="FILEEXT" default="bmp"/>\r
\r
<element name="EXTRA.INC" optional="yes"/>\r