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"/>
286 <pathconvert property=
"ModuleDirUnixName" targetos=
"unix">
287 <path path=
"${MODULE_DIR}"/>
291 <replacestring from=
"\" to=
"/"/>
297 <command type=
"CC" workdir=
"${DEST_DIR_DEBUG}/@{FILEPATH}">
298 <includepath path=
"${WORKSPACE_DIR}"/>
299 <includepath path=
"${MODULE_DIR}"/>
300 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
302 <argument value=
"${PP_FLAGS}"/>
303 <argument value=
"/FI${DEST_DIR_DEBUG}/AutoGen.h"/>
304 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
307 <replaceregexp file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
308 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
309 replace=
"; Source: ${ModuleDirUnixName}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
311 <replaceregexp file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
315 <replaceregexp file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
316 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
320 <move file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
321 tofile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
324 <includepath path=
"${WORKSPACE_DIR}"/>
325 <includepath path=
"${MODULE_DIR}"/>
326 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
329 <argument value=
"${ASM_FLAGS}"/>
331 <argument value=
"/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>
332 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
334 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
340 for library generation later
342 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
347 Library private HashMap map = new HashMap();
349 <macrodef name=
"Build_Library">
350 <attribute name=
"FILENAME" />
351 <attribute name=
"FILEEXT" default=
"obj"/>
353 <element name=
"EXTRA.INC" optional=
"yes"/>
354 <element name=
"EXTRA.ARG" optional=
"yes"/>
357 <mkdir dir=
"${BIN_DIR}"/>
361 <file list=
"${OBJECTS}"/>
364 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
368 <!-- <echo>re-generate library</echo> -->
371 <argument value=
"${LIB_FLAGS}"/>
372 <!--<argument value="${OBJECTS}"/>-->
373 <FileList dir=
"" files=
"${OBJECTS}"/>
374 <!-- <argument value="/out:${BIN_DIR}/@{FILENAME}.lib"/> -->
375 <OutputFile value=
"${BIN_DIR}/@{FILENAME}.lib"/>
386 <macrodef name=
"Build_GCC_Assembly_Code">
387 <attribute name=
"FILEPATH"/>
388 <attribute name=
"FILENAME"/>
389 <attribute name=
"FILEEXT" default=
"S"/>
391 <element name=
"EXTRA.INC" optional=
"yes"/>
392 <element name=
"EXTRA.ARG" optional=
"yes"/>
395 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
398 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
400 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
401 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
402 <includepath path=
"${WORKSPACE_DIR}"/>
403 <includepath path=
"${MODULE_DIR}"/>
404 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
412 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
415 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
421 <command type=
"ASM" includepathDelimiter=
"-I">
424 <argument value=
"${ASM_FLAGS}"/>
426 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
427 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
429 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
435 for library generation later
437 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
444 <macrodef name=
"Build_IPF_Assembly_Code">
445 <attribute name=
"FILEPATH"/>
446 <attribute name=
"FILENAME"/>
447 <attribute name=
"FILEEXT" default=
"s"/>
449 <element name=
"EXTRA.INC" optional=
"yes"/>
450 <element name=
"EXTRA.ARG" optional=
"yes"/>
453 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
454 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
457 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
459 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
460 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
461 <includepath path=
"${WORKSPACE_DIR}"/>
462 <includepath path=
"${MODULE_DIR}"/>
463 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
471 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
474 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
479 <command type=
"CC" workdir=
"${DEST_DIR_DEBUG}/@{FILEPATH}">
480 <includepath path=
"${WORKSPACE_DIR}"/>
481 <includepath path=
"${MODULE_DIR}"/>
482 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
484 <argument value=
"${PP_FLAGS}"/>
485 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
488 <move file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.i"
489 tofile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
491 <command type=
"ASM" includepathDelimiter=
"-I">
492 <includepath path=
"${WORKSPACE_DIR}"/>
493 <includepath path=
"${MODULE_DIR}"/>
494 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
497 <argument value=
"${ASM_FLAGS}"/>
499 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
500 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
502 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
508 for library generation later
510 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
515 <macrodef name=
"Build_IPF_PP_Code">
516 <attribute name=
"FILEPATH"/>
517 <attribute name=
"FILENAME"/>
518 <attribute name=
"FILEEXT" default=
"i"/>
520 <element name=
"EXTRA.INC" optional=
"yes"/>
521 <element name=
"EXTRA.ARG" optional=
"yes"/>
524 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
527 <command type=
"ASM" includepathDelimiter=
"-I">
528 <includepath path=
"${WORKSPACE_DIR}"/>
529 <includepath path=
"${MODULE_DIR}"/>
530 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
533 <argument value=
"${ASM_FLAGS}"/>
535 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
536 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
538 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
543 for library generation later
545 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
550 [Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]
551 [Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]
553 <macrodef name=
"Build_Custom_Build">
554 <attribute name=
"FILEPATH"/>
555 <attribute name=
"FILENAME"/>
556 <attribute name=
"FILEEXT" default=
"c"/>
558 <element name=
"EXTRA.INC" optional=
"yes"/>
559 <element name=
"EXTRA.ARG" optional=
"yes"/>
569 <macrodef name=
"Build_Unicode">
570 <attribute name=
"FILEPATH"/>
571 <attribute name=
"FILENAME"/>
572 <attribute name=
"FILEEXT" default=
"uni"/>
574 <element name=
"EXTRA.INC" optional=
"yes"/>
575 <element name=
"EXTRA.ARG" optional=
"yes"/>
578 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
582 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
585 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
589 <strgather commandtype=
"parse" newdatabase=
"true">
590 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
591 <includepath path=
"${WORKSPACE_DIR}"/>
592 <includepath path=
"${MODULE_DIR}"/>
593 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
596 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
601 <bl name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
606 .sdb(s) -> .c, .h -> .obj
608 <macrodef name=
"Build_Unicode_Database">
609 <attribute name=
"FILEPATH"/>
610 <attribute name=
"FILENAME"/>
611 <attribute name=
"FILEEXT" default=
"sdb"/>
613 <element name=
"EXTRA.INC" optional=
"yes"/>
614 <element name=
"EXTRA.ARG" optional=
"yes"/>
619 <file list=
"${SDB_FILES}"/>
620 <file list=
"${SOURCE_FILES}"/>
623 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
627 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
628 <skipext name=
".uni"/>
630 <database list=
"${SDB_FILES}"/>
631 <inputfile name=
"${SOURCE_FILES}"/>
638 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
641 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
642 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
643 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
647 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
648 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
649 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
650 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
651 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
658 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
661 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
666 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}" includepathDelimiter=
"-I">
667 <includepath path=
"${WORKSPACE_DIR}"/>
668 <includepath path=
"${MODULE_DIR}"/>
669 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
671 <argument value=
"${CC_FLAGS}"/>
672 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
674 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
680 <bl name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
687 <macrodef name=
"Build_Vfr">
688 <attribute name=
"FILEPATH"/>
689 <attribute name=
"FILENAME"/>
690 <attribute name=
"FILEEXT" default=
"vfr"/>
692 <element name=
"EXTRA.INC" optional=
"yes"/>
693 <element name=
"EXTRA.ARG" optional=
"yes"/>
696 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
699 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
701 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
702 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
703 <!-- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/> -->
704 <includepath path=
"${WORKSPACE_DIR}"/>
705 <includepath path=
"${MODULE_DIR}"/>
706 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
714 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
717 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
721 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
722 <includepath path=
"${WORKSPACE_DIR}"/>
723 <includepath path=
"${MODULE_DIR}"/>
724 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
729 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}" includepathDelimiter=
"-I">
730 <includepath path=
"${WORKSPACE_DIR}"/>
731 <includepath path=
"${MODULE_DIR}"/>
732 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
733 <argument value=
"${CC_FLAGS}"/>
734 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
737 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
741 <delete file=
"@{FILENAME}.i"/>
744 <bl name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
748 <!--############################################################################
750 #############################################################################-->
754 <macrodef name=
"GenDll">
755 <attribute name=
"FILEPATH"/>
756 <attribute name=
"FILENAME"/>
757 <attribute name=
"FILEEXT"/>
759 <element name=
"LIB.ARG" optional=
"yes"/>
760 <element name=
"LINK.ARG" optional=
"yes"/>
765 <file list=
"${OBJECTS}"/>
766 <file list=
"${LIBS}"/>
769 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
775 <argument value=
"${LIB_FLAGS}"/>
776 <FileList dir=
"" files=
"${OBJECTS}"/>
778 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
782 <command type=
"LINK">
783 <argument value=
"${LINK_FLAGS}"/>
784 <libset libs=
"${LIBS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
786 <EntryPoint value=
"_ModuleEntryPoint"/>
787 <map value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.map"/>
788 <pdb value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pdb"/>
789 <OutputFile value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
790 <!-- <FileList dir="" files="${OBJECTS}"/> -->
801 <macrodef name=
"GenEfi">
802 <attribute name=
"FILEPATH"/>
803 <attribute name=
"FILENAME"/>
804 <attribute name=
"FILEEXT" default=
"dll"/>
809 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
812 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
817 <equals arg1=
"${COMPONENT_TYPE}" arg2=
"SEC"/>
819 <var name=
"COMPONENT_TYPE" value=
"SECURITY_CORE"/>
822 <fwimage componenttype=
"${COMPONENT_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
823 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
824 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
831 EFI_SECTION_FREEFORM_SUBTYPE_GUID
833 EFI_SECTION_USER_INTERFACE
834 EFI_SECTION_DXE_DEPEX
835 EFI_SECTION_PEI_DEPEX
840 EFI_SECTION_COMPRESSION
841 EFI_SECTION_GUID_DEFINED
842 EFI_SECTION_COMPATIBILITY16
843 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
848 <macrodef name=
"EFI_SECTION_PE32">
849 <attribute name=
"FILEPATH"/>
850 <attribute name=
"FILENAME"/>
851 <attribute name=
"FILEEXT" default=
"" />
853 <element name=
"PRE.PROCESS" optional=
"yes"/>
854 <element name=
"POST.PROCESS" optional=
"yes"/>
861 <equals arg1=
"${OBJECTS}" arg2=
""/>
865 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
867 <LINK.ARG
></LINK.ARG
>
870 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
876 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
879 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
883 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
884 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
885 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
886 sectiontype=
"EFI_SECTION_PE32"/>
897 <macrodef name=
"EFI_SECTION_VERSION">
898 <attribute name=
"FILEPATH"/>
899 <attribute name=
"FILENAME"/>
900 <attribute name=
"FILEEXT" default=
"" />
901 <attribute name=
"VERSION" default=
"0000"/>
903 <element name=
"PRE.PROCESS" optional=
"yes"/>
904 <element name=
"POST.PROCESS" optional=
"yes"/>
909 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
914 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
915 versionnum=
"@{VERSION}"
916 sectiontype=
"EFI_SECTION_VERSION"/>
924 EFI_SECTION_USER_INTERFACE
926 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
927 <attribute name=
"FILEPATH"/>
928 <attribute name=
"FILENAME"/>
929 <attribute name=
"FILEEXT" default=
"" />
930 <attribute name=
"UI" default=
"${BASE_NAME}"/>
932 <element name=
"PRE.PROCESS" optional=
"yes"/>
933 <element name=
"POST.PROCESS" optional=
"yes"/>
938 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
943 <gensection interfacestring=
"@{UI}"
944 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
945 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
953 EFI_SECTION_FREEFORM_SUBTYPE_GUID
954 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
955 <attribute name="FILEPATH"/>
956 <attribute name="FILENAME"/>
957 <attribute name="FILEEXT" default=""/>
959 <element name="EXTRA.INC" optional="yes"/>
960 <element name="EXTRA.ARG" optional="yes"/>
963 <gensection inputfile=""
965 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
971 EFI_SECTION_DXE_DEPEX
973 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
974 <attribute name=
"FILEPATH"/>
975 <attribute name=
"FILENAME"/>
976 <attribute name=
"FILEEXT" default=
"dxs"/>
978 <element name=
"PRE.PROCESS" optional=
"yes"/>
979 <element name=
"POST.PROCESS" optional=
"yes"/>
985 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
989 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
992 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
995 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
996 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
997 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
1004 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1007 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1018 EFI_SECTION_PEI_DEPEX
1020 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
1021 <attribute name=
"FILEPATH"/>
1022 <attribute name=
"FILENAME"/>
1023 <attribute name=
"FILEEXT" default=
"dxs"/>
1025 <element name=
"PRE.PROCESS" optional=
"yes"/>
1026 <element name=
"POST.PROCESS" optional=
"yes"/>
1030 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
1034 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
1037 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1041 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
1042 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1043 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
1051 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1054 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1065 <macrodef name="EFI_SECTION_PIC">
1066 <attribute name="FILEPATH"/>
1067 <attribute name="FILENAME"/>
1068 <attribute name="FILEEXT" default=""/>
1070 <element name="EXTRA.INC" optional="yes"/>
1071 <element name="EXTRA.ARG" optional="yes"/>
1074 <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1075 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1076 sectiontype="EFI_SECTION_PIC"/>
1083 <macrodef name="EFI_SECTION_TE">
1084 <attribute name="FILEPATH"/>
1085 <attribute name="FILENAME"/>
1086 <attribute name="FILEEXT" default=""/>
1088 <element name="EXTRA.INC" optional="yes"/>
1089 <element name="EXTRA.ARG" optional="yes"/>
1092 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1093 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1094 sectiontype="EFI_SECTION_PE32"/>
1102 <macrodef name=
"EFI_SECTION_RAW">
1103 <attribute name=
"FILEPATH"/>
1104 <attribute name=
"FILENAME"/>
1105 <attribute name=
"FILEEXT" default=
"bin"/>
1107 <element name=
"PRE.PROCESS" optional=
"yes"/>
1108 <element name=
"POST.PROCESS" optional=
"yes"/>
1113 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
1116 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1121 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
1122 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1123 sectiontype=
"EFI_SECTION_RAW"/>
1131 EFI_SECTION_COMPRESSION
1132 <macrodef name="EFI_SECTION_COMPRESSION">
1133 <attribute name="FILEPATH"/>
1134 <attribute name="FILENAME"/>
1135 <attribute name="FILEEXT" default=""/>
1137 <element name="EXTRA.INC" optional="yes"/>
1138 <element name="EXTRA.ARG" optional="yes"/>
1141 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1142 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1143 sectiontype="EFI_SECTION_PE32"/>
1149 EFI_SECTION_GUID_DEFINED
1150 <macrodef name="EFI_SECTION_GUID_DEFINED">
1151 <attribute name="FILEPATH"/>
1152 <attribute name="FILENAME"/>
1153 <attribute name="FILEEXT" default=""/>
1155 <element name="EXTRA.INC" optional="yes"/>
1156 <element name="EXTRA.ARG" optional="yes"/>
1159 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1160 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1161 sectiontype="EFI_SECTION_PE32"/>
1167 EFI_SECTION_COMPATIBILITY16
1168 <macrodef name="EFI_SECTION_COMPATIBILITY16">
1169 <attribute name="FILEPATH"/>
1170 <attribute name="FILENAME"/>
1171 <attribute name="FILEEXT" default=""/>
1173 <element name="EXTRA.INC" optional="yes"/>
1174 <element name="EXTRA.ARG" optional="yes"/>
1177 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1178 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1179 sectiontype="EFI_SECTION_PE32"/>
1185 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1187 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1188 <attribute name=
"FILEPATH"/>
1189 <attribute name=
"FILENAME"/>
1190 <attribute name=
"FILEEXT" default=
"fv"/>
1192 <element name=
"PRE.PROCESS" optional=
"yes"/>
1193 <element name=
"POST.PROCESS" optional=
"yes"/>
1198 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1201 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1207 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1208 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1210 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1211 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1212 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1223 <macrodef name=
"Build_Binary">
1224 <attribute name=
"FILEPATH"/>
1225 <attribute name=
"FILENAME"/>
1226 <attribute name=
"FILEEXT" default=
"bin"/>
1228 <element name=
"EXTRA.INC" optional=
"yes"/>
1229 <element name=
"EXTRA.ARG" optional=
"yes"/>
1232 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1233 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1240 <macrodef name=
"Build_Graphics">
1241 <attribute name=
"FILEPATH"/>
1242 <attribute name=
"FILENAME"/>
1243 <attribute name=
"FILEEXT" default=
"bmp"/>
1245 <element name=
"EXTRA.INC" optional=
"yes"/>
1246 <element name=
"EXTRA.ARG" optional=
"yes"/>
1249 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1250 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1251 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1254 <macrodef name=
"Build_EFI">
1255 <attribute name=
"FILEPATH"/>
1256 <attribute name=
"FILENAME"/>
1257 <attribute name=
"FILEEXT" default=
"efi"/>
1259 <element name=
"EXTRA.INC" optional=
"yes"/>
1260 <element name=
"EXTRA.ARG" optional=
"yes"/>
1263 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1264 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1265 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>