+ <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
+ </sequential>\r
+ </macrodef>\r
+\r
+ <!--\r
+ Build x86 assembly with C preprocessing on AutoGen.h\r
+ -->\r
+ <macrodef name="Build_x86_asm_autogen">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="asm"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+\r
+ <sequential>\r
+ <mkdir dir="${DEST_DIR_DEBUG}/@{FILEPATH}"/>\r
+ <mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
+\r
+ <if>\r
+ <available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
+ <then>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">\r
+ <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
+ <includepath path="${WORKSPACE_DIR}"/>\r
+ <includepath path="${MODULE_DIR}"/>\r
+ <includepath path="${MODULE_DIR}/${ARCH}"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\r
+ </then>\r
+ </if>\r
+\r
+ <OnDependency>\r
+ <sourcefiles>\r
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\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="CC" workdir="${DEST_DIR_DEBUG}/@{FILEPATH}">\r
+ <includepath path="${WORKSPACE_DIR}"/>\r
+ <includepath path="${MODULE_DIR}"/>\r
+ <includepath path="${MODULE_DIR}/${ARCH}"/>\r
+ <EXTRA.INC/>\r
+ <argument value="${PP_FLAGS}"/>\r
+ <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h"/>\r
+ <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </command>\r
+ </cc>\r
+ <replaceregexp file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
+ match="^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"\r
+ replace="; Source: ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"\r
+ flags="gs"/>\r
+ <replaceregexp file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
+ match="^(#line .*)$"\r
+ replace="; \1"\r
+ byline="true"/>\r
+ <replaceregexp file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
+ match="([^_a-zA-Z])0x([0-9a-fA-F]+)"\r
+ replace="\10\2h"\r
+ flags="g"\r
+ byline="true"/>\r
+ <move file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"\r
+ tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <cc userdefine="on">\r
+ <command type="ASM">\r
+ <includepath path="${WORKSPACE_DIR}"/>\r
+ <includepath path="${MODULE_DIR}"/>\r
+ <includepath path="${MODULE_DIR}/${ARCH}"/>\r
+ <EXTRA.INC/>\r
+\r
+ <argument value="${ASM_FLAGS}"/>\r
+ <EXTRA.ARG/>\r
+ <argument value="/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>\r
+ <OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
+\r
+ <fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </command>\r
+ </cc>\r
+ </sequential>\r
+ </OnDependency>\r
+ <!--\r
+ for library generation later\r
+ -->\r
+ <bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r