+ <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
+ <!--\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