mirror of https://github.com/acidanthera/audk.git
1158 lines
38 KiB
XML
1158 lines
38 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
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 name="common">
|
|
<!--
|
|
macro definitions for building files with different types
|
|
-->
|
|
<!--
|
|
C Code
|
|
-->
|
|
<macrodef name="Build_C_Code">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="c"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
|
|
|
|
<if>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
<then>
|
|
<makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
|
|
<input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
<input file="${DEST_DIR_DEBUG}/AutoGen.h"/>
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
</makedeps>
|
|
</then>
|
|
</if>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file ListFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<cc userdefine="on">
|
|
<command type="CC" workdir="${DEST_DIR_OUTPUT}">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
|
|
<argument value="${CC_FLAGS}"/>
|
|
<EXTRA.ARG/>
|
|
<!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> -->
|
|
<includeFile value="${DEST_DIR_DEBUG}/AutoGen.h"/>
|
|
<!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
|
|
<outputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
|
|
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</command>
|
|
</cc>
|
|
</sequential>
|
|
</OnDependency>
|
|
|
|
<!--
|
|
for library generation later
|
|
-->
|
|
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
|
|
<macrodef name="Build_AUTOGEN">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="c"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
|
|
|
|
<if>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
<then>
|
|
<makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
|
|
<input file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
<input file="${DEST_DIR_DEBUG}/AutoGen.h"/>
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
</makedeps>
|
|
</then>
|
|
</if>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file ListFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<cc userdefine="on">
|
|
<command type="CC" workdir="${DEST_DIR_OUTPUT}">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
|
|
<argument value="${CC_FLAGS}"/>
|
|
<EXTRA.ARG/>
|
|
<!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> -->
|
|
<includeFile value="${DEST_DIR_DEBUG}/AutoGen.h"/>
|
|
<!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
|
|
<outputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
|
|
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</command>
|
|
</cc>
|
|
</sequential>
|
|
</OnDependency>
|
|
<!--
|
|
for library generation later
|
|
-->
|
|
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<macrodef name="Build_Dependency_File">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="dxs"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
tofile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
|
|
|
|
<cc userdefine="on">
|
|
<command type="CC" workdir=".">
|
|
<includepath path="${DEST_DIR_DEBUG}" />
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
<argument value="${PP_FLAGS}"/>
|
|
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
|
|
<outputFile value="@{FILENAME}.@{FILEEXT}.i"/>
|
|
</command>
|
|
</cc>
|
|
|
|
<gendepex inputFile="@{FILENAME}.@{FILEEXT}.i" outputFile="${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>
|
|
<delete file="@{FILENAME}.@{FILEEXT}.i" />
|
|
<delete file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c" />
|
|
</sequential>
|
|
</OnDependency>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!-- Usage Example
|
|
<Build_C_Code
|
|
FILEPATH="."
|
|
FILENAME="${SOURCE_NAME}"
|
|
FILEEXT="c">
|
|
<EXTRA.INC>
|
|
<includepath path="${PACKAGE_DIR}/Include"/>
|
|
<includepath path="${PACKAGE_DIR}/Include/${ARCH}"/>
|
|
</EXTRA.INC>
|
|
|
|
<EXTRA.ARG>
|
|
<argument value="/D EFI_DEBUG /D EFI_WHATEVER_FLAG"/>
|
|
</EXTRA.ARG>
|
|
</Build_C_Code>
|
|
-->
|
|
|
|
<!--
|
|
IA32/x64 Assembly
|
|
-->
|
|
<macrodef name="Build_Assembly">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="asm"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file Name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file Name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<cc userdefine="on">
|
|
<command type="ASM">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
|
|
<argument value="${ASM_FLAGS}"/>
|
|
<EXTRA.ARG/>
|
|
<argument value="/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>
|
|
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
|
|
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</command>
|
|
</cc>
|
|
</sequential>
|
|
</OnDependency>
|
|
<!--
|
|
for library generation later
|
|
-->
|
|
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
Library private HashMap map = new HashMap();
|
|
-->
|
|
<macrodef name="Build_Library">
|
|
<attribute name="FILENAME" />
|
|
<attribute name="FILEEXT" default="obj"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${BIN_DIR}"/>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file list="${OBJECTS}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${BIN_DIR}/@{FILENAME}.lib"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<!-- <echo>re-generate library</echo> -->
|
|
<cc userdefine="on">
|
|
<command type="LIB">
|
|
<argument value="${LIB_FLAGS}"/>
|
|
<!--<argument value="${OBJECTS}"/>-->
|
|
<FileList dir="" files="${OBJECTS}"/>
|
|
<!-- <argument value="/out:${BIN_DIR}/@{FILENAME}.lib"/> -->
|
|
<OutputFile value="${BIN_DIR}/@{FILENAME}.lib"/>
|
|
</command>
|
|
</cc>
|
|
</sequential>
|
|
</OnDependency>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
GCC Assembly
|
|
-->
|
|
<macrodef name="Build_GCC_Assembly_Code">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="s"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
|
|
|
|
<if>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
<then>
|
|
<makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
|
|
<input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
</makedeps>
|
|
</then>
|
|
</if>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
|
|
<cc userdefine="on">
|
|
<command type="ASM" includepathDelimiter="-I">
|
|
<EXTRA.INC/>
|
|
|
|
<argument value="${ASM_FLAGS}"/>
|
|
<EXTRA.ARG/>
|
|
<!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
|
|
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
|
|
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</command>
|
|
</cc>
|
|
</sequential>
|
|
</OnDependency>
|
|
<!--
|
|
for library generation later
|
|
-->
|
|
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
IPF Assembly
|
|
-->
|
|
<macrodef name="Build_IPF_Assembly_Code">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="s"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
|
|
|
|
<if>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
<then>
|
|
<makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
|
|
<input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
</makedeps>
|
|
</then>
|
|
</if>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
|
|
<cc userdefine="on">
|
|
<command type="CC" workdir=".">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
<argument value="${PP_FLAGS}"/>
|
|
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
|
|
</command>
|
|
</cc>
|
|
<move file="@{FILENAME}.@{FILEEXT}.i"
|
|
tofile="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
|
|
|
|
<cc userdefine="on">
|
|
<command type="ASM" includepathDelimiter="-I">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
|
|
<argument value="${ASM_FLAGS}"/>
|
|
<EXTRA.ARG/>
|
|
<!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
|
|
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
|
|
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
|
|
</command>
|
|
</cc>
|
|
</sequential>
|
|
</OnDependency>
|
|
<!--
|
|
for library generation later
|
|
-->
|
|
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
|
|
<macrodef name="Build_IPF_PP_Code">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="i"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
|
|
|
|
<cc userdefine="on">
|
|
<command type="ASM" includepathDelimiter="-I">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
|
|
<argument value="${ASM_FLAGS}"/>
|
|
<EXTRA.ARG/>
|
|
<!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
|
|
<OutputFile File="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
|
|
<fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</command>
|
|
</cc>
|
|
|
|
<!--
|
|
for library generation later
|
|
-->
|
|
<bl NAME="OBJECTS" VALUE="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
[Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]
|
|
[Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]
|
|
-->
|
|
<macrodef name="Build_Custom_Build">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="c"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
Unicode -> .sdb
|
|
-->
|
|
<macrodef name="Build_Unicode">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="uni"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<strgather commandtype="parse" newdatabase="true">
|
|
<database name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
<EXTRA.ARG/>
|
|
<inputfile name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</strgather>
|
|
</sequential>
|
|
</OnDependency>
|
|
|
|
<bl name="SDB_FILES" value="${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
.sdb(s) -> .c, .h -> .obj
|
|
-->
|
|
<macrodef name="Build_Unicode_Database">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="sdb"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file list="${SDB_FILES}"/>
|
|
<file list="${SOURCE_FILES}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<strgather commandtype="scan" outputdatabase="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose="read">
|
|
<skipext name=".uni"/>
|
|
<skipext name=".h"/>
|
|
<database list="${SDB_FILES}"/>
|
|
<inputfile name="${SOURCE_FILES}"/>
|
|
</strgather>
|
|
</sequential>
|
|
</OnDependency>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
|
|
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
|
|
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<strgather basename="@{FILENAME}Strings" commandtype="dump"
|
|
outputdefines="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
|
|
outputhpk="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
|
|
outputstring="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
|
|
<database name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
|
|
</strgather>
|
|
</sequential>
|
|
</OnDependency>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<cc userdefine="on">
|
|
<command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
|
|
<argument value="${CC_FLAGS}"/>
|
|
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
|
|
|
|
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
|
|
</command>
|
|
</cc>
|
|
</sequential>
|
|
</OnDependency>
|
|
|
|
<bl name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
Vfr
|
|
-->
|
|
<macrodef name="Build_Vfr">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="vfr"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${DEST_DIR_DEBUG}/@{FILEPATH}"/>
|
|
|
|
<if>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
<then>
|
|
<makedeps DepsFile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
|
|
<input file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
<!-- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/> -->
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
</makedeps>
|
|
</then>
|
|
</if>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file listfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<vfrcompile createIfrBinFile="on" createListFile="on" outPutDir="${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<EXTRA.INC/>
|
|
</vfrcompile>
|
|
|
|
<cc userdefine="on">
|
|
<command type="CC" workdir="${DEST_DIR_OUTPUT}" includepathDelimiter="-I">
|
|
<includepath path="${WORKSPACE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}"/>
|
|
<includepath path="${MODULE_DIR}/${ARCH}"/>
|
|
<argument value="${CC_FLAGS}"/>
|
|
<OutputFile value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
<EXTRA.ARG/>
|
|
|
|
<fileset casesensitive="off" file="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
|
|
</command>
|
|
</cc>
|
|
|
|
<delete file="@{FILENAME}.i"/>
|
|
</sequential>
|
|
</OnDependency>
|
|
<bl name="OBJECTS" value="${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--############################################################################
|
|
Build Sections
|
|
#############################################################################-->
|
|
<!--
|
|
DLL
|
|
-->
|
|
<macrodef name="GenDll">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT"/>
|
|
|
|
<element name="LIB.ARG" optional="yes"/>
|
|
<element name="LINK.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file list="${OBJECTS}"/>
|
|
<file list="${LIBS}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<cc userdefine="on">
|
|
<command type="LINK">
|
|
<argument value="${LINK_FLAGS}"/>
|
|
<libset libs="${LIBS}"/>
|
|
<LINK.ARG/>
|
|
<EntryPoint value="_ModuleEntryPoint"/>
|
|
<map value="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.map"/>
|
|
<pdb value="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pdb"/>
|
|
<OutputFile value="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
|
|
<FileList dir="" files="${OBJECTS}"/>
|
|
</command>
|
|
</cc>
|
|
</sequential>
|
|
</OnDependency>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
EFI
|
|
-->
|
|
<macrodef name="GenEfi">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="dll"/>
|
|
|
|
<sequential>
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<fwimage componenttype="${COMPONENT_TYPE}" outImage="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
|
|
peImage="${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time="0"/>
|
|
</sequential>
|
|
</OnDependency>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
EFI_SECTION_FREEFORM_SUBTYPE_GUID
|
|
EFI_SECTION_VERSION
|
|
EFI_SECTION_USER_INTERFACE
|
|
EFI_SECTION_DXE_DEPEX
|
|
EFI_SECTION_PEI_DEPEX
|
|
EFI_SECTION_PE32
|
|
EFI_SECTION_PIC
|
|
EFI_SECTION_TE
|
|
EFI_SECTION_RAW
|
|
EFI_SECTION_COMPRESSION
|
|
EFI_SECTION_GUID_DEFINED
|
|
EFI_SECTION_COMPATIBILITY16
|
|
EFI_SECTION_FIRMWARE_VOLUME_IMAGE
|
|
-->
|
|
<!--
|
|
EFI_SECTION_PE32
|
|
-->
|
|
<macrodef name="EFI_SECTION_PE32">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="" />
|
|
|
|
<element name="PRE.PROCESS" optional="yes"/>
|
|
<element name="POST.PROCESS" optional="yes"/>
|
|
|
|
<sequential>
|
|
<PRE.PROCESS/>
|
|
|
|
<if>
|
|
<not>
|
|
<equals arg1="${OBJECTS}" arg2=""/>
|
|
</not>
|
|
|
|
<then>
|
|
<GenDll FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="">
|
|
<LIB.ARG></LIB.ARG>
|
|
<LINK.ARG></LINK.ARG>
|
|
</GenDll>
|
|
|
|
<GenEfi FILEPATH="." FILENAME="@{FILENAME}" FILEEXT="dll"/>
|
|
</then>
|
|
</if>
|
|
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<copy file="${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile="${BIN_DIR}/@{FILENAME}.efi" />
|
|
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
|
|
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
|
|
sectiontype="EFI_SECTION_PE32"/>
|
|
|
|
<POST.PROCESS/>
|
|
</sequential>
|
|
</OnDependency>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
EFI_SECTION_VERSION
|
|
-->
|
|
<macrodef name="EFI_SECTION_VERSION">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="" />
|
|
<attribute name="VERSION" default="0000"/>
|
|
|
|
<element name="PRE.PROCESS" optional="yes"/>
|
|
<element name="POST.PROCESS" optional="yes"/>
|
|
|
|
<sequential>
|
|
<if>
|
|
<not>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
|
|
</not>
|
|
|
|
<then>
|
|
<PRE.PROCESS/>
|
|
<gensection outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
|
|
versionnum="@{VERSION}"
|
|
sectiontype="EFI_SECTION_VERSION"/>
|
|
<POST.PROCESS/>
|
|
</then>
|
|
</if>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
EFI_SECTION_USER_INTERFACE
|
|
-->
|
|
<macrodef name="EFI_SECTION_USER_INTERFACE">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="" />
|
|
<attribute name="UI" default="${BASE_NAME}"/>
|
|
|
|
<element name="PRE.PROCESS" optional="yes"/>
|
|
<element name="POST.PROCESS" optional="yes"/>
|
|
|
|
<sequential>
|
|
<if>
|
|
<not>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
|
|
</not>
|
|
|
|
<then>
|
|
<PRE.PROCESS/>
|
|
<gensection interfacestring="@{UI}"
|
|
outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
|
|
sectiontype="EFI_SECTION_USER_INTERFACE"/>
|
|
<POST.PROCESS/>
|
|
</then>
|
|
</if>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
EFI_SECTION_FREEFORM_SUBTYPE_GUID
|
|
<macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default=""/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<gensection inputfile=""
|
|
outputfile=""
|
|
sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
|
|
</sequential>
|
|
</macrodef>
|
|
-->
|
|
|
|
<!--
|
|
EFI_SECTION_DXE_DEPEX
|
|
-->
|
|
<macrodef name="EFI_SECTION_DXE_DEPEX">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="dxs"/>
|
|
|
|
<element name="PRE.PROCESS" optional="yes"/>
|
|
<element name="POST.PROCESS" optional="yes"/>
|
|
|
|
<sequential>
|
|
<PRE.PROCESS/>
|
|
|
|
<if>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
|
|
<then>
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
|
|
</targetfiles>
|
|
<sequential>
|
|
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
|
|
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
|
|
sectiontype="EFI_SECTION_DXE_DEPEX"/>
|
|
</sequential>
|
|
</OnDependency>
|
|
</then>
|
|
<else>
|
|
<if>
|
|
<not>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
|
|
</not>
|
|
<then>
|
|
<touch file="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
|
|
</then>
|
|
</if>
|
|
</else>
|
|
</if>
|
|
|
|
<POST.PROCESS/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
EFI_SECTION_PEI_DEPEX
|
|
-->
|
|
<macrodef name="EFI_SECTION_PEI_DEPEX">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="dxs"/>
|
|
|
|
<element name="PRE.PROCESS" optional="yes"/>
|
|
<element name="POST.PROCESS" optional="yes"/>
|
|
<sequential>
|
|
<PRE.PROCESS/>
|
|
<if>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
|
|
<then>
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
|
|
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
|
|
sectiontype="EFI_SECTION_PEI_DEPEX"/>
|
|
</sequential>
|
|
</OnDependency>
|
|
|
|
</then>
|
|
<else>
|
|
<if>
|
|
<not>
|
|
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
|
|
</not>
|
|
<then>
|
|
<touch file="${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
|
|
</then>
|
|
</if>
|
|
</else>
|
|
</if>
|
|
<POST.PROCESS/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
EFI_SECTION_PIC
|
|
<macrodef name="EFI_SECTION_PIC">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default=""/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
outputfile="${BIN_DIR}/@{FILENAME}.pe32"
|
|
sectiontype="EFI_SECTION_PIC"/>
|
|
</sequential>
|
|
</macrodef>
|
|
-->
|
|
|
|
<!--
|
|
EFI_SECTION_TE
|
|
<macrodef name="EFI_SECTION_TE">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default=""/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
|
|
outputfile="${BIN_DIR}/@{FILENAME}.pe32"
|
|
sectiontype="EFI_SECTION_PE32"/>
|
|
</sequential>
|
|
</macrodef>
|
|
-->
|
|
|
|
<!--
|
|
EFI_SECTION_RAW
|
|
-->
|
|
<macrodef name="EFI_SECTION_RAW">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="bin"/>
|
|
|
|
<element name="PRE.PROCESS" optional="yes"/>
|
|
<element name="POST.PROCESS" optional="yes"/>
|
|
|
|
<sequential>
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<PRE.PROCESS/>
|
|
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
|
|
outputfile="${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
|
|
sectiontype="EFI_SECTION_RAW"/>
|
|
<POST.PROCESS/>
|
|
</sequential>
|
|
</OnDependency>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
EFI_SECTION_COMPRESSION
|
|
<macrodef name="EFI_SECTION_COMPRESSION">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default=""/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
|
|
outputfile="${BIN_DIR}/@{FILENAME}.pe32"
|
|
sectiontype="EFI_SECTION_PE32"/>
|
|
</sequential>
|
|
</macrodef>
|
|
-->
|
|
|
|
<!--
|
|
EFI_SECTION_GUID_DEFINED
|
|
<macrodef name="EFI_SECTION_GUID_DEFINED">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default=""/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
|
|
outputfile="${BIN_DIR}/@{FILENAME}.pe32"
|
|
sectiontype="EFI_SECTION_PE32"/>
|
|
</sequential>
|
|
</macrodef>
|
|
-->
|
|
|
|
<!--
|
|
EFI_SECTION_COMPATIBILITY16
|
|
<macrodef name="EFI_SECTION_COMPATIBILITY16">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default=""/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
|
|
outputfile="${BIN_DIR}/@{FILENAME}.pe32"
|
|
sectiontype="EFI_SECTION_PE32"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
-->
|
|
<!--
|
|
EFI_SECTION_FIRMWARE_VOLUME_IMAGE
|
|
-->
|
|
<macrodef name="EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="fv"/>
|
|
|
|
<element name="PRE.PROCESS" optional="yes"/>
|
|
<element name="POST.PROCESS" optional="yes"/>
|
|
|
|
<sequential>
|
|
<OnDependency>
|
|
<sourcefiles>
|
|
<file name="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
|
|
</sourcefiles>
|
|
<targetfiles>
|
|
<file name="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
|
|
</targetfiles>
|
|
|
|
<sequential>
|
|
<PRE.PROCESS/>
|
|
|
|
<copy file="${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
overwrite="true"/>
|
|
<gensection inputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
outputfile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
|
|
sectiontype="EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
|
|
|
|
<POST.PROCESS/>
|
|
</sequential>
|
|
</OnDependency>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
Binary
|
|
-->
|
|
<macrodef name="Build_Binary">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="bin"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!--
|
|
Graphics (bmp, ...)
|
|
-->
|
|
<macrodef name="Build_Graphics">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="bmp"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${MODULE_DIR}/@{FILEPATH}" />
|
|
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
tofile="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
|
|
</sequential>
|
|
</macrodef>
|
|
<macrodef name="Build_EFI">
|
|
<attribute name="FILEPATH"/>
|
|
<attribute name="FILENAME"/>
|
|
<attribute name="FILEEXT" default="efi"/>
|
|
|
|
<element name="EXTRA.INC" optional="yes"/>
|
|
<element name="EXTRA.ARG" optional="yes"/>
|
|
|
|
<sequential>
|
|
<mkdir dir="${MODULE_DIR}/@{FILEPATH}" />
|
|
<copy file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
|
|
tofile="${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>
|
|
</sequential>
|
|
</macrodef>
|
|
</project>
|