+ Build the real mode ASM file\r
+ -->\r
+ <macrodef name="Build_RealAsm">\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
+ <OnDependency>\r
+ <sourcefiles>\r
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </sourcefiles>\r
+ <targetfiles>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.cat"/>\r
+ </targetfiles>\r
+\r
+ <sequential>\r
+ <exec dir="${DEST_DIR_OUTPUT}" executable="${ASM}" failonerror="true">\r
+ <arg line="/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>\r
+ </exec>\r
+ <concat destfile="${DEST_DIR_OUTPUT}/@{FILENAME}.cat" binary="yes">\r
+ <filelist dir="${MODULE_DIR}" files="Blank2.pad"/>\r
+ <filelist dir="${DEST_DIR_OUTPUT}" files="@{FILENAME}.com"/>\r
+ </concat>\r
+ </sequential>\r
+ </OnDependency>\r
+ </sequential>\r
+ </macrodef>\r
+\r
+ <!--\r
+ Build Asl table file\r
+ -->\r
+ <macrodef name="Build_ASL">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="asl"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+\r
+ <sequential>\r
+ <mkdir dir="${DEST_DIR_OUTPUT}"/>\r
+\r
+ <OnDependency>\r
+ <sourcefiles>\r
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </sourcefiles>\r
+ <targetfiles>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>\r
+ </targetfiles>\r
+\r
+ <sequential>\r
+ <cc userdefine="on">\r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}" family="${PP_FAMILY}"\r
+ dpath="${PP_DPATH}" libpath="${PP_LIBPATH}" include="${PP_INCLUDEPATH}">\r
+ <argument value="${APP_FLAGS}"/>\r
+ <EXTRA.INC/>\r
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </command>\r
+ </cc>\r
+\r
+ <exec dir="${DEST_DIR_OUTPUT}" executable="${ASL}" failonerror="true" outputproperty="ASL_OUTPUT">\r
+ <arg line="${DEST_DIR_OUTPUT}/@{FILENAME}.i"/>\r
+ </exec>\r
+\r
+ <if>\r
+ <or>\r
+ <contains string="${ASL_OUTPUT}" substring="Supports ACPI Specification Revision 2.0"/>\r
+ <contains string="${ASL_OUTPUT}" substring="Supports ACPI Specification Revision 1.0"/>\r
+ </or>\r
+ <then>\r
+ <fail message="Current Asl tool not support Acpi Spec 3.0. Pls update your Asl compiler."/>\r
+ </then>\r
+ </if>\r
+\r
+ <EFI_SECTION_RAW FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="aml"/>\r
+\r
+ </sequential>\r
+ </OnDependency>\r
+ </sequential>\r
+ </macrodef>\r
+\r
+ <!--\r
+ Build Asl table c file\r
+ -->\r
+ <macrodef name="Build_CCASL">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="c"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+\r
+ <sequential>\r
+ <mkdir dir="${DEST_DIR_OUTPUT}"/>\r
+\r
+ <OnDependency>\r
+ <sourcefiles>\r
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </sourcefiles>\r
+ <targetfiles>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>\r
+ </targetfiles>\r
+\r
+ <sequential>\r
+\r
+ <cc userdefine="on">\r
+ <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath="${CC_DPATH}"\r
+ libpath="${CC_LIBPATH}" include="${CC_INCLUDEPATH}">\r
+ <EXTRA.INC/>\r
+ <argument value="${CC_FLAGS}"/>\r
+ <EXTRA.ARG/>\r
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </command>\r
+ </cc>\r
+\r
+ <cc userdefine="on">\r
+ <command type="DLINK" cmd="${DLINK}" family="${DLINK_FAMILY}"\r
+ outputFile="${DEST_DIR_OUTPUT}/@{FILENAME}.exe" dpath="${DLINK_DPATH}" >\r
+ <argument value="${SLINK_FLAGS}"/>\r
+ <fileset casesensitive="on" file="${DEST_DIR_OUTPUT}/@{FILENAME}.obj"/>\r
+ </command>\r
+ </cc>\r
+\r
+ <genacpitable inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />\r
+\r
+ <EFI_SECTION_RAW FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="acpi"/>\r
+ </sequential>\r
+ </OnDependency>\r
+ </sequential>\r
+ </macrodef>\r
+ <!--\r
+ Build ACPI Bin File\r
+ -->\r
+ <macrodef name="Build_ACPIBIN">\r
+ <attribute name="FILEPATH"/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="bin"/>\r
+\r
+ <element name="EXTRA.INC" optional="yes"/>\r
+ <element name="EXTRA.ARG" optional="yes"/>\r
+\r
+ <sequential>\r
+ <mkdir dir="${DEST_DIR_OUTPUT}"/>\r
+\r
+ <OnDependency>\r
+ <sourcefiles>\r
+ <file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </sourcefiles>\r
+ <targetfiles>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>\r
+ </targetfiles>\r
+\r
+ <sequential>\r
+ <copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" tofile="${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />\r
+\r
+ <exec executable="attrib">\r
+ <arg line="-r ${DEST_DIR_OUTPUT}/@{FILENAME}.acpi"/>\r
+ </exec>\r
+\r
+ <EFI_SECTION_RAW FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="acpi"/>\r
+ </sequential>\r
+ </OnDependency>\r
+ </sequential>\r
+ </macrodef>\r
+\r
+ <!--\r
+ DUMMY - for skipping the source file which should not be built\r