1
<?xml version=
"1.0" encoding=
"UTF-8"?>
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 <project name=
"common">
14 macro definitions for building files with different types
19 <macrodef name=
"Build_CCode">
20 <attribute name=
"FILEPATH"/>
21 <attribute name=
"FILENAME"/>
22 <attribute name=
"FILEEXT" default=
"c"/>
24 <element name=
"EXTRA.INC" optional=
"yes"/>
25 <element name=
"EXTRA.ARG" optional=
"yes"/>
28 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
29 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
30 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
33 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
35 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
36 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
37 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
45 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
48 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
53 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
54 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
56 <argument value=
"${CC_FLAGS}"/>
58 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
67 <macrodef name=
"Build_AUTOGEN">
68 <attribute name=
"FILEPATH"/>
69 <attribute name=
"FILENAME"/>
70 <attribute name=
"FILEEXT" default=
"c"/>
72 <element name=
"EXTRA.INC" optional=
"yes"/>
73 <element name=
"EXTRA.ARG" optional=
"yes"/>
76 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
77 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
78 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
81 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
83 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
84 <input file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
85 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
93 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
96 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
101 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
102 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
104 <argument value=
"${CC_FLAGS}"/>
106 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
114 <macrodef name=
"Build_DPX">
115 <attribute name=
"FILEPATH"/>
116 <attribute name=
"FILENAME"/>
117 <attribute name=
"FILEEXT" default=
"dxs"/>
119 <element name=
"EXTRA.INC" optional=
"yes"/>
120 <element name=
"EXTRA.ARG" optional=
"yes"/>
124 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
125 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
126 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
130 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
133 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
139 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}">
141 <argument value=
"${PP_FLAGS}"/>
142 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
146 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
152 <macrodef name=
"Build_ASM">
153 <attribute name=
"FILEPATH"/>
154 <attribute name=
"FILENAME"/>
155 <attribute name=
"FILEEXT" default=
"asm"/>
157 <element name=
"EXTRA.INC" optional=
"yes"/>
158 <element name=
"EXTRA.ARG" optional=
"yes"/>
160 <!-- Dispath ASM file, there are three type.
161 asm,s - Build_Assembly
162 S - Build_Ipf_Assembly -->
166 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
167 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
170 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
171 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
172 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
176 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
178 <Build_IPF_Assembly_Code FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
179 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
180 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
181 </Build_IPF_Assembly_Code>
191 <macrodef name=
"Build_Assembly">
192 <attribute name=
"FILEPATH"/>
193 <attribute name=
"FILENAME"/>
194 <attribute name=
"FILEEXT" default=
"asm"/>
196 <element name=
"EXTRA.INC.1" optional=
"yes"/>
197 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
200 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
201 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
202 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
206 <file Name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
209 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
215 <command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}/@{FILEPATH}" family="${CC_FAMILY}">
217 <argument value="${PP_FLAGS}"/>
218 <fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
222 <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
223 match="^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
226 <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
230 <replaceregexp file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
231 match="([^_a-zA-Z])0x([0-9a-fA-F]+)"
237 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
238 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
241 <argument value=
"${ASM_FLAGS}"/>
244 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
245 <!-- fileset casesensitive="off" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/ -->
256 <macrodef name=
"Build_IPF_Assembly_Code">
257 <attribute name=
"FILEPATH"/>
258 <attribute name=
"FILENAME"/>
259 <attribute name=
"FILEEXT" default=
"s"/>
261 <element name=
"EXTRA.INC.1" optional=
"yes"/>
262 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
265 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
268 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
270 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
271 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
279 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
282 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
287 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}">
289 <argument value=
"${PP_FLAGS}"/>
290 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
295 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
296 includepathDelimiter=
"-I" outputDelimiter=
"-o"
297 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
299 <argument value=
"${ASM_FLAGS}"/>
301 <fileset casesensitive=
"off" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
310 <macrodef name=
"Build_IPF_PP_Code">
311 <attribute name=
"FILEPATH"/>
312 <attribute name=
"FILENAME"/>
313 <attribute name=
"FILEEXT" default=
"i"/>
315 <element name=
"EXTRA.INC" optional=
"yes"/>
316 <element name=
"EXTRA.ARG" optional=
"yes"/>
319 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
322 <command type=
"ASM" includepathDelimiter=
"-I">
323 <includepath path=
"${WORKSPACE_DIR}"/>
324 <includepath path=
"${MODULE_DIR}"/>
325 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
328 <argument value=
"${ASM_FLAGS}"/>
330 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
331 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
333 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
341 Library private HashMap map = new HashMap();
343 <macrodef name=
"Build_Library">
344 <attribute name=
"FILENAME" />
345 <attribute name=
"FILEEXT" default=
"obj"/>
348 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
349 <var name=
"FILE_PATH" value=
"." />
350 <mkdir dir=
"${BIN_DIR}"/>
354 <file list=
"${OBJECTS}"/>
357 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
362 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
363 outputFile=
"${BIN_DIR}/@{FILENAME}.lib">
364 <argument value=
"${SLINK_FLAGS}"/>
366 <fileset casesensitive=
"off" dir=
"${DEST_DIR_OUTPUT}" includes=
"**/*.obj"/>
377 <macrodef name=
"Build_UNI">
378 <attribute name=
"FILEPATH"/>
379 <attribute name=
"FILENAME"/>
380 <attribute name=
"FILEEXT" default=
"uni"/>
382 <element name=
"EXTRA.INC" optional=
"yes"/>
383 <element name=
"EXTRA.ARG" optional=
"yes"/>
386 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
390 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
393 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
397 <strgather commandtype=
"parse" newdatabase=
"true">
398 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
401 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
406 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
411 .sdb(s) -> .c, .h -> .obj
413 <macrodef name=
"Build_Unicode_Database">
414 <attribute name=
"FILEPATH"/>
415 <attribute name=
"FILENAME"/>
416 <attribute name=
"FILEEXT" default=
"sdb"/>
418 <element name=
"EXTRA.INC" optional=
"yes"/>
419 <element name=
"EXTRA.ARG" optional=
"yes"/>
422 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
423 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
426 <file list=
"${SDB_FILES}"/>
427 <file list=
"${SOURCE_FILES}"/>
430 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
434 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
435 <skipext name=
".uni"/>
437 <database list=
"${SDB_FILES}"/>
438 <inputfile name=
"${SOURCE_FILES}"/>
445 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
448 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
449 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
450 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
454 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
455 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
456 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
457 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
458 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
465 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
468 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
473 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
474 includepathDelimiter=
"-I"
475 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
476 <argument value=
"${CC_FLAGS}"/>
478 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
490 <macrodef name=
"Build_VFR">
491 <attribute name=
"FILEPATH"/>
492 <attribute name=
"FILENAME"/>
493 <attribute name=
"FILEEXT" default=
"vfr"/>
495 <element name=
"EXTRA.INC" optional=
"yes"/>
496 <element name=
"EXTRA.ARG" optional=
"yes"/>
499 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
502 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
504 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
505 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
513 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
516 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
520 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
525 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
526 includepathDelimiter=
"-I"
527 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
528 <argument value=
"${CC_FLAGS}"/>
531 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
534 <delete file=
"${PLATFORM_DIR}/@{FILENAME}.i" />
540 <!--############################################################################
542 #############################################################################-->
546 <macrodef name=
"GenDll">
547 <attribute name=
"FILEPATH"/>
548 <attribute name=
"FILENAME"/>
549 <attribute name=
"FILEEXT"/>
551 <element name=
"LIB.ARG" optional=
"yes"/>
552 <element name=
"LINK.ARG" optional=
"yes"/>
555 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
556 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
559 <!--fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj" /-->
560 <file list=
"${LIBS}"/>
563 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
568 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
569 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">
570 <argument value=
"${SLINK_FLAGS}"/>
572 <fileset casesensitive=
"off" dir=
"${DEST_DIR_OUTPUT}" includes=
"**/*.obj"/>
576 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
577 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" >
578 <argument value=
"${DLINK_FLAGS}"/>
579 <libset libs=
"${LIBS}"/>
580 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
581 <libset libs=
"${DLINK_SPATH}" />
593 <macrodef name=
"GenEfi">
594 <attribute name=
"FILEPATH"/>
595 <attribute name=
"FILENAME"/>
596 <attribute name=
"FILEEXT" default=
"dll"/>
601 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
604 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
609 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
610 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
617 EFI_SECTION_FREEFORM_SUBTYPE_GUID
619 EFI_SECTION_USER_INTERFACE
620 EFI_SECTION_DXE_DEPEX
621 EFI_SECTION_PEI_DEPEX
626 EFI_SECTION_COMPRESSION
627 EFI_SECTION_GUID_DEFINED
628 EFI_SECTION_COMPATIBILITY16
629 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
635 <macrodef name=
"EFI_SECTION_TE">
636 <attribute name=
"FILEPATH"/>
637 <attribute name=
"FILENAME"/>
638 <attribute name=
"FILEEXT" default=
"" />
640 <element name=
"PRE.PROCESS" optional=
"yes"/>
641 <element name=
"POST.PROCESS" optional=
"yes"/>
647 <equals arg1=
"${LIBS}" arg2=
""/>
651 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
653 <LINK.ARG
></LINK.ARG
>
656 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
662 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
665 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>
669 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
670 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
671 <genteimage Dump=
"false" Verbose=
"false" OutputDir=
"" OutputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
673 <exec executable="${GENTEIMAGE}">
674 <arg line="-o ${DEST_DIR_OUTPUT}/@{FILENAME}.te ${DEST_DIR_OUTPUT}/@{FILENAME}.efi" />
677 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" tofile=
"${BIN_DIR}/@{FILENAME}.te" />
678 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"
679 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"
680 sectiontype=
"EFI_SECTION_TE"/>
687 <macrodef name=
"EFI_SECTION_PE32">
688 <attribute name=
"FILEPATH"/>
689 <attribute name=
"FILENAME"/>
690 <attribute name=
"FILEEXT" default=
"" />
692 <element name=
"PRE.PROCESS" optional=
"yes"/>
693 <element name=
"POST.PROCESS" optional=
"yes"/>
699 <!-- TBD ${OBJECTS} -->
700 <equals arg1=
"${LIBS}" arg2=
""/>
704 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
706 <LINK.ARG
></LINK.ARG
>
709 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
715 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
718 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
722 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
724 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
725 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
726 sectiontype=
"EFI_SECTION_PE32"/>
731 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
738 <macrodef name=
"EFI_SECTION_VERSION">
739 <attribute name=
"FILEPATH"/>
740 <attribute name=
"FILENAME"/>
741 <attribute name=
"FILEEXT" default=
"" />
742 <attribute name=
"VERSION" default=
"0000"/>
744 <element name=
"PRE.PROCESS" optional=
"yes"/>
745 <element name=
"POST.PROCESS" optional=
"yes"/>
750 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
755 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
756 versionnum=
"@{VERSION}"
757 sectiontype=
"EFI_SECTION_VERSION"/>
765 EFI_SECTION_USER_INTERFACE
767 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
768 <attribute name=
"FILEPATH"/>
769 <attribute name=
"FILENAME"/>
770 <attribute name=
"FILEEXT" default=
"" />
771 <attribute name=
"UI" default=
"${BASE_NAME}"/>
773 <element name=
"PRE.PROCESS" optional=
"yes"/>
774 <element name=
"POST.PROCESS" optional=
"yes"/>
779 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
784 <gensection interfacestring=
"@{UI}"
785 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
786 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
794 EFI_SECTION_FREEFORM_SUBTYPE_GUID
795 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
796 <attribute name="FILEPATH"/>
797 <attribute name="FILENAME"/>
798 <attribute name="FILEEXT" default=""/>
800 <element name="EXTRA.INC" optional="yes"/>
801 <element name="EXTRA.ARG" optional="yes"/>
804 <gensection inputfile=""
806 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
812 EFI_SECTION_DXE_DEPEX
814 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
815 <attribute name=
"FILEPATH"/>
816 <attribute name=
"FILENAME"/>
817 <attribute name=
"FILEEXT" default=
"dxs"/>
819 <element name=
"PRE.PROCESS" optional=
"yes"/>
820 <element name=
"POST.PROCESS" optional=
"yes"/>
826 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
830 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
833 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
836 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
837 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
838 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
845 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
848 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
859 EFI_SECTION_PEI_DEPEX
861 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
862 <attribute name=
"FILEPATH"/>
863 <attribute name=
"FILENAME"/>
864 <attribute name=
"FILEEXT" default=
"dxs"/>
866 <element name=
"PRE.PROCESS" optional=
"yes"/>
867 <element name=
"POST.PROCESS" optional=
"yes"/>
871 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
875 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
878 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
882 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
883 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
884 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
892 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
895 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
906 <macrodef name="EFI_SECTION_PIC">
907 <attribute name="FILEPATH"/>
908 <attribute name="FILENAME"/>
909 <attribute name="FILEEXT" default=""/>
911 <element name="EXTRA.INC" optional="yes"/>
912 <element name="EXTRA.ARG" optional="yes"/>
915 <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
916 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
917 sectiontype="EFI_SECTION_PIC"/>
930 <macrodef name=
"EFI_SECTION_RAW">
931 <attribute name=
"FILEPATH"/>
932 <attribute name=
"FILENAME"/>
933 <attribute name=
"FILEEXT" default=
"bin"/>
935 <element name=
"PRE.PROCESS" optional=
"yes"/>
936 <element name=
"POST.PROCESS" optional=
"yes"/>
941 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
944 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
949 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
950 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
951 sectiontype=
"EFI_SECTION_RAW"/>
959 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
961 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
962 <attribute name=
"FILEPATH"/>
963 <attribute name=
"FILENAME"/>
964 <attribute name=
"FILEEXT" default=
"fv"/>
966 <element name=
"PRE.PROCESS" optional=
"yes"/>
967 <element name=
"POST.PROCESS" optional=
"yes"/>
972 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
975 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
981 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
982 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
984 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
985 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
986 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
997 <macrodef name=
"Build_Binary">
998 <attribute name=
"FILEPATH"/>
999 <attribute name=
"FILENAME"/>
1000 <attribute name=
"FILEEXT" default=
"bin"/>
1002 <element name=
"EXTRA.INC" optional=
"yes"/>
1003 <element name=
"EXTRA.ARG" optional=
"yes"/>
1006 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1007 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1014 <macrodef name=
"Build_Graphics">
1015 <attribute name=
"FILEPATH"/>
1016 <attribute name=
"FILENAME"/>
1017 <attribute name=
"FILEEXT" default=
"bmp"/>
1019 <element name=
"EXTRA.INC" optional=
"yes"/>
1020 <element name=
"EXTRA.ARG" optional=
"yes"/>
1023 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1024 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1025 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1028 <macrodef name=
"Build_EFI">
1029 <attribute name=
"FILEPATH"/>
1030 <attribute name=
"FILENAME"/>
1031 <attribute name=
"FILEEXT" default=
"efi"/>
1033 <element name=
"EXTRA.INC" optional=
"yes"/>
1034 <element name=
"EXTRA.ARG" optional=
"yes"/>
1037 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1038 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1039 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>