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_C_Code">
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 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
31 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
33 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
34 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
35 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
36 <includepath path=
"${WORKSPACE_DIR}"/>
37 <includepath path=
"${MODULE_DIR}"/>
38 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
46 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
49 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
54 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}">
55 <includepath path=
"${WORKSPACE_DIR}"/>
56 <includepath path=
"${MODULE_DIR}"/>
57 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
60 <argument value=
"${CC_FLAGS}"/>
62 <!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> -->
63 <includeFile value=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
64 <!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
65 <outputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
67 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
74 for library generation later
76 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
81 <macrodef name=
"Build_AUTOGEN">
82 <attribute name=
"FILEPATH"/>
83 <attribute name=
"FILENAME"/>
84 <attribute name=
"FILEEXT" default=
"c"/>
86 <element name=
"EXTRA.INC" optional=
"yes"/>
87 <element name=
"EXTRA.ARG" optional=
"yes"/>
90 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
93 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
95 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
96 <input file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
97 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
98 <includepath path=
"${WORKSPACE_DIR}"/>
99 <includepath path=
"${MODULE_DIR}"/>
100 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
108 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
111 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
116 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}">
117 <includepath path=
"${WORKSPACE_DIR}"/>
118 <includepath path=
"${MODULE_DIR}"/>
119 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
122 <argument value=
"${CC_FLAGS}"/>
124 <!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> -->
125 <includeFile value=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
126 <!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
127 <outputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
129 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
135 for library generation later
137 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
141 <macrodef name=
"Build_Dependency_File">
142 <attribute name=
"FILEPATH"/>
143 <attribute name=
"FILENAME"/>
144 <attribute name=
"FILEEXT" default=
"dxs"/>
146 <element name=
"EXTRA.INC" optional=
"yes"/>
147 <element name=
"EXTRA.ARG" optional=
"yes"/>
150 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
154 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
157 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>
161 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
162 tofile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
165 <command type=
"CC" workdir=
".">
166 <includepath path=
"${DEST_DIR_DEBUG}" />
167 <includepath path=
"${WORKSPACE_DIR}"/>
168 <includepath path=
"${MODULE_DIR}"/>
169 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
171 <argument value=
"${PP_FLAGS}"/>
172 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
173 <outputFile value=
"@{FILENAME}.@{FILEEXT}.i"/>
177 <gendepex inputFile=
"@{FILENAME}.@{FILEEXT}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>
178 <delete file=
"@{FILENAME}.@{FILEEXT}.i" />
179 <delete file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c" />
188 FILENAME="${SOURCE_NAME}"
191 <includepath path="${PACKAGE_DIR}/Include"/>
192 <includepath path="${PACKAGE_DIR}/Include/${ARCH}"/>
196 <argument value="/D EFI_DEBUG /D EFI_WHATEVER_FLAG"/>
204 <macrodef name=
"Build_Assembly">
205 <attribute name=
"FILEPATH"/>
206 <attribute name=
"FILENAME"/>
207 <attribute name=
"FILEEXT" default=
"asm"/>
209 <element name=
"EXTRA.INC" optional=
"yes"/>
210 <element name=
"EXTRA.ARG" optional=
"yes"/>
213 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
217 <file Name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
220 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
226 <includepath path=
"${WORKSPACE_DIR}"/>
227 <includepath path=
"${MODULE_DIR}"/>
228 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
231 <argument value=
"${ASM_FLAGS}"/>
233 <argument value=
"/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>
234 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
236 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
242 for library generation later
244 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
249 Build x86 assembly with C preprocessing on AutoGen.h
251 <macrodef name=
"Build_x86_asm_autogen">
252 <attribute name=
"FILEPATH"/>
253 <attribute name=
"FILENAME"/>
254 <attribute name=
"FILEEXT" default=
"asm"/>
256 <element name=
"EXTRA.INC" optional=
"yes"/>
257 <element name=
"EXTRA.ARG" optional=
"yes"/>
260 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
261 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
264 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
266 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
267 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
268 <includepath path=
"${WORKSPACE_DIR}"/>
269 <includepath path=
"${MODULE_DIR}"/>
270 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
278 <file name=
"${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" workdir=
"${DEST_DIR_DEBUG}/@{FILEPATH}">
288 <includepath path=
"${WORKSPACE_DIR}"/>
289 <includepath path=
"${MODULE_DIR}"/>
290 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
292 <argument value=
"${PP_FLAGS}"/>
293 <argument value=
"/FI${DEST_DIR_DEBUG}/AutoGen.h"/>
294 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
297 <replaceregexp file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
298 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
299 replace=
"; Source: ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
301 <replaceregexp file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
305 <replaceregexp file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
306 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
310 <move file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
311 tofile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
314 <includepath path=
"${WORKSPACE_DIR}"/>
315 <includepath path=
"${MODULE_DIR}"/>
316 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
319 <argument value=
"${ASM_FLAGS}"/>
321 <argument value=
"/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>
322 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
324 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
330 for library generation later
332 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
337 Library private HashMap map = new HashMap();
339 <macrodef name=
"Build_Library">
340 <attribute name=
"FILENAME" />
341 <attribute name=
"FILEEXT" default=
"obj"/>
343 <element name=
"EXTRA.INC" optional=
"yes"/>
344 <element name=
"EXTRA.ARG" optional=
"yes"/>
347 <mkdir dir=
"${BIN_DIR}"/>
351 <file list=
"${OBJECTS}"/>
354 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
358 <!-- <echo>re-generate library</echo> -->
361 <argument value=
"${LIB_FLAGS}"/>
362 <!--<argument value="${OBJECTS}"/>-->
363 <FileList dir=
"" files=
"${OBJECTS}"/>
364 <!-- <argument value="/out:${BIN_DIR}/@{FILENAME}.lib"/> -->
365 <OutputFile value=
"${BIN_DIR}/@{FILENAME}.lib"/>
376 <macrodef name=
"Build_GCC_Assembly_Code">
377 <attribute name=
"FILEPATH"/>
378 <attribute name=
"FILENAME"/>
379 <attribute name=
"FILEEXT" default=
"s"/>
381 <element name=
"EXTRA.INC" optional=
"yes"/>
382 <element name=
"EXTRA.ARG" optional=
"yes"/>
385 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
388 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
390 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
391 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
392 <includepath path=
"${WORKSPACE_DIR}"/>
393 <includepath path=
"${MODULE_DIR}"/>
394 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
402 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
405 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
411 <command type=
"ASM" includepathDelimiter=
"-I">
414 <argument value=
"${ASM_FLAGS}"/>
416 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
417 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
419 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
425 for library generation later
427 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
434 <macrodef name=
"Build_IPF_Assembly_Code">
435 <attribute name=
"FILEPATH"/>
436 <attribute name=
"FILENAME"/>
437 <attribute name=
"FILEEXT" default=
"s"/>
439 <element name=
"EXTRA.INC" optional=
"yes"/>
440 <element name=
"EXTRA.ARG" optional=
"yes"/>
443 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
444 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
447 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
449 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
450 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
451 <includepath path=
"${WORKSPACE_DIR}"/>
452 <includepath path=
"${MODULE_DIR}"/>
453 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
461 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
464 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
469 <command type=
"CC" workdir=
"${DEST_DIR_DEBUG}/@{FILEPATH}">
470 <includepath path=
"${WORKSPACE_DIR}"/>
471 <includepath path=
"${MODULE_DIR}"/>
472 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
474 <argument value=
"${PP_FLAGS}"/>
475 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
478 <move file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
479 tofile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
481 <command type=
"ASM" includepathDelimiter=
"-I">
482 <includepath path=
"${WORKSPACE_DIR}"/>
483 <includepath path=
"${MODULE_DIR}"/>
484 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
487 <argument value=
"${ASM_FLAGS}"/>
489 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
490 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
492 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
498 for library generation later
500 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
505 <macrodef name=
"Build_IPF_PP_Code">
506 <attribute name=
"FILEPATH"/>
507 <attribute name=
"FILENAME"/>
508 <attribute name=
"FILEEXT" default=
"i"/>
510 <element name=
"EXTRA.INC" optional=
"yes"/>
511 <element name=
"EXTRA.ARG" optional=
"yes"/>
514 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
517 <command type=
"ASM" includepathDelimiter=
"-I">
518 <includepath path=
"${WORKSPACE_DIR}"/>
519 <includepath path=
"${MODULE_DIR}"/>
520 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
523 <argument value=
"${ASM_FLAGS}"/>
525 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
526 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
528 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
533 for library generation later
535 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
540 [Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]
541 [Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]
543 <macrodef name=
"Build_Custom_Build">
544 <attribute name=
"FILEPATH"/>
545 <attribute name=
"FILENAME"/>
546 <attribute name=
"FILEEXT" default=
"c"/>
548 <element name=
"EXTRA.INC" optional=
"yes"/>
549 <element name=
"EXTRA.ARG" optional=
"yes"/>
559 <macrodef name=
"Build_Unicode">
560 <attribute name=
"FILEPATH"/>
561 <attribute name=
"FILENAME"/>
562 <attribute name=
"FILEEXT" default=
"uni"/>
564 <element name=
"EXTRA.INC" optional=
"yes"/>
565 <element name=
"EXTRA.ARG" optional=
"yes"/>
568 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
572 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
575 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
579 <strgather commandtype=
"parse" newdatabase=
"true">
580 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
581 <includepath path=
"${WORKSPACE_DIR}"/>
582 <includepath path=
"${MODULE_DIR}"/>
583 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
586 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
591 <bl name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
596 .sdb(s) -> .c, .h -> .obj
598 <macrodef name=
"Build_Unicode_Database">
599 <attribute name=
"FILEPATH"/>
600 <attribute name=
"FILENAME"/>
601 <attribute name=
"FILEEXT" default=
"sdb"/>
603 <element name=
"EXTRA.INC" optional=
"yes"/>
604 <element name=
"EXTRA.ARG" optional=
"yes"/>
609 <file list=
"${SDB_FILES}"/>
610 <file list=
"${SOURCE_FILES}"/>
613 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
617 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
618 <skipext name=
".uni"/>
620 <database list=
"${SDB_FILES}"/>
621 <inputfile name=
"${SOURCE_FILES}"/>
628 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
631 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
632 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
633 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
637 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
638 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
639 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
640 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
641 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
648 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
651 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
656 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}" includepathDelimiter=
"-I">
657 <includepath path=
"${WORKSPACE_DIR}"/>
658 <includepath path=
"${MODULE_DIR}"/>
659 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
661 <argument value=
"${CC_FLAGS}"/>
662 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
664 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
670 <bl name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
677 <macrodef name=
"Build_Vfr">
678 <attribute name=
"FILEPATH"/>
679 <attribute name=
"FILENAME"/>
680 <attribute name=
"FILEEXT" default=
"vfr"/>
682 <element name=
"EXTRA.INC" optional=
"yes"/>
683 <element name=
"EXTRA.ARG" optional=
"yes"/>
686 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
689 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
691 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
692 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
693 <!-- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/> -->
694 <includepath path=
"${WORKSPACE_DIR}"/>
695 <includepath path=
"${MODULE_DIR}"/>
696 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
704 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
707 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
711 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
712 <includepath path=
"${WORKSPACE_DIR}"/>
713 <includepath path=
"${MODULE_DIR}"/>
714 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
719 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}" includepathDelimiter=
"-I">
720 <includepath path=
"${WORKSPACE_DIR}"/>
721 <includepath path=
"${MODULE_DIR}"/>
722 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
723 <argument value=
"${CC_FLAGS}"/>
724 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
727 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
731 <delete file=
"@{FILENAME}.i"/>
734 <bl name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
738 <!--############################################################################
740 #############################################################################-->
744 <macrodef name=
"GenDll">
745 <attribute name=
"FILEPATH"/>
746 <attribute name=
"FILENAME"/>
747 <attribute name=
"FILEEXT"/>
749 <element name=
"LIB.ARG" optional=
"yes"/>
750 <element name=
"LINK.ARG" optional=
"yes"/>
755 <file list=
"${OBJECTS}"/>
756 <file list=
"${LIBS}"/>
759 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
765 <argument value=
"${LIB_FLAGS}"/>
766 <FileList dir=
"" files=
"${OBJECTS}"/>
768 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
772 <command type=
"LINK">
773 <argument value=
"${LINK_FLAGS}"/>
774 <libset libs=
"${LIBS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
776 <EntryPoint value=
"_ModuleEntryPoint"/>
777 <map value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.map"/>
778 <pdb value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pdb"/>
779 <OutputFile value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
780 <!-- <FileList dir="" files="${OBJECTS}"/> -->
791 <macrodef name=
"GenEfi">
792 <attribute name=
"FILEPATH"/>
793 <attribute name=
"FILENAME"/>
794 <attribute name=
"FILEEXT" default=
"dll"/>
799 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
802 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
807 <equals arg1=
"${COMPONENT_TYPE}" arg2=
"SEC"/>
809 <var name=
"COMPONENT_TYPE" value=
"SECURITY_CORE"/>
812 <fwimage componenttype=
"${COMPONENT_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
813 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
814 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
821 EFI_SECTION_FREEFORM_SUBTYPE_GUID
823 EFI_SECTION_USER_INTERFACE
824 EFI_SECTION_DXE_DEPEX
825 EFI_SECTION_PEI_DEPEX
830 EFI_SECTION_COMPRESSION
831 EFI_SECTION_GUID_DEFINED
832 EFI_SECTION_COMPATIBILITY16
833 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
838 <macrodef name=
"EFI_SECTION_PE32">
839 <attribute name=
"FILEPATH"/>
840 <attribute name=
"FILENAME"/>
841 <attribute name=
"FILEEXT" default=
"" />
843 <element name=
"PRE.PROCESS" optional=
"yes"/>
844 <element name=
"POST.PROCESS" optional=
"yes"/>
851 <equals arg1=
"${OBJECTS}" arg2=
""/>
855 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
857 <LINK.ARG
></LINK.ARG
>
860 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
866 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
869 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
873 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
874 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
875 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
876 sectiontype=
"EFI_SECTION_PE32"/>
887 <macrodef name=
"EFI_SECTION_VERSION">
888 <attribute name=
"FILEPATH"/>
889 <attribute name=
"FILENAME"/>
890 <attribute name=
"FILEEXT" default=
"" />
891 <attribute name=
"VERSION" default=
"0000"/>
893 <element name=
"PRE.PROCESS" optional=
"yes"/>
894 <element name=
"POST.PROCESS" optional=
"yes"/>
899 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
904 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
905 versionnum=
"@{VERSION}"
906 sectiontype=
"EFI_SECTION_VERSION"/>
914 EFI_SECTION_USER_INTERFACE
916 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
917 <attribute name=
"FILEPATH"/>
918 <attribute name=
"FILENAME"/>
919 <attribute name=
"FILEEXT" default=
"" />
920 <attribute name=
"UI" default=
"${BASE_NAME}"/>
922 <element name=
"PRE.PROCESS" optional=
"yes"/>
923 <element name=
"POST.PROCESS" optional=
"yes"/>
928 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
933 <gensection interfacestring=
"@{UI}"
934 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
935 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
943 EFI_SECTION_FREEFORM_SUBTYPE_GUID
944 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
945 <attribute name="FILEPATH"/>
946 <attribute name="FILENAME"/>
947 <attribute name="FILEEXT" default=""/>
949 <element name="EXTRA.INC" optional="yes"/>
950 <element name="EXTRA.ARG" optional="yes"/>
953 <gensection inputfile=""
955 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
961 EFI_SECTION_DXE_DEPEX
963 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
964 <attribute name=
"FILEPATH"/>
965 <attribute name=
"FILENAME"/>
966 <attribute name=
"FILEEXT" default=
"dxs"/>
968 <element name=
"PRE.PROCESS" optional=
"yes"/>
969 <element name=
"POST.PROCESS" optional=
"yes"/>
975 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
979 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
982 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
985 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
986 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
987 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
994 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
997 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1008 EFI_SECTION_PEI_DEPEX
1010 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
1011 <attribute name=
"FILEPATH"/>
1012 <attribute name=
"FILENAME"/>
1013 <attribute name=
"FILEEXT" default=
"dxs"/>
1015 <element name=
"PRE.PROCESS" optional=
"yes"/>
1016 <element name=
"POST.PROCESS" optional=
"yes"/>
1020 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
1024 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
1027 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1031 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
1032 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1033 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
1041 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1044 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1055 <macrodef name="EFI_SECTION_PIC">
1056 <attribute name="FILEPATH"/>
1057 <attribute name="FILENAME"/>
1058 <attribute name="FILEEXT" default=""/>
1060 <element name="EXTRA.INC" optional="yes"/>
1061 <element name="EXTRA.ARG" optional="yes"/>
1064 <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1065 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1066 sectiontype="EFI_SECTION_PIC"/>
1073 <macrodef name="EFI_SECTION_TE">
1074 <attribute name="FILEPATH"/>
1075 <attribute name="FILENAME"/>
1076 <attribute name="FILEEXT" default=""/>
1078 <element name="EXTRA.INC" optional="yes"/>
1079 <element name="EXTRA.ARG" optional="yes"/>
1082 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1083 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1084 sectiontype="EFI_SECTION_PE32"/>
1092 <macrodef name=
"EFI_SECTION_RAW">
1093 <attribute name=
"FILEPATH"/>
1094 <attribute name=
"FILENAME"/>
1095 <attribute name=
"FILEEXT" default=
"bin"/>
1097 <element name=
"PRE.PROCESS" optional=
"yes"/>
1098 <element name=
"POST.PROCESS" optional=
"yes"/>
1103 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
1106 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1111 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
1112 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1113 sectiontype=
"EFI_SECTION_RAW"/>
1121 EFI_SECTION_COMPRESSION
1122 <macrodef name="EFI_SECTION_COMPRESSION">
1123 <attribute name="FILEPATH"/>
1124 <attribute name="FILENAME"/>
1125 <attribute name="FILEEXT" default=""/>
1127 <element name="EXTRA.INC" optional="yes"/>
1128 <element name="EXTRA.ARG" optional="yes"/>
1131 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1132 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1133 sectiontype="EFI_SECTION_PE32"/>
1139 EFI_SECTION_GUID_DEFINED
1140 <macrodef name="EFI_SECTION_GUID_DEFINED">
1141 <attribute name="FILEPATH"/>
1142 <attribute name="FILENAME"/>
1143 <attribute name="FILEEXT" default=""/>
1145 <element name="EXTRA.INC" optional="yes"/>
1146 <element name="EXTRA.ARG" optional="yes"/>
1149 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1150 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1151 sectiontype="EFI_SECTION_PE32"/>
1157 EFI_SECTION_COMPATIBILITY16
1158 <macrodef name="EFI_SECTION_COMPATIBILITY16">
1159 <attribute name="FILEPATH"/>
1160 <attribute name="FILENAME"/>
1161 <attribute name="FILEEXT" default=""/>
1163 <element name="EXTRA.INC" optional="yes"/>
1164 <element name="EXTRA.ARG" optional="yes"/>
1167 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1168 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1169 sectiontype="EFI_SECTION_PE32"/>
1175 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1177 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1178 <attribute name=
"FILEPATH"/>
1179 <attribute name=
"FILENAME"/>
1180 <attribute name=
"FILEEXT" default=
"fv"/>
1182 <element name=
"PRE.PROCESS" optional=
"yes"/>
1183 <element name=
"POST.PROCESS" optional=
"yes"/>
1188 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1191 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1197 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1198 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1200 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1201 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1202 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1213 <macrodef name=
"Build_Binary">
1214 <attribute name=
"FILEPATH"/>
1215 <attribute name=
"FILENAME"/>
1216 <attribute name=
"FILEEXT" default=
"bin"/>
1218 <element name=
"EXTRA.INC" optional=
"yes"/>
1219 <element name=
"EXTRA.ARG" optional=
"yes"/>
1222 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1223 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1230 <macrodef name=
"Build_Graphics">
1231 <attribute name=
"FILEPATH"/>
1232 <attribute name=
"FILENAME"/>
1233 <attribute name=
"FILEEXT" default=
"bmp"/>
1235 <element name=
"EXTRA.INC" optional=
"yes"/>
1236 <element name=
"EXTRA.ARG" optional=
"yes"/>
1239 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1240 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1241 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1244 <macrodef name=
"Build_EFI">
1245 <attribute name=
"FILEPATH"/>
1246 <attribute name=
"FILENAME"/>
1247 <attribute name=
"FILEEXT" default=
"efi"/>
1249 <element name=
"EXTRA.INC" optional=
"yes"/>
1250 <element name=
"EXTRA.ARG" optional=
"yes"/>
1253 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1254 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1255 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>