]>
git.proxmox.com Git - mirror_edk2.git/blob - Tools/Conf/BuildMacro.xml
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">
13 <!-- for user extended tasks or macros -->
14 <import file=
"UserExtension.xml" optional=
"true"/>
17 Macro for intialize some properties. This Macro build will be called before source file build.
19 <macrodef name=
"Build_Init">
20 <element name=
"EXTRA.INC" optional=
"yes"/>
21 <element name=
"EXTRA.ARG" optional=
"yes"/>
24 <var name=
"OBJECTS" value=
"" />
25 <var name=
"SDB_FILES" value=
"" />
27 <mkdir dir=
"${DEST_DIR_DEBUG}"/>
28 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
32 <isset property=
"PCH"/>
34 <equals arg1=
"${PCH}" arg2=
""/>
38 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"
39 TargetFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.gch">
40 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
46 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
49 <file Name=
"${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>
53 <!-- Generate pre-compiled header -->
55 <command type=
"CC" cmd=
"${PCH}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
56 outputFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.obj" dpath=
"${CC_DPATH}" libpath=
"${CC_LIBPATH}"
57 include=
"${CC_INCLUDEPATH}">
59 <argument value=
"${PCH_FLAGS}"/>
61 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
66 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
68 <move file=
"${DEST_DIR_OUTPUT}/AutoGen.h.obj" tofile=
"${DEST_DIR_DEBUG}/AutoGen.h.gch" overwrite=
"true"/>
76 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
79 <var name=
"OBJECTS" value=
"${OBJECTS} AutoGen.h.obj"/>
84 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep">
85 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
95 macro definitions for building files with different types
100 <macrodef name=
"Build_CCode">
101 <attribute name=
"FILEPATH"/>
102 <attribute name=
"FILENAME"/>
103 <attribute name=
"FILEEXT" default=
"c"/>
105 <element name=
"EXTRA.INC" optional=
"yes"/>
106 <element name=
"EXTRA.ARG" optional=
"yes"/>
109 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
110 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
111 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
113 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
114 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
115 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
121 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
122 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
125 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
130 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
131 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
132 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
134 <argument value=
"${CC_FLAGS}"/>
136 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
141 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
143 <equals arg1=
"@{FILEPATH}" arg2=
"." />
145 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
148 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
155 <macrodef name=
"Build_AUTOGEN">
156 <attribute name=
"FILEPATH"/>
157 <attribute name=
"FILENAME"/>
158 <attribute name=
"FILEEXT" default=
"c"/>
160 <element name=
"EXTRA.INC" optional=
"yes"/>
161 <element name=
"EXTRA.ARG" optional=
"yes"/>
164 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
165 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
166 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
168 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
169 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
170 <input file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
176 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
177 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
180 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
185 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
186 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
187 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
189 <argument value=
"${CC_FLAGS}"/>
191 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
196 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
198 <equals arg1=
"@{FILEPATH}" arg2=
"." />
200 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
203 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
209 <macrodef name=
"Build_DPX">
210 <attribute name=
"FILEPATH"/>
211 <attribute name=
"FILENAME"/>
212 <attribute name=
"FILEEXT" default=
"dxs"/>
214 <element name=
"EXTRA.INC" optional=
"yes"/>
215 <element name=
"EXTRA.ARG" optional=
"yes"/>
219 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
220 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
221 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
223 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
224 TargetFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex">
225 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
231 <!--file name="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/-->
232 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
233 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
236 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
241 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}"
242 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath=
"${CC_DPATH}"
243 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
245 <argument value=
"${PP_FLAGS}"/>
246 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
250 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
256 <macrodef name=
"Build_ASM">
257 <attribute name=
"FILEPATH"/>
258 <attribute name=
"FILENAME"/>
259 <attribute name=
"FILEEXT" default=
"asm"/>
261 <element name=
"EXTRA.INC" optional=
"yes"/>
262 <element name=
"EXTRA.ARG" optional=
"yes"/>
264 <!-- Dispath ASM file, there are three type.
266 S - Build_Gcc_Assembly
267 s - Build_Ipf_Assembly -->
270 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
272 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
273 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
274 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
278 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
280 <Build_Gcc_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
281 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
282 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
283 </Build_Gcc_Assembly>
287 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
289 <Build_IPF_Assembly_Code FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
290 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
291 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
292 </Build_IPF_Assembly_Code>
302 <macrodef name=
"Build_Assembly">
303 <attribute name=
"FILEPATH"/>
304 <attribute name=
"FILENAME"/>
305 <attribute name=
"FILEEXT" default=
"asm"/>
307 <element name=
"EXTRA.INC.1" optional=
"yes"/>
308 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
311 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
312 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
313 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
315 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
316 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
317 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
323 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
324 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
327 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
332 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
333 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
335 <argument value=
"${PP_FLAGS}"/>
336 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
340 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
341 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
344 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
348 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
349 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
355 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
356 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
357 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
360 <argument value=
"${ASM_FLAGS}"/>
363 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
368 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
370 <equals arg1=
"@{FILEPATH}" arg2=
"." />
372 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
375 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
382 Build GCC assembly code
384 <macrodef name=
"Build_Gcc_Assembly">
385 <attribute name=
"FILEPATH"/>
386 <attribute name=
"FILENAME"/>
387 <attribute name=
"FILEEXT" default=
"asm"/>
389 <element name=
"EXTRA.INC.1" optional=
"yes"/>
390 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
393 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
394 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
395 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
397 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
398 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
399 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
405 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
406 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
409 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
414 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
415 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
416 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
419 <argument value=
"${ASM_FLAGS}"/>
422 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
427 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
429 <equals arg1=
"@{FILEPATH}" arg2=
"." />
431 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
434 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
443 <macrodef name=
"Build_IPF_Assembly_Code">
444 <attribute name=
"FILEPATH"/>
445 <attribute name=
"FILENAME"/>
446 <attribute name=
"FILEEXT" default=
"s"/>
448 <element name=
"EXTRA.INC.1" optional=
"yes"/>
449 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
452 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
454 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
455 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
456 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
462 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
463 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
466 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
471 <command type=
"PP" cmd=
"${APP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${APP_FAMILY}"
472 dpath=
"${APP_DPATH}" libpath=
"${APP_LIBPATH}" include=
"${APP_INCLUDEPATH}">
474 <argument value=
"${APP_FLAGS}"/>
475 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
480 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
481 includepathDelimiter=
"-I" outputDelimiter=
"-o" dpath=
"${ASM_DPATH}"
482 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}"
483 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
485 <argument value=
"${ASM_FLAGS}"/>
487 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
492 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
494 <equals arg1=
"@{FILEPATH}" arg2=
"." />
496 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
499 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
507 Assembly the preprocessed IPF assembly code
509 <macrodef name=
"Build_IPF_PP_Code">
510 <attribute name=
"FILEPATH"/>
511 <attribute name=
"FILENAME"/>
512 <attribute name=
"FILEEXT" default=
"i"/>
514 <element name=
"EXTRA.INC" optional=
"yes"/>
515 <element name=
"EXTRA.ARG" optional=
"yes"/>
518 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
521 <command type=
"ASM" includepathDelimiter=
"-I" dpath=
"${ASM_DPATH}"
522 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
523 <includepath path=
"${WORKSPACE_DIR}"/>
524 <includepath path=
"${MODULE_DIR}"/>
525 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
528 <argument value=
"${ASM_FLAGS}"/>
530 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
532 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
542 <macrodef name=
"Build_Library">
543 <attribute name=
"FILENAME" />
544 <attribute name=
"FILEEXT" default=
"obj"/>
547 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
548 <var name=
"FILE_PATH" value=
"." />
549 <mkdir dir=
"${BIN_DIR}"/>
552 <equals arg1=
"${OBJECTS}" arg2=
"" trim=
"true"/>
554 <fail message=
"No object files"/>
560 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
563 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
568 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
569 outputFile=
"${BIN_DIR}/@{FILENAME}.lib" dpath=
"${SLINK_DPATH}"
570 libpath=
"${SLINK_LIBPATH}" include=
"${SLINK_INCLUDEPATH}">
571 <argument value=
"${SLINK_FLAGS}"/>
573 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
584 <macrodef name=
"Build_UNI">
585 <attribute name=
"FILEPATH"/>
586 <attribute name=
"FILENAME"/>
587 <attribute name=
"FILEEXT" default=
"uni"/>
589 <element name=
"EXTRA.INC" optional=
"yes"/>
590 <element name=
"EXTRA.ARG" optional=
"yes"/>
593 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
594 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
595 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb">
596 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
602 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
605 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
609 <strgather commandtype=
"parse" newdatabase=
"true">
610 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
613 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
618 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
623 .sdb(s) -> .c, .h -> .obj
625 <macrodef name=
"Build_Unicode_Database">
626 <attribute name=
"FILEPATH"/>
627 <attribute name=
"FILENAME"/>
628 <attribute name=
"FILEEXT" default=
"sdb"/>
630 <element name=
"EXTRA.INC" optional=
"yes"/>
631 <element name=
"EXTRA.ARG" optional=
"yes"/>
634 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
635 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
638 <file list=
"${SDB_FILES}"/>
639 <file list=
"${SOURCE_FILES}"/>
642 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
646 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
647 <skipext name=
".uni"/>
649 <database list=
"${SDB_FILES}"/>
650 <inputfile name=
"${SOURCE_FILES}"/>
657 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
660 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
661 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
662 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
666 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
667 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
668 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
669 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
670 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
677 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
678 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
681 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
686 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
687 includepathDelimiter=
"-I" dpath=
"${CC_DPATH}"
688 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
689 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
690 <argument value=
"${CC_FLAGS}"/>
692 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
698 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
700 <equals arg1=
"@{FILEPATH}" arg2=
"." />
702 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}Strings.obj" />
705 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}Strings.obj" />
714 <macrodef name=
"Build_VFR">
715 <attribute name=
"FILEPATH"/>
716 <attribute name=
"FILENAME"/>
717 <attribute name=
"FILEEXT" default=
"vfr"/>
719 <element name=
"EXTRA.INC" optional=
"yes"/>
720 <element name=
"EXTRA.ARG" optional=
"yes"/>
723 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
725 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
726 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
727 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
733 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
734 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
737 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
741 <!-- if "TOOLCHIAN FAMILY" is "GCC", it should point the ouput file for preprocess compiler -->
743 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
746 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
747 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
748 <argument value=
"${VFRPP_FLAGS} -o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
749 <!-- Output file of the preprocess -->
751 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
757 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
758 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
759 <argument value=
"${VFRPP_FLAGS}"/>
760 <!-- Output file of the preprocess -->
762 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
768 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">
773 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
774 includepathDelimiter=
"-I" family=
"${CC_FAMILY}" dpath=
"${CC_DPATH}"
775 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
776 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
777 <argument value=
"${CC_FLAGS}"/>
780 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
785 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
787 <equals arg1=
"@{FILEPATH}" arg2=
"." />
789 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
792 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
799 Build the real mode ASM file
801 <macrodef name=
"Build_RealAsm">
802 <attribute name=
"FILEPATH"/>
803 <attribute name=
"FILENAME"/>
804 <attribute name=
"FILEEXT" default=
"asm"/>
806 <element name=
"EXTRA.INC" optional=
"yes"/>
807 <element name=
"EXTRA.ARG" optional=
"yes"/>
812 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
815 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat"/>
819 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASM}" failonerror=
"true">
820 <arg line=
"/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>
822 <concat destfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat" binary=
"yes">
823 <filelist dir=
"${MODULE_DIR}" files=
"Blank2.pad"/>
824 <filelist dir=
"${DEST_DIR_OUTPUT}" files=
"@{FILENAME}.com"/>
834 <macrodef name=
"Build_ASL">
835 <attribute name=
"FILEPATH"/>
836 <attribute name=
"FILENAME"/>
837 <attribute name=
"FILEEXT" default=
"asl"/>
839 <element name=
"EXTRA.INC" optional=
"yes"/>
840 <element name=
"EXTRA.ARG" optional=
"yes"/>
843 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
847 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
850 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
855 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${PP_FAMILY}"
856 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
857 <argument value=
"${APP_FLAGS}"/>
859 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
863 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASL}" failonerror=
"true" outputproperty=
"ASL_OUTPUT">
864 <arg line=
"${DEST_DIR_OUTPUT}/@{FILENAME}.i"/>
869 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 2.0"/>
870 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 1.0"/>
873 <fail message=
"Current Asl tool not support Acpi Spec 3.0. Pls update your Asl compiler."/>
877 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"aml"/>
885 Build Asl table c file
887 <macrodef name=
"Build_CCASL">
888 <attribute name=
"FILEPATH"/>
889 <attribute name=
"FILENAME"/>
890 <attribute name=
"FILEEXT" default=
"c"/>
892 <element name=
"EXTRA.INC" optional=
"yes"/>
893 <element name=
"EXTRA.ARG" optional=
"yes"/>
896 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
900 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
903 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
909 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
910 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
911 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
913 <argument value=
"${CC_FLAGS}"/>
915 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
920 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
921 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" dpath=
"${DLINK_DPATH}" >
922 <argument value=
"${SLINK_FLAGS}"/>
923 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj"/>
927 <genacpitable inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />
929 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"acpi"/>
937 <macrodef name=
"Build_ACPIBIN">
938 <attribute name=
"FILEPATH"/>
939 <attribute name=
"FILENAME"/>
940 <attribute name=
"FILEEXT" default=
"bin"/>
942 <element name=
"EXTRA.INC" optional=
"yes"/>
943 <element name=
"EXTRA.ARG" optional=
"yes"/>
946 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
950 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
953 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
957 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" tofile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />
959 <exec executable=
"attrib">
960 <arg line=
"-r ${DEST_DIR_OUTPUT}/@{FILENAME}.acpi"/>
963 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"acpi"/>
970 DUMMY - for skipping the source file which should not be built
972 <macrodef name=
"Build_DUMMY">
973 <attribute name=
"FILEPATH"/>
974 <attribute name=
"FILENAME"/>
975 <attribute name=
"FILEEXT"/>
977 <element name=
"EXTRA.INC" optional=
"yes"/>
978 <element name=
"EXTRA.ARG" optional=
"yes"/>
981 <!--echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" /-->
988 <macrodef name=
"GenEfi">
989 <attribute name=
"FILEPATH"/>
990 <attribute name=
"FILENAME"/>
991 <attribute name=
"FILEEXT" default=
"efi"/>
993 <element name=
"LIB.ARG" optional=
"yes"/>
994 <element name=
"LINK.ARG" optional=
"yes"/>
997 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
998 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
1001 <file list=
"${LIBS}"/>
1002 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
1005 <file name=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi"/>
1009 <!-- Generate a temporary lib file for object files -->
1010 <cc userdefine=
"on">
1011 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}" dpath=
"${SLINK_DPATH}"
1012 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}Local.lib"
1013 libpath=
"${SLINKLIBPATH}" include=
"${SLINK_INCLUDEPATH}">
1014 <argument value=
"${SLINK_FLAGS}"/>
1016 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
1020 <!-- Link the temporary lib file with dependent libraries -->
1021 <cc userdefine=
"on">
1022 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
1023 outputFile=
"${DEST_DIR_DEBUG}/@{FILENAME}.dll" dpath=
"${DLINK_DPATH}"
1024 libpath=
"${DLINK_LIBPATH}" include=
"${DLINK_INCLUDEPATH}">
1025 <argument value=
"${DLINK_FLAGS}"/>
1026 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>
1031 <!-- Convert the dll file to efi file -->
1032 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1033 peImage=
"${DEST_DIR_DEBUG}/@{FILENAME}.dll" time=
"0"/>
1035 <!-- Copy the efi file to BIN and OUTPUT directory -->
1036 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
1037 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
1039 <available file=
"${DEST_DIR_DEBUG}/@{FILENAME}.map" />
1041 <copy file=
"${DEST_DIR_DEBUG}/@{FILENAME}.map" tofile=
"${BIN_DIR}/@{FILENAME}.map" />
1052 <macrodef name=
"Build_Binary">
1053 <attribute name=
"FILEPATH"/>
1054 <attribute name=
"FILENAME"/>
1055 <attribute name=
"FILEEXT" default=
"bin"/>
1057 <element name=
"EXTRA.INC" optional=
"yes"/>
1058 <element name=
"EXTRA.ARG" optional=
"yes"/>
1061 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1062 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1069 <macrodef name=
"Build_MICROCODE">
1070 <attribute name=
"FILEPATH"/>
1071 <attribute name=
"FILENAME"/>
1072 <attribute name=
"FILEEXT" default=
"TXT"/>
1074 <element name=
"EXTRA.INC" optional=
"yes"/>
1075 <element name=
"EXTRA.ARG" optional=
"yes"/>
1078 <mkdir dir=
"${TARGET_DIR}/Microcode"/>
1079 <flashmap MCIFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" MCOFILE=
"${TARGET_DIR}/Microcode/@{FILENAME}.bin"/>
1086 <macrodef name=
"Build_BMP">
1087 <attribute name=
"FILEPATH"/>
1088 <attribute name=
"FILENAME"/>
1089 <attribute name=
"FILEEXT" default=
"bmp"/>
1091 <element name=
"EXTRA.INC" optional=
"yes"/>
1092 <element name=
"EXTRA.ARG" optional=
"yes"/>
1095 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1096 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1103 <macrodef name=
"Build_EFI">
1104 <attribute name=
"FILEPATH"/>
1105 <attribute name=
"FILENAME"/>
1106 <attribute name=
"FILEEXT" default=
"efi"/>
1108 <element name=
"EXTRA.INC" optional=
"yes"/>
1109 <element name=
"EXTRA.ARG" optional=
"yes"/>
1112 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1113 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1114 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>
1119 Build macro for Apriori
1121 <macrodef name=
"Build_Apriori">
1122 <attribute name=
"FILEPATH" default=
"."/>
1123 <attribute name=
"FILENAME"/>
1124 <attribute name=
"FILEEXT" default=
"apr"/>
1125 <attribute name=
"GUID"/>
1128 <mkdir dir=
"${FV_DIR}/Apriori" />
1129 <gensection inputfile=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1130 outputfile=
"${FV_DIR}/Apriori/@{FILENAME}.sec"
1131 sectiontype=
"EFI_SECTION_RAW"/>
1133 <genffsfile BaseName=
"@{FILENAME}" ffsATTRIBCHECKSUM=
"TRUE" ffsFILETYPE=
"EFI_FV_FILETYPE_FREEFORM"
1134 fileGuid=
"@{GUID}" moduleType=
"BASE" outputDir=
"${FV_DIR}">
1135 <sectFile fileName=
"${FV_DIR}/Apriori/@{FILENAME}.sec"/>
1141 <!--############################################################################
1143 #############################################################################-->
1148 <macrodef name=
"EFI_SECTION_TE">
1149 <attribute name=
"FILEPATH"/>
1150 <attribute name=
"FILENAME"/>
1151 <attribute name=
"FILEEXT" default=
"efi" />
1153 <element name=
"PRE.PROCESS" optional=
"yes"/>
1154 <element name=
"POST.PROCESS" optional=
"yes"/>
1159 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1162 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>
1168 <genteimage Dump=
"false" Verbose=
"false" OutputDir=
"" OutputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1169 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"
1170 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"
1171 sectiontype=
"EFI_SECTION_TE"/>
1182 <macrodef name=
"EFI_SECTION_PE32">
1183 <attribute name=
"FILEPATH"/>
1184 <attribute name=
"FILENAME"/>
1185 <attribute name=
"FILEEXT" default=
"efi"/>
1187 <element name=
"PRE.PROCESS" optional=
"yes"/>
1188 <element name=
"POST.PROCESS" optional=
"yes"/>
1193 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1196 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
1202 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1203 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
1204 sectiontype=
"EFI_SECTION_PE32"/>
1215 <macrodef name=
"EFI_SECTION_VERSION">
1216 <attribute name=
"FILEPATH"/>
1217 <attribute name=
"FILENAME"/>
1218 <attribute name=
"FILEEXT" default=
"" />
1219 <attribute name=
"VERSION" default=
"0000"/>
1221 <element name=
"PRE.PROCESS" optional=
"yes"/>
1222 <element name=
"POST.PROCESS" optional=
"yes"/>
1227 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
1232 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
1233 versionnum=
"@{VERSION}"
1234 sectiontype=
"EFI_SECTION_VERSION"/>
1242 EFI_SECTION_USER_INTERFACE
1244 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
1245 <attribute name=
"FILEPATH"/>
1246 <attribute name=
"FILENAME"/>
1247 <attribute name=
"FILEEXT" default=
"" />
1248 <attribute name=
"UI" default=
"${BASE_NAME}"/>
1250 <element name=
"PRE.PROCESS" optional=
"yes"/>
1251 <element name=
"POST.PROCESS" optional=
"yes"/>
1256 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
1261 <gensection interfacestring=
"@{UI}"
1262 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
1263 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
1271 EFI_SECTION_DXE_DEPEX
1273 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
1274 <attribute name=
"FILEPATH"/>
1275 <attribute name=
"FILENAME"/>
1276 <attribute name=
"FILEEXT" default=
"dxs"/>
1278 <element name=
"PRE.PROCESS" optional=
"yes"/>
1279 <element name=
"POST.PROCESS" optional=
"yes"/>
1285 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1289 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1292 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1295 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1296 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1297 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
1304 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1307 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1318 EFI_SECTION_PEI_DEPEX
1320 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
1321 <attribute name=
"FILEPATH"/>
1322 <attribute name=
"FILENAME"/>
1323 <attribute name=
"FILEEXT" default=
"dxs"/>
1325 <element name=
"PRE.PROCESS" optional=
"yes"/>
1326 <element name=
"POST.PROCESS" optional=
"yes"/>
1330 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1334 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1337 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1341 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1342 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1343 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
1351 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1354 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1367 <macrodef name=
"EFI_SECTION_RAW">
1368 <attribute name=
"FILEPATH"/>
1369 <attribute name=
"FILENAME"/>
1370 <attribute name=
"FILEEXT" default=
"bin"/>
1372 <element name=
"PRE.PROCESS" optional=
"yes"/>
1373 <element name=
"POST.PROCESS" optional=
"yes"/>
1378 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1381 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1386 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1387 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1388 sectiontype=
"EFI_SECTION_RAW"/>
1398 <macrodef name=
"EFI_SECTION_RAW_SEC">
1399 <attribute name=
"FILEPATH"/>
1400 <attribute name=
"FILENAME"/>
1401 <attribute name=
"FILEEXT" default=
"cat"/>
1403 <element name=
"PRE.PROCESS" optional=
"yes"/>
1404 <element name=
"POST.PROCESS" optional=
"yes"/>
1409 <file name=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"/>
1410 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"/>
1413 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1418 <secfixup secexefile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" resetvectorDatafile=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"
1419 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"/>
1421 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"
1422 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1423 sectiontype=
"EFI_SECTION_RAW"/>
1431 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1433 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1434 <attribute name=
"FILEPATH"/>
1435 <attribute name=
"FILENAME"/>
1436 <attribute name=
"FILEEXT" default=
"fv"/>
1438 <element name=
"PRE.PROCESS" optional=
"yes"/>
1439 <element name=
"POST.PROCESS" optional=
"yes"/>
1444 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1447 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1453 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1454 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1456 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1457 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1458 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>