Refactor the PeCoffLoader into a library. Add PeiRebase Tool.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@247 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
203
Tools/Source/TianoTools/PeCoffLoader/build.xml
Normal file
203
Tools/Source/TianoTools/PeCoffLoader/build.xml
Normal file
@@ -0,0 +1,203 @@
|
||||
<?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=".">
|
||||
<!--
|
||||
EDK PeCoffLoader
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
-->
|
||||
<taskdef resource="cpptasks.tasks"/>
|
||||
<typedef resource="cpptasks.types"/>
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
|
||||
|
||||
<property name="LibName" value="PeCoffLoader"/>
|
||||
<property environment="env"/>
|
||||
|
||||
<property name="LINK_OUTPUT_TYPE" value="static"/>
|
||||
<property name="BUILD_DIR_IA32" value="${PACKAGE_DIR}/${LibName}/tmp/Ia32"/>
|
||||
<property name="BUILD_DIR_X64" value="${PACKAGE_DIR}/${LibName}/tmp/X64"/>
|
||||
<property name="BUILD_DIR_IPF" value="${PACKAGE_DIR}/${LibName}/tmp/Ipf"/>
|
||||
|
||||
<target name="GenTool" depends="init, Tool">
|
||||
<echo message="Building the EDK Tool: ${LibName}"/>
|
||||
</target>
|
||||
|
||||
<target name="init">
|
||||
<echo message="The EDK Library: ${LibName}"/>
|
||||
<mkdir dir="${BUILD_DIR_IA32}"/>
|
||||
<mkdir dir="${BUILD_DIR_X64}"/>
|
||||
<mkdir dir="${BUILD_DIR_IPF}"/>
|
||||
<if>
|
||||
<equals arg1="${GCC}" arg2="cygwin"/>
|
||||
<then>
|
||||
<echo message="Cygwin Family"/>
|
||||
<property name="ToolChain" value="gcc"/>
|
||||
</then>
|
||||
<elseif>
|
||||
<os family="dos"/>
|
||||
<then>
|
||||
<echo message="Windows Family"/>
|
||||
<property name="ToolChain" value="msvc"/>
|
||||
</then>
|
||||
</elseif>
|
||||
<elseif>
|
||||
<os family="unix"/>
|
||||
<then>
|
||||
<echo message="UNIX Family"/>
|
||||
<property name="ToolChain" value="gcc"/>
|
||||
</then>
|
||||
</elseif>
|
||||
|
||||
<else>
|
||||
<echo>
|
||||
Unsupported Operating System
|
||||
Please Contact Intel Corporation
|
||||
</echo>
|
||||
</else>
|
||||
</if>
|
||||
<property name="ToolChain" value="gcc"/>
|
||||
<if>
|
||||
<equals arg1="${ToolChain}" arg2="msvc"/>
|
||||
<then>
|
||||
<property name="ext_static" value=".lib"/>
|
||||
<property name="ext_dynamic" value=".dll"/>
|
||||
<property name="ext_exe" value=".exe"/>
|
||||
</then>
|
||||
<elseif>
|
||||
<equals arg1="${ToolChain}" arg2="gcc"/>
|
||||
<then>
|
||||
<property name="ext_static" value=".a"/>
|
||||
<property name="ext_dynamic" value=".so"/>
|
||||
<property name="ext_exe" value=""/>
|
||||
</then>
|
||||
</elseif>
|
||||
</if>
|
||||
|
||||
<condition property="syslibdirs" value="">
|
||||
<os family="mac"/>
|
||||
</condition>
|
||||
|
||||
<condition property="syslibs" value="">
|
||||
<os family="mac"/>
|
||||
</condition>
|
||||
|
||||
<condition property="syslibdirs" value="${env.CYGWIN_HOME}/lib/e2fsprogs">
|
||||
<os family="windows"/>
|
||||
</condition>
|
||||
|
||||
<condition property="syslibs" value="uuid">
|
||||
<os family="windows"/>
|
||||
</condition>
|
||||
|
||||
<condition property="syslibdirs" value="/usr/lib">
|
||||
<os name="Linux"/>
|
||||
</condition>
|
||||
|
||||
<condition property="syslibs" value="uuid">
|
||||
<os name="Linux"/>
|
||||
</condition>
|
||||
|
||||
</target>
|
||||
|
||||
<target name="Tool" depends="init, PeCoffLoader_Ia32, PeCoffLoader_Ipf, PeCoffLoader_X64"/>
|
||||
|
||||
<target name="PeCoffLoader_Ia32" >
|
||||
<cc name="${ToolChain}" objdir="${BUILD_DIR_IA32}"
|
||||
outfile="${LIB_DIR}/${LibName}_Ia32"
|
||||
outtype="static"
|
||||
optimize="speed">
|
||||
|
||||
<defineset>
|
||||
<define name="BUILDING_TOOLS"/>
|
||||
<define name="TOOL_BUILD_IA32_TARGET"/>
|
||||
</defineset>
|
||||
|
||||
<fileset dir="${basedir}/${LibName}"
|
||||
includes="BasePeCoff.c Ia32/PeCoffLoaderEx.c" />
|
||||
|
||||
<includepath path="${PACKAGE_DIR}/${LibName}"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Protocol"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Library"/>
|
||||
<includepath path="${PACKAGE_DIR}/Common"/>
|
||||
</cc>
|
||||
</target>
|
||||
|
||||
<target name="PeCoffLoader_Ipf" >
|
||||
<cc name="${ToolChain}" objdir="${BUILD_DIR_IPF}"
|
||||
outfile="${LIB_DIR}/${LibName}_Ipf"
|
||||
outtype="static"
|
||||
optimize="speed">
|
||||
|
||||
<defineset>
|
||||
<define name="BUILDING_TOOLS"/>
|
||||
<define name="TOOL_BUILD_IPF_TARGET"/>
|
||||
</defineset>
|
||||
|
||||
<fileset dir="${basedir}/${LibName}"
|
||||
includes="BasePeCoff.c Ipf/PeCoffLoaderEx.c" />
|
||||
|
||||
<includepath path="${PACKAGE_DIR}/${LibName}"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Protocol"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Library"/>
|
||||
<includepath path="${PACKAGE_DIR}/Common"/>
|
||||
</cc>
|
||||
</target>
|
||||
|
||||
<target name="PeCoffLoader_X64" >
|
||||
<cc name="${ToolChain}" objdir="${BUILD_DIR_X64}"
|
||||
outfile="${LIB_DIR}/${LibName}_X64"
|
||||
outtype="static"
|
||||
optimize="speed">
|
||||
|
||||
<defineset>
|
||||
<define name="BUILDING_TOOLS"/>
|
||||
<define name="TOOL_BUILD_X64_TARGET"/>
|
||||
</defineset>
|
||||
|
||||
<fileset dir="${basedir}/${LibName}"
|
||||
includes="BasePeCoff.c X64/PeCoffLoaderEx.c" />
|
||||
|
||||
<includepath path="${PACKAGE_DIR}/${LibName}"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Protocol"/>
|
||||
<includepath path="${env.WORKSPACE}/MdePkg/Include/Library"/>
|
||||
<includepath path="${PACKAGE_DIR}/Common"/>
|
||||
</cc>
|
||||
</target>
|
||||
|
||||
|
||||
<target name="clean" depends="init">
|
||||
<echo message="Removing Intermediate Files Only"/>
|
||||
<delete>
|
||||
<fileset dir="${BUILD_DIR_IA32}" includes="*.obj"/>
|
||||
<fileset dir="${BUILD_DIR_X64}" includes="*.obj"/>
|
||||
<fileset dir="${BUILD_DIR_IPF}" includes="*.obj"/>
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
<target name="cleanall" depends="init">
|
||||
<echo message="Removing Object Files and the Executable: ${LibName}${ext_exe}"/>
|
||||
<delete dir="${PACKAGE_DIR}/${LibName}/tmp">
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
</project>
|
Reference in New Issue
Block a user