| <?xml version="1.0" ?> | |
| <!-- | |
| Copyright (c) 2006, Intel Corporation | |
| All rights reserved. This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| --> | |
| <project default="GenTool" basedir="." name="VfrCompile"> | |
| <!-- | |
| EDK VfrCompile Tool | |
| Copyright (c) 2006, Intel Corporation | |
| --> | |
| <property name="ToolName" value="VfrCompile"/> | |
| <property name="FileSet" value="*.cpp"/> | |
| <property name="FileSetPccts" value="ATokenBuffer.cpp DLexerBase.cpp AParser.cpp"/> | |
| <taskdef resource="net/sf/antcontrib/antlib.xml"/> | |
| <property name="LINK_OUTPUT_TYPE" value="static"/> | |
| <property name="BUILD_DIR" value="${PACKAGE_DIR}/${ToolName}/tmp"/> | |
| <target name="GenTool" depends="init, Antlr, Dlg, Tool"> | |
| <echo message="The EDK Tool: ${ToolName} build has completed"/> | |
| </target> | |
| <target name="init"> | |
| <echo message="Building the EDK Tool: ${ToolName}"/> | |
| <mkdir dir="${BUILD_DIR}"/> | |
| <condition property="AntlrDepends"> | |
| <uptodate targetfile="${PACKAGE_DIR}/VfrCompile/parser.dlg" srcfile="${PACKAGE_DIR}/VfrCompile/VfrCompile.g" value="true"/> | |
| </condition> | |
| <condition property="DlgDepends"> | |
| <uptodate targetfile="${PACKAGE_DIR}/VfrCompile/DLGLexer.cpp" srcfile="${PACKAGE_DIR}/VfrCompile/parser.dlg" value="true"/> | |
| </condition> | |
| <condition property="CheckDepends"> | |
| <or> | |
| <isset property="AntlrDepends"/> | |
| <isset property="DlgDepends"/> | |
| </or> | |
| </condition> | |
| <condition property="gxx_extra_libs" value="stdc++ System gcc_s.10.4 gcc"> | |
| <os family="mac"/> | |
| </condition> | |
| <condition property="gxx_extra_libs" value="stdc++"> | |
| <os name="linux"/> | |
| </condition> | |
| <condition property="gxx_extra_libs" value="stdc++"> | |
| <os family="windows"/> | |
| </condition> | |
| </target> | |
| <target name="Antlr" depends="init" unless="AntlrDepends"> | |
| <echo message="Executing ANTLR"/> | |
| <exec dir="${basedir}/${ToolName}" executable="${env.FRAMEWORK_TOOLS_PATH}/antlr" failonerror="TRUE"> | |
| <arg line="-CC -e3 -ck 3 -o . VfrCompile.g"/> | |
| </exec> | |
| </target> | |
| <target name="Dlg" depends="Antlr" unless="DlgDepends"> | |
| <echo message="Executing DLG"/> | |
| <exec dir="${basedir}/${ToolName}" executable="${env.FRAMEWORK_TOOLS_PATH}/dlg" failonerror="TRUE"> | |
| <arg line="-C2 -i -CC -o . parser.dlg"/> | |
| </exec> | |
| </target> | |
| <target name="Tool" depends="init"> | |
| <cc name="${ToolChain}" objdir="${BUILD_DIR}" | |
| outfile="${BIN_DIR}/${ToolName}" | |
| outtype="executable" | |
| debug="true" | |
| optimize="speed"> | |
| <compilerarg value="-fpermissive" if="gcc"/> | |
| <fileset dir="${basedir}/${ToolName}" | |
| includes="${FileSet}" /> | |
| <fileset dir="${basedir}/Pccts/h" | |
| includes="${FileSetPccts}" /> | |
| <includepath path="${PACKAGE_DIR}/Pccts/h"/> | |
| <includepath path="${PACKAGE_DIR}/Include"/> | |
| <includepath path="${PACKAGE_DIR}/Include/${HostArch}"/> | |
| <includepath path="${PACKAGE_DIR}/Common"/> | |
| <libset dir="${LIB_DIR}" libs="CommonTools"/> | |
| <syslibset libs="${gxx_extra_libs}" if="gcc"/> | |
| </cc> | |
| </target> | |
| <target name="clean"> | |
| <echo message="Removing Intermediate Files Only"/> | |
| <delete> | |
| <fileset dir="${BUILD_DIR}" includes="*.obj"/> | |
| </delete> | |
| </target> | |
| <target name="cleanall"> | |
| <echo message="Removing Object Files and the Executable: ${ToolName}${ext_exe}"/> | |
| <delete failonerror="false" quiet="true" includeEmptyDirs="true"> | |
| <fileset dir="${BUILD_DIR}"/> | |
| <fileset file="${basedir}/${ToolName}/DLGLexer.cpp"/> | |
| <fileset file="${basedir}/${ToolName}/DLGLexer.h"/> | |
| <fileset file="${basedir}/${ToolName}/EfiVfrParser.cpp"/> | |
| <fileset file="${basedir}/${ToolName}/EfiVfrParser.h"/> | |
| <fileset file="${basedir}/${ToolName}/parser.dlg"/> | |
| <fileset file="${basedir}/${ToolName}/tokens.h"/> | |
| <fileset file="${basedir}/${ToolName}/VfrCompile.cpp"/> | |
| <fileset file="${BIN_DIR}/${ToolName}${ext_exe}"/> | |
| <fileset file="${BIN_DIR}/${ToolName}.pdb"/> | |
| </delete> | |
| </target> | |
| </project> |