mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-11-04 03:57:26 +00:00 
			
		
		
		
	git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2156 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			124 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?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>
 |