</targetfiles>\r
\r
<sequential>\r
- <vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">\r
+ <cc userdefine="on">\r
+ <command type="PP" cmd="${PP}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${PP_FAMILY}" \r
+ dpath="${PP_DPATH}" libpath="${PP_LIBPATH}" include="${PP_INCLUDEPATH}">\r
+ <argument value="${VFR_FLAGS} ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <!-- Output file of the preprocess --> \r
+ <EXTRA.INC/>\r
+ <fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ </command>\r
+ </cc>\r
+ \r
+ <vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">\r
<EXTRA.INC/>\r
</vfrcompile>\r
\r
</concat>\r
</sequential>\r
</macrodef>\r
- \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
<!--\r
DUMMY\r
-->\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" />\r
+ <!--echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" /-->\r
</sequential>\r
</macrodef>\r
\r
<sequential>\r
<OnDependency>\r
<sourcefiles>\r
- <file name="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>\r
+ <file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
</sourcefiles>\r
<targetfiles>\r
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>\r
\r
<sequential>\r
<PRE.PROCESS/>\r
- <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}" \r
+ <gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec" \r
sectiontype="EFI_SECTION_RAW"/>\r
<POST.PROCESS/>\r
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <mkdir dir="${MODULE_DIR}/@{FILEPATH}" /> \r
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>\r
</sequential>\r
tofile="${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>\r
</sequential>\r
</macrodef>\r
+ \r
+ <!-- \r
+ Build macro for Apriori\r
+ -->\r
+ <macrodef name="Build_Apriori">\r
+ <attribute name="FILEPATH" default="."/>\r
+ <attribute name="FILENAME"/>\r
+ <attribute name="FILEEXT" default="apr"/>\r
+ <attribute name="GUID"/>\r
+\r
+ <sequential>\r
+ <mkdir dir="${FV_DIR}/Apriori" />\r
+ <gensection inputfile="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" \r
+ outputfile="${FV_DIR}/Apriori/@{FILENAME}.sec" \r
+ sectiontype="EFI_SECTION_RAW"/>\r
+\r
+ <genffsfile BaseName="@{FILENAME}" ffsATTRIBCHECKSUM="TRUE" ffsFILETYPE="EFI_FV_FILETYPE_FREEFORM" \r
+ fileGuid="@{GUID}" moduleType="BASE" outputDir="${FV_DIR}">\r
+ <sectFile fileName="${FV_DIR}/Apriori/@{FILENAME}.sec"/>\r
+ </genffsfile>\r
+ \r
+ </sequential>\r
+ </macrodef>\r
</project>\r