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"/>
138 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}"
139 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">
141 <argument value=
"${PP_FLAGS}"/>
142 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
146 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{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.
162 S - Build_Gcc_Assembly
163 s - Build_Ipf_Assembly -->
166 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
168 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
169 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
170 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
174 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
176 <Build_Gcc_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
177 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
178 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
179 </Build_Gcc_Assembly>
183 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
185 <Build_IPF_Assembly_Code FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
186 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
187 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
188 </Build_IPF_Assembly_Code>
198 <macrodef name=
"Build_Assembly">
199 <attribute name=
"FILEPATH"/>
200 <attribute name=
"FILENAME"/>
201 <attribute name=
"FILEEXT" default=
"asm"/>
203 <element name=
"EXTRA.INC.1" optional=
"yes"/>
204 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
207 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
208 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
209 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
213 <file Name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
216 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
221 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}">
223 <argument value=
"${PP_FLAGS}"/>
224 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
228 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
229 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
232 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
236 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
237 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
243 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
244 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
247 <argument value=
"${ASM_FLAGS}"/>
250 <!-- fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/ -->
251 <fileset casesensitive=
"off" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
260 Build GCC assembly code
262 <macrodef name=
"Build_Gcc_Assembly">
263 <attribute name=
"FILEPATH"/>
264 <attribute name=
"FILENAME"/>
265 <attribute name=
"FILEEXT" default=
"asm"/>
267 <element name=
"EXTRA.INC.1" optional=
"yes"/>
268 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
271 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
272 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
273 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
277 <file Name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
280 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
285 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
287 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">
289 <argument value=
"${PP_FLAGS}"/>
290 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
294 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
295 match=
"^(#[^ ]* +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
298 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
299 match=
"^(#[^ ]* .*)$"
304 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
305 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
308 <argument value=
"${ASM_FLAGS}"/>
311 <!-- fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/ -->
312 <fileset casesensitive=
"off" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
323 <macrodef name=
"Build_IPF_Assembly_Code">
324 <attribute name=
"FILEPATH"/>
325 <attribute name=
"FILENAME"/>
326 <attribute name=
"FILEEXT" default=
"s"/>
328 <element name=
"EXTRA.INC.1" optional=
"yes"/>
329 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
332 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
335 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
337 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
338 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
346 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
349 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
354 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}">
356 <argument value=
"${PP_FLAGS}"/>
357 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
362 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
363 includepathDelimiter=
"-I" outputDelimiter=
"-o"
364 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
366 <argument value=
"${ASM_FLAGS}"/>
368 <fileset casesensitive=
"off" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
377 <macrodef name=
"Build_IPF_PP_Code">
378 <attribute name=
"FILEPATH"/>
379 <attribute name=
"FILENAME"/>
380 <attribute name=
"FILEEXT" default=
"i"/>
382 <element name=
"EXTRA.INC" optional=
"yes"/>
383 <element name=
"EXTRA.ARG" optional=
"yes"/>
386 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
389 <command type=
"ASM" includepathDelimiter=
"-I">
390 <includepath path=
"${WORKSPACE_DIR}"/>
391 <includepath path=
"${MODULE_DIR}"/>
392 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
395 <argument value=
"${ASM_FLAGS}"/>
397 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
398 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
400 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
408 Library private HashMap map = new HashMap();
410 <macrodef name=
"Build_Library">
411 <attribute name=
"FILENAME" />
412 <attribute name=
"FILEEXT" default=
"obj"/>
415 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
416 <var name=
"FILE_PATH" value=
"." />
417 <mkdir dir=
"${BIN_DIR}"/>
421 <file list=
"${OBJECTS}"/>
424 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
429 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
430 outputFile=
"${BIN_DIR}/@{FILENAME}.lib">
431 <argument value=
"${SLINK_FLAGS}"/>
433 <fileset casesensitive=
"off" dir=
"${DEST_DIR_OUTPUT}" includes=
"**/*.obj"/>
444 <macrodef name=
"Build_UNI">
445 <attribute name=
"FILEPATH"/>
446 <attribute name=
"FILENAME"/>
447 <attribute name=
"FILEEXT" default=
"uni"/>
449 <element name=
"EXTRA.INC" optional=
"yes"/>
450 <element name=
"EXTRA.ARG" optional=
"yes"/>
453 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
457 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
460 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
464 <strgather commandtype=
"parse" newdatabase=
"true">
465 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
468 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
473 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
478 .sdb(s) -> .c, .h -> .obj
480 <macrodef name=
"Build_Unicode_Database">
481 <attribute name=
"FILEPATH"/>
482 <attribute name=
"FILENAME"/>
483 <attribute name=
"FILEEXT" default=
"sdb"/>
485 <element name=
"EXTRA.INC" optional=
"yes"/>
486 <element name=
"EXTRA.ARG" optional=
"yes"/>
489 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
490 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
493 <file list=
"${SDB_FILES}"/>
494 <file list=
"${SOURCE_FILES}"/>
497 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
501 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
502 <skipext name=
".uni"/>
504 <database list=
"${SDB_FILES}"/>
505 <inputfile name=
"${SOURCE_FILES}"/>
512 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
515 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
516 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
517 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
521 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
522 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
523 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
524 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
525 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
532 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
535 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
540 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
541 includepathDelimiter=
"-I"
542 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
543 <argument value=
"${CC_FLAGS}"/>
545 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
557 <macrodef name=
"Build_VFR">
558 <attribute name=
"FILEPATH"/>
559 <attribute name=
"FILENAME"/>
560 <attribute name=
"FILEEXT" default=
"vfr"/>
562 <element name=
"EXTRA.INC" optional=
"yes"/>
563 <element name=
"EXTRA.ARG" optional=
"yes"/>
566 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
569 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
571 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
572 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
580 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
583 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
587 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
592 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
593 includepathDelimiter=
"-I" family=
"${CC_FAMILY}"
594 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
595 <argument value=
"${CC_FLAGS}"/>
598 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
601 <delete file=
"${PLATFORM_DIR}/@{FILENAME}.i" />
607 <!--############################################################################
609 #############################################################################-->
613 <macrodef name=
"GenDll">
614 <attribute name=
"FILEPATH"/>
615 <attribute name=
"FILENAME"/>
616 <attribute name=
"FILEEXT"/>
618 <element name=
"LIB.ARG" optional=
"yes"/>
619 <element name=
"LINK.ARG" optional=
"yes"/>
622 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
623 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
626 <!--fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj" /-->
627 <file list=
"${LIBS}"/>
630 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
635 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
636 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">
637 <argument value=
"${SLINK_FLAGS}"/>
639 <fileset casesensitive=
"off" dir=
"${DEST_DIR_OUTPUT}" includes=
"**/*.obj"/>
643 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
644 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" >
645 <argument value=
"${DLINK_FLAGS}"/>
646 <libset libs=
"${LIBS}"/>
647 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
648 <libset libs=
"${DLINK_SPATH}" />
660 <macrodef name=
"GenEfi">
661 <attribute name=
"FILEPATH"/>
662 <attribute name=
"FILENAME"/>
663 <attribute name=
"FILEEXT" default=
"dll"/>
668 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
671 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
676 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
677 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
684 EFI_SECTION_FREEFORM_SUBTYPE_GUID
686 EFI_SECTION_USER_INTERFACE
687 EFI_SECTION_DXE_DEPEX
688 EFI_SECTION_PEI_DEPEX
693 EFI_SECTION_COMPRESSION
694 EFI_SECTION_GUID_DEFINED
695 EFI_SECTION_COMPATIBILITY16
696 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
702 <macrodef name=
"EFI_SECTION_TE">
703 <attribute name=
"FILEPATH"/>
704 <attribute name=
"FILENAME"/>
705 <attribute name=
"FILEEXT" default=
"" />
707 <element name=
"PRE.PROCESS" optional=
"yes"/>
708 <element name=
"POST.PROCESS" optional=
"yes"/>
714 <equals arg1=
"${LIBS}" arg2=
""/>
718 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
720 <LINK.ARG
></LINK.ARG
>
723 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
729 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
732 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>
736 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
737 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
738 <genteimage Dump=
"false" Verbose=
"false" OutputDir=
"" OutputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
740 <exec executable="${GENTEIMAGE}">
741 <arg line="-o ${DEST_DIR_OUTPUT}/@{FILENAME}.te ${DEST_DIR_OUTPUT}/@{FILENAME}.efi" />
744 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" tofile=
"${BIN_DIR}/@{FILENAME}.te" />
745 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"
746 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"
747 sectiontype=
"EFI_SECTION_TE"/>
754 <macrodef name=
"EFI_SECTION_PE32">
755 <attribute name=
"FILEPATH"/>
756 <attribute name=
"FILENAME"/>
757 <attribute name=
"FILEEXT" default=
"" />
759 <element name=
"PRE.PROCESS" optional=
"yes"/>
760 <element name=
"POST.PROCESS" optional=
"yes"/>
766 <!-- TBD ${OBJECTS} -->
767 <equals arg1=
"${LIBS}" arg2=
""/>
771 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
773 <LINK.ARG
></LINK.ARG
>
776 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
782 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
785 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
789 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
791 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
792 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
793 sectiontype=
"EFI_SECTION_PE32"/>
798 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
805 <macrodef name=
"EFI_SECTION_VERSION">
806 <attribute name=
"FILEPATH"/>
807 <attribute name=
"FILENAME"/>
808 <attribute name=
"FILEEXT" default=
"" />
809 <attribute name=
"VERSION" default=
"0000"/>
811 <element name=
"PRE.PROCESS" optional=
"yes"/>
812 <element name=
"POST.PROCESS" optional=
"yes"/>
817 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
822 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
823 versionnum=
"@{VERSION}"
824 sectiontype=
"EFI_SECTION_VERSION"/>
832 EFI_SECTION_USER_INTERFACE
834 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
835 <attribute name=
"FILEPATH"/>
836 <attribute name=
"FILENAME"/>
837 <attribute name=
"FILEEXT" default=
"" />
838 <attribute name=
"UI" default=
"${BASE_NAME}"/>
840 <element name=
"PRE.PROCESS" optional=
"yes"/>
841 <element name=
"POST.PROCESS" optional=
"yes"/>
846 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
851 <gensection interfacestring=
"@{UI}"
852 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
853 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
861 EFI_SECTION_FREEFORM_SUBTYPE_GUID
862 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
863 <attribute name="FILEPATH"/>
864 <attribute name="FILENAME"/>
865 <attribute name="FILEEXT" default=""/>
867 <element name="EXTRA.INC" optional="yes"/>
868 <element name="EXTRA.ARG" optional="yes"/>
871 <gensection inputfile=""
873 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
879 EFI_SECTION_DXE_DEPEX
881 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
882 <attribute name=
"FILEPATH"/>
883 <attribute name=
"FILENAME"/>
884 <attribute name=
"FILEEXT" default=
"dxs"/>
886 <element name=
"PRE.PROCESS" optional=
"yes"/>
887 <element name=
"POST.PROCESS" optional=
"yes"/>
893 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
897 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
900 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
903 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
904 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
905 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
912 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
915 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
926 EFI_SECTION_PEI_DEPEX
928 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
929 <attribute name=
"FILEPATH"/>
930 <attribute name=
"FILENAME"/>
931 <attribute name=
"FILEEXT" default=
"dxs"/>
933 <element name=
"PRE.PROCESS" optional=
"yes"/>
934 <element name=
"POST.PROCESS" optional=
"yes"/>
938 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
942 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
945 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
949 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
950 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
951 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
959 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
962 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
973 <macrodef name="EFI_SECTION_PIC">
974 <attribute name="FILEPATH"/>
975 <attribute name="FILENAME"/>
976 <attribute name="FILEEXT" default=""/>
978 <element name="EXTRA.INC" optional="yes"/>
979 <element name="EXTRA.ARG" optional="yes"/>
982 <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
983 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
984 sectiontype="EFI_SECTION_PIC"/>
997 <macrodef name=
"EFI_SECTION_RAW">
998 <attribute name=
"FILEPATH"/>
999 <attribute name=
"FILENAME"/>
1000 <attribute name=
"FILEEXT" default=
"bin"/>
1002 <element name=
"PRE.PROCESS" optional=
"yes"/>
1003 <element name=
"POST.PROCESS" optional=
"yes"/>
1008 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
1011 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1016 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
1017 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1018 sectiontype=
"EFI_SECTION_RAW"/>
1026 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1028 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1029 <attribute name=
"FILEPATH"/>
1030 <attribute name=
"FILENAME"/>
1031 <attribute name=
"FILEEXT" default=
"fv"/>
1033 <element name=
"PRE.PROCESS" optional=
"yes"/>
1034 <element name=
"POST.PROCESS" optional=
"yes"/>
1039 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1042 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1048 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1049 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1051 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1052 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1053 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1064 <macrodef name=
"Build_Binary">
1065 <attribute name=
"FILEPATH"/>
1066 <attribute name=
"FILENAME"/>
1067 <attribute name=
"FILEEXT" default=
"bin"/>
1069 <element name=
"EXTRA.INC" optional=
"yes"/>
1070 <element name=
"EXTRA.ARG" optional=
"yes"/>
1073 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1074 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1081 <macrodef name=
"Build_Graphics">
1082 <attribute name=
"FILEPATH"/>
1083 <attribute name=
"FILENAME"/>
1084 <attribute name=
"FILEEXT" default=
"bmp"/>
1086 <element name=
"EXTRA.INC" optional=
"yes"/>
1087 <element name=
"EXTRA.ARG" optional=
"yes"/>
1090 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1091 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1092 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1095 <macrodef name=
"Build_EFI">
1096 <attribute name=
"FILEPATH"/>
1097 <attribute name=
"FILENAME"/>
1098 <attribute name=
"FILEEXT" default=
"efi"/>
1100 <element name=
"EXTRA.INC" optional=
"yes"/>
1101 <element name=
"EXTRA.ARG" optional=
"yes"/>
1104 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1105 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1106 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>