WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-->\r
<project name="common">\r
+ <!--\r
+ Macro for intialize some properties. This Macro build will be called before source file build. \r
+ -->\r
+ <macrodef name="Build_Init">\r
+ <sequential>\r
+ <var name="OBJECTS" value="" />\r
+ <var name="SDB_FILES" value="" />\r
+ </sequential>\r
+ </macrodef>\r
+\r
+\r
<!--\r
macro definitions for building files with different types\r
-->\r
<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
</OnDependency>\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
<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
</OnDependency>\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
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
<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
<argument value="${ASM_FLAGS}"/>\r
<EXTRA.ARG.1/>\r
\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
+ <!-- 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
<argument value="${ASM_FLAGS}"/>\r
<EXTRA.ARG.1/>\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
</OnDependency>\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
<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
</OnDependency>\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
<EXTRA.ARG/>\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 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
- <fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
+ <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\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
</OnDependency>\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
<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
</OnDependency>\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
+ 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
<OnDependency>\r
<sourcefiles>\r
<file list="${LIBS}"/>\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
- <fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj"/>\r
+ <fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}"/>\r
</command>\r
</cc>\r
<cc userdefine="on">\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="${BUILD_DIR}/${TARGET}_${TOOLCHAIN}/Microcode"/>\r
+ <flashmap MCIFile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" MCOFILE="${BUILD_DIR}/${TARGET}_${TOOLCHAIN}/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