WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-->\r
<project name="common">\r
+ <!-- for user extended tasks or macros -->\r
+ <import file="UserExtension.xml" optional="true"/>\r
+\r
<!--\r
Macro for intialize some properties. This Macro build will be called before source file build. \r
-->\r
<var name="OBJECTS" value="" />\r
<var name="SDB_FILES" value="" />\r
\r
+ <mkdir dir="${DEST_DIR_DEBUG}"/>\r
+ <mkdir dir="${DEST_DIR_OUTPUT}"/>\r
+\r
<if>\r
<and>\r
<isset property="PCH"/>\r
</not>\r
</and>\r
<then>\r
- <if>\r
- <available type="file" file="${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>\r
- <then>\r
- <makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep">\r
- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
- <EXTRA.INC/>\r
- </makedeps>\r
- </then>\r
- </if>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep" \r
+ TargetFile="${DEST_DIR_OUTPUT}/AutoGen.h.gch">\r
+ <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\r
\r
<OnDependency>\r
<sourcefiles>\r
</then>\r
</if>\r
</then>\r
+ <else>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep">\r
+ <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\r
+ </else>\r
</if>\r
</sequential>\r
</macrodef>\r
<var name="FILE_PATH" value="@{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="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
- <EXTRA.INC/>\r
- </makedeps>\r
- </then>\r
- </if>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"\r
+ TargetFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\r
\r
<OnDependency>\r
<sourcefiles>\r
<file ListFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
<file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
<var name="FILE_PATH" value="@{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}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
- <EXTRA.INC/>\r
- </makedeps>\r
- </then>\r
- </if>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"\r
+ TargetFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <input file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\r
\r
<OnDependency>\r
<sourcefiles>\r
<file ListFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
<file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
<var name="FILE_PATH" value="@{FILEPATH}" />\r
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"\r
+ TargetFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC.1/>\r
+ </makedeps>\r
+\r
<OnDependency>\r
<sourcefiles>\r
- <file Name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <file Listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
<file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
<var name="FILE_PATH" value="@{FILEPATH}" />\r
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"\r
+ TargetFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC.1/>\r
+ </makedeps>\r
+\r
<OnDependency>\r
<sourcefiles>\r
- <file Name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <file Listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
<file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
<sequential>\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="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
- <EXTRA.INC.1/>\r
- </makedeps>\r
- </then>\r
- </if>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"\r
+ TargetFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC.1/>\r
+ </makedeps>\r
\r
<OnDependency>\r
<sourcefiles>\r
<file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
</macrodef>\r
\r
\r
+ <!-- \r
+ Assembly the preprocessed IPF assembly code\r
+ -->\r
<macrodef name="Build_IPF_PP_Code">\r
<attribute name="FILEPATH"/>\r
<attribute name="FILENAME"/>\r
</macrodef>\r
\r
\r
- <!--\r
- Library private HashMap map = new HashMap();\r
- -->\r
+ <!--\r
+ Library\r
+ -->\r
<macrodef name="Build_Library">\r
<attribute name="FILENAME" />\r
<attribute name="FILEEXT" default="obj"/>\r
<var name="FILE_PATH" value="." />\r
<mkdir dir="${BIN_DIR}"/>\r
\r
+ <if>\r
+ <equals arg1="${OBJECTS}" arg2="" trim="true"/>\r
+ <then>\r
+ <fail message="No object files"/>\r
+ </then>\r
+ </if>\r
+\r
<OnDependency>\r
<sourcefiles>\r
<fileset dir="${DEST_DIR_OUTPUT}" includes="${OBJECTS}" />\r
\r
<sequential>\r
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"\r
+ TargetFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\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}.sdb"/>\r
<sequential>\r
<mkdir dir="${DEST_DIR_DEBUG}/@{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="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/>\r
- <EXTRA.INC/>\r
- </makedeps>\r
- </then>\r
- </if>\r
+ <makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"\r
+ TargetFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">\r
+ <input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <EXTRA.INC/>\r
+ </makedeps>\r
\r
<OnDependency>\r
<sourcefiles>\r
<file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>\r
+ <file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>\r
</sourcefiles>\r
<targetfiles>\r
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>\r
</command>\r
</cc>\r
</then>\r
- </if>\r
- \r
- <if>\r
- <not>\r
- <equals arg1="${CC_FAMILY}" arg2="GCC"/>\r
- </not>\r
- <then>\r
+ <else>\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="${VFRPP_FLAGS} ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>\r
+ <argument value="${VFRPP_FLAGS}"/>\r
<!-- Output file of the preprocess --> \r
<EXTRA.INC/> \r
<fileset casesensitive="on" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/> \r
</command>\r
</cc>\r
- </then>\r
+ </else>\r
</if>\r
\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
<element name="EXTRA.ARG" optional="yes"/>\r
\r
<sequential>\r
- <!-- Lack Dependency Check -->\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
+ <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
</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\r
+ DUMMY - for skipping the source file which should not be built\r
-->\r
<macrodef name="Build_DUMMY">\r
<attribute name="FILEPATH"/>\r