71fd0625961aeff3e57b738d37775aee7e2bd2cf
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}"/>
225 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
228 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
233 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}"
234 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath=
"${CC_DPATH}"
235 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
237 <argument value=
"${PP_FLAGS}"/>
238 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
242 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
248 <macrodef name=
"Build_ASM">
249 <attribute name=
"FILEPATH"/>
250 <attribute name=
"FILENAME"/>
251 <attribute name=
"FILEEXT" default=
"asm"/>
253 <element name=
"EXTRA.INC" optional=
"yes"/>
254 <element name=
"EXTRA.ARG" optional=
"yes"/>
256 <!-- Dispath ASM file, there are three type.
258 S - Build_Gcc_Assembly
259 s - Build_Ipf_Assembly -->
262 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
264 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
265 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
266 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
270 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
272 <Build_Gcc_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>
275 </Build_Gcc_Assembly>
279 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
281 <Build_IPF_Assembly_Code FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
282 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
283 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
284 </Build_IPF_Assembly_Code>
294 <macrodef name=
"Build_Assembly">
295 <attribute name=
"FILEPATH"/>
296 <attribute name=
"FILENAME"/>
297 <attribute name=
"FILEEXT" default=
"asm"/>
299 <element name=
"EXTRA.INC.1" optional=
"yes"/>
300 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
303 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
304 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
305 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
307 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
308 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
309 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
315 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
316 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
319 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
324 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
325 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
327 <argument value=
"${PP_FLAGS}"/>
328 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
332 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
333 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
336 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
340 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
341 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
347 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
348 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
349 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
352 <argument value=
"${ASM_FLAGS}"/>
355 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
360 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
362 <equals arg1=
"@{FILEPATH}" arg2=
"." />
364 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
367 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
374 Build GCC assembly code
376 <macrodef name=
"Build_Gcc_Assembly">
377 <attribute name=
"FILEPATH"/>
378 <attribute name=
"FILENAME"/>
379 <attribute name=
"FILEEXT" default=
"asm"/>
381 <element name=
"EXTRA.INC.1" optional=
"yes"/>
382 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
385 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
386 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
387 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
389 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
390 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
391 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
397 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
398 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
401 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
406 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
407 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
408 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
411 <argument value=
"${ASM_FLAGS}"/>
414 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
419 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
421 <equals arg1=
"@{FILEPATH}" arg2=
"." />
423 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
426 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
435 <macrodef name=
"Build_IPF_Assembly_Code">
436 <attribute name=
"FILEPATH"/>
437 <attribute name=
"FILENAME"/>
438 <attribute name=
"FILEEXT" default=
"s"/>
440 <element name=
"EXTRA.INC.1" optional=
"yes"/>
441 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
444 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
446 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
447 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
448 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
454 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
455 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
458 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
463 <command type=
"PP" cmd=
"${APP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${APP_FAMILY}"
464 dpath=
"${APP_DPATH}" libpath=
"${APP_LIBPATH}" include=
"${APP_INCLUDEPATH}">
466 <argument value=
"${APP_FLAGS}"/>
467 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
472 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
473 includepathDelimiter=
"-I" outputDelimiter=
"-o" dpath=
"${ASM_DPATH}"
474 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}"
475 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
477 <argument value=
"${ASM_FLAGS}"/>
479 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
484 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
486 <equals arg1=
"@{FILEPATH}" arg2=
"." />
488 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
491 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
499 Assembly the preprocessed IPF assembly code
501 <macrodef name=
"Build_IPF_PP_Code">
502 <attribute name=
"FILEPATH"/>
503 <attribute name=
"FILENAME"/>
504 <attribute name=
"FILEEXT" default=
"i"/>
506 <element name=
"EXTRA.INC" optional=
"yes"/>
507 <element name=
"EXTRA.ARG" optional=
"yes"/>
510 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
513 <command type=
"ASM" includepathDelimiter=
"-I" dpath=
"${ASM_DPATH}"
514 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
515 <includepath path=
"${WORKSPACE_DIR}"/>
516 <includepath path=
"${MODULE_DIR}"/>
517 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
520 <argument value=
"${ASM_FLAGS}"/>
522 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
524 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
534 <macrodef name=
"Build_Library">
535 <attribute name=
"FILENAME" />
536 <attribute name=
"FILEEXT" default=
"obj"/>
539 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
540 <var name=
"FILE_PATH" value=
"." />
541 <mkdir dir=
"${BIN_DIR}"/>
544 <equals arg1=
"${OBJECTS}" arg2=
"" trim=
"true"/>
546 <fail message=
"No object files"/>
552 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
555 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
560 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
561 outputFile=
"${BIN_DIR}/@{FILENAME}.lib" dpath=
"${SLINK_DPATH}"
562 libpath=
"${SLINK_LIBPATH}" include=
"${SLINK_INCLUDEPATH}">
563 <argument value=
"${SLINK_FLAGS}"/>
565 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
576 <macrodef name=
"Build_UNI">
577 <attribute name=
"FILEPATH"/>
578 <attribute name=
"FILENAME"/>
579 <attribute name=
"FILEEXT" default=
"uni"/>
581 <element name=
"EXTRA.INC" optional=
"yes"/>
582 <element name=
"EXTRA.ARG" optional=
"yes"/>
585 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
586 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
587 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb">
588 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
594 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
597 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
601 <strgather commandtype=
"parse" newdatabase=
"true">
602 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
605 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
610 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
615 .sdb(s) -> .c, .h -> .obj
617 <macrodef name=
"Build_Unicode_Database">
618 <attribute name=
"FILEPATH"/>
619 <attribute name=
"FILENAME"/>
620 <attribute name=
"FILEEXT" default=
"sdb"/>
622 <element name=
"EXTRA.INC" optional=
"yes"/>
623 <element name=
"EXTRA.ARG" optional=
"yes"/>
626 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
627 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
630 <file list=
"${SDB_FILES}"/>
631 <file list=
"${SOURCE_FILES}"/>
634 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
638 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
639 <skipext name=
".uni"/>
641 <database list=
"${SDB_FILES}"/>
642 <inputfile name=
"${SOURCE_FILES}"/>
649 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
652 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
653 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
654 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
658 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
659 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
660 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
661 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
662 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
669 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
670 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
673 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
678 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
679 includepathDelimiter=
"-I" dpath=
"${CC_DPATH}"
680 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
681 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
682 <argument value=
"${CC_FLAGS}"/>
684 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
690 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
692 <equals arg1=
"@{FILEPATH}" arg2=
"." />
694 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}Strings.obj" />
697 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}Strings.obj" />
706 <macrodef name=
"Build_VFR">
707 <attribute name=
"FILEPATH"/>
708 <attribute name=
"FILENAME"/>
709 <attribute name=
"FILEEXT" default=
"vfr"/>
711 <element name=
"EXTRA.INC" optional=
"yes"/>
712 <element name=
"EXTRA.ARG" optional=
"yes"/>
715 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
717 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
718 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
719 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
725 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
726 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
729 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
733 <!-- if "TOOLCHIAN FAMILY" is "GCC", it should point the ouput file for preprocess compiler -->
735 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
738 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
739 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
740 <argument value=
"${VFRPP_FLAGS} -o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
741 <!-- Output file of the preprocess -->
743 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
751 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
755 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
756 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
757 <argument value=
"${VFRPP_FLAGS} ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
758 <!-- Output file of the preprocess -->
760 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
767 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">
772 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
773 includepathDelimiter=
"-I" family=
"${CC_FAMILY}" dpath=
"${CC_DPATH}"
774 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
775 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
776 <argument value=
"${CC_FLAGS}"/>
779 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
784 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
786 <equals arg1=
"@{FILEPATH}" arg2=
"." />
788 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
791 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
798 Build the real mode ASM file
800 <macrodef name=
"Build_RealAsm">
801 <attribute name=
"FILEPATH"/>
802 <attribute name=
"FILENAME"/>
803 <attribute name=
"FILEEXT" default=
"asm"/>
805 <element name=
"EXTRA.INC" optional=
"yes"/>
806 <element name=
"EXTRA.ARG" optional=
"yes"/>
811 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
814 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat"/>
818 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASM}" failonerror=
"true">
819 <arg line=
"/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>
821 <concat destfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat" binary=
"yes">
822 <filelist dir=
"${MODULE_DIR}" files=
"Blank2.pad"/>
823 <filelist dir=
"${DEST_DIR_OUTPUT}" files=
"@{FILENAME}.com"/>
833 <macrodef name=
"Build_ASL">
834 <attribute name=
"FILEPATH"/>
835 <attribute name=
"FILENAME"/>
836 <attribute name=
"FILEEXT" default=
"asl"/>
838 <element name=
"EXTRA.INC" optional=
"yes"/>
839 <element name=
"EXTRA.ARG" optional=
"yes"/>
842 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
846 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
849 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
854 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${PP_FAMILY}"
855 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
856 <argument value=
"${APP_FLAGS}"/>
858 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
862 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASL}" failonerror=
"true" outputproperty=
"ASL_OUTPUT">
863 <arg line=
"${DEST_DIR_OUTPUT}/@{FILENAME}.i"/>
868 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 2.0"/>
869 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 1.0"/>
872 <fail message=
"Current Asl tool not support Acpi Spec 3.0. Pls update your Asl compiler."/>
876 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"aml"/>
884 Build Asl table c file
886 <macrodef name=
"Build_CCASL">
887 <attribute name=
"FILEPATH"/>
888 <attribute name=
"FILENAME"/>
889 <attribute name=
"FILEEXT" default=
"c"/>
891 <element name=
"EXTRA.INC" optional=
"yes"/>
892 <element name=
"EXTRA.ARG" optional=
"yes"/>
895 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
899 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
902 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
908 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
909 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
910 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
912 <argument value=
"${CC_FLAGS}"/>
914 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
919 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
920 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" dpath=
"${DLINK_DPATH}" >
921 <argument value=
"${SLINK_FLAGS}"/>
922 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj"/>
926 <genacpitable inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />
928 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"acpi"/>
936 <macrodef name=
"Build_ACPIBIN">
937 <attribute name=
"FILEPATH"/>
938 <attribute name=
"FILENAME"/>
939 <attribute name=
"FILEEXT" default=
"bin"/>
941 <element name=
"EXTRA.INC" optional=
"yes"/>
942 <element name=
"EXTRA.ARG" optional=
"yes"/>
945 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
949 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
952 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
956 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" tofile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />
958 <exec executable=
"attrib">
959 <arg line=
"-r ${DEST_DIR_OUTPUT}/@{FILENAME}.acpi"/>
962 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"acpi"/>
969 DUMMY - for skipping the source file which should not be built
971 <macrodef name=
"Build_DUMMY">
972 <attribute name=
"FILEPATH"/>
973 <attribute name=
"FILENAME"/>
974 <attribute name=
"FILEEXT"/>
976 <element name=
"EXTRA.INC" optional=
"yes"/>
977 <element name=
"EXTRA.ARG" optional=
"yes"/>
980 <!--echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" /-->
984 <!--############################################################################
986 #############################################################################-->
990 <macrodef name=
"GenDll">
991 <attribute name=
"FILEPATH"/>
992 <attribute name=
"FILENAME"/>
993 <attribute name=
"FILEEXT"/>
995 <element name=
"LIB.ARG" optional=
"yes"/>
996 <element name=
"LINK.ARG" optional=
"yes"/>
999 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
1000 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
1003 <file list=
"${LIBS}"/>
1004 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
1007 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
1011 <cc userdefine=
"on">
1012 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}" dpath=
"${SLINK_DPATH}"
1013 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"
1014 libpath=
"${SLINKLIBPATH}" include=
"${SLINK_INCLUDEPATH}">
1015 <argument value=
"${SLINK_FLAGS}"/>
1017 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
1020 <cc userdefine=
"on">
1021 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
1022 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath=
"${DLINK_DPATH}"
1023 libpath=
"${DLINK_LIBPATH}" include=
"${DLINK_INCLUDEPATH}">
1024 <argument value=
"${DLINK_FLAGS}"/>
1025 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>
1037 <macrodef name=
"GenEfi">
1038 <attribute name=
"FILEPATH"/>
1039 <attribute name=
"FILENAME"/>
1040 <attribute name=
"FILEEXT" default=
"dll"/>
1045 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1048 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1052 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1053 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
1060 EFI_SECTION_FREEFORM_SUBTYPE_GUID
1062 EFI_SECTION_USER_INTERFACE
1063 EFI_SECTION_DXE_DEPEX
1064 EFI_SECTION_PEI_DEPEX
1069 EFI_SECTION_COMPRESSION
1070 EFI_SECTION_GUID_DEFINED
1071 EFI_SECTION_COMPATIBILITY16
1072 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1078 <macrodef name=
"EFI_SECTION_TE">
1079 <attribute name=
"FILEPATH"/>
1080 <attribute name=
"FILENAME"/>
1081 <attribute name=
"FILEEXT" default=
"" />
1083 <element name=
"PRE.PROCESS" optional=
"yes"/>
1084 <element name=
"POST.PROCESS" optional=
"yes"/>
1090 <equals arg1=
"${LIBS}" arg2=
""/>
1094 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
1096 <LINK.ARG
></LINK.ARG
>
1099 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
1105 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1108 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>
1112 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
1113 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
1114 <genteimage Dump=
"false" Verbose=
"false" OutputDir=
"" OutputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1115 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"
1116 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"
1117 sectiontype=
"EFI_SECTION_TE"/>
1124 <macrodef name=
"EFI_SECTION_PE32">
1125 <attribute name=
"FILEPATH"/>
1126 <attribute name=
"FILENAME"/>
1127 <attribute name=
"FILEEXT" default=
"" />
1129 <element name=
"PRE.PROCESS" optional=
"yes"/>
1130 <element name=
"POST.PROCESS" optional=
"yes"/>
1136 <!-- TBD ${OBJECTS} -->
1137 <equals arg1=
"${LIBS}" arg2=
""/>
1141 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
1143 <LINK.ARG
></LINK.ARG
>
1146 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
1152 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1155 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
1159 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
1160 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
1161 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1162 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
1163 sectiontype=
"EFI_SECTION_PE32"/>
1174 <macrodef name=
"EFI_SECTION_VERSION">
1175 <attribute name=
"FILEPATH"/>
1176 <attribute name=
"FILENAME"/>
1177 <attribute name=
"FILEEXT" default=
"" />
1178 <attribute name=
"VERSION" default=
"0000"/>
1180 <element name=
"PRE.PROCESS" optional=
"yes"/>
1181 <element name=
"POST.PROCESS" optional=
"yes"/>
1186 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
1191 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
1192 versionnum=
"@{VERSION}"
1193 sectiontype=
"EFI_SECTION_VERSION"/>
1201 EFI_SECTION_USER_INTERFACE
1203 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
1204 <attribute name=
"FILEPATH"/>
1205 <attribute name=
"FILENAME"/>
1206 <attribute name=
"FILEEXT" default=
"" />
1207 <attribute name=
"UI" default=
"${BASE_NAME}"/>
1209 <element name=
"PRE.PROCESS" optional=
"yes"/>
1210 <element name=
"POST.PROCESS" optional=
"yes"/>
1215 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
1220 <gensection interfacestring=
"@{UI}"
1221 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
1222 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
1230 EFI_SECTION_DXE_DEPEX
1232 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
1233 <attribute name=
"FILEPATH"/>
1234 <attribute name=
"FILENAME"/>
1235 <attribute name=
"FILEEXT" default=
"dxs"/>
1237 <element name=
"PRE.PROCESS" optional=
"yes"/>
1238 <element name=
"POST.PROCESS" optional=
"yes"/>
1244 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1248 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1251 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1254 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1255 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1256 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
1263 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1266 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1277 EFI_SECTION_PEI_DEPEX
1279 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
1280 <attribute name=
"FILEPATH"/>
1281 <attribute name=
"FILENAME"/>
1282 <attribute name=
"FILEEXT" default=
"dxs"/>
1284 <element name=
"PRE.PROCESS" optional=
"yes"/>
1285 <element name=
"POST.PROCESS" optional=
"yes"/>
1289 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1293 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1296 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1300 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1301 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1302 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
1310 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1313 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1326 <macrodef name=
"EFI_SECTION_RAW">
1327 <attribute name=
"FILEPATH"/>
1328 <attribute name=
"FILENAME"/>
1329 <attribute name=
"FILEEXT" default=
"bin"/>
1331 <element name=
"PRE.PROCESS" optional=
"yes"/>
1332 <element name=
"POST.PROCESS" optional=
"yes"/>
1337 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1340 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1345 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1346 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1347 sectiontype=
"EFI_SECTION_RAW"/>
1357 <macrodef name=
"EFI_SECTION_RAW_SEC">
1358 <attribute name=
"FILEPATH"/>
1359 <attribute name=
"FILENAME"/>
1360 <attribute name=
"FILEEXT" default=
"cat"/>
1362 <element name=
"PRE.PROCESS" optional=
"yes"/>
1363 <element name=
"POST.PROCESS" optional=
"yes"/>
1368 <file name=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"/>
1369 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"/>
1372 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1377 <secfixup secexefile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" resetvectorDatafile=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"
1378 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"/>
1380 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"
1381 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1382 sectiontype=
"EFI_SECTION_RAW"/>
1390 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1392 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1393 <attribute name=
"FILEPATH"/>
1394 <attribute name=
"FILENAME"/>
1395 <attribute name=
"FILEEXT" default=
"fv"/>
1397 <element name=
"PRE.PROCESS" optional=
"yes"/>
1398 <element name=
"POST.PROCESS" optional=
"yes"/>
1403 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1406 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1412 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1413 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1415 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1416 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1417 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1428 <macrodef name=
"Build_Binary">
1429 <attribute name=
"FILEPATH"/>
1430 <attribute name=
"FILENAME"/>
1431 <attribute name=
"FILEEXT" default=
"bin"/>
1433 <element name=
"EXTRA.INC" optional=
"yes"/>
1434 <element name=
"EXTRA.ARG" optional=
"yes"/>
1437 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1438 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1445 <macrodef name=
"Build_MICROCODE">
1446 <attribute name=
"FILEPATH"/>
1447 <attribute name=
"FILENAME"/>
1448 <attribute name=
"FILEEXT" default=
"TXT"/>
1450 <element name=
"EXTRA.INC" optional=
"yes"/>
1451 <element name=
"EXTRA.ARG" optional=
"yes"/>
1454 <mkdir dir=
"${TARGET_DIR}/Microcode"/>
1455 <flashmap MCIFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" MCOFILE=
"${TARGET_DIR}/Microcode/@{FILENAME}.bin"/>
1462 <macrodef name=
"Build_BMP">
1463 <attribute name=
"FILEPATH"/>
1464 <attribute name=
"FILENAME"/>
1465 <attribute name=
"FILEEXT" default=
"bmp"/>
1467 <element name=
"EXTRA.INC" optional=
"yes"/>
1468 <element name=
"EXTRA.ARG" optional=
"yes"/>
1471 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1472 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1479 <macrodef name=
"Build_EFI">
1480 <attribute name=
"FILEPATH"/>
1481 <attribute name=
"FILENAME"/>
1482 <attribute name=
"FILEEXT" default=
"efi"/>
1484 <element name=
"EXTRA.INC" optional=
"yes"/>
1485 <element name=
"EXTRA.ARG" optional=
"yes"/>
1488 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1489 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1490 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>
1495 Build macro for Apriori
1497 <macrodef name=
"Build_Apriori">
1498 <attribute name=
"FILEPATH" default=
"."/>
1499 <attribute name=
"FILENAME"/>
1500 <attribute name=
"FILEEXT" default=
"apr"/>
1501 <attribute name=
"GUID"/>
1504 <mkdir dir=
"${FV_DIR}/Apriori" />
1505 <gensection inputfile=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1506 outputfile=
"${FV_DIR}/Apriori/@{FILENAME}.sec"
1507 sectiontype=
"EFI_SECTION_RAW"/>
1509 <genffsfile BaseName=
"@{FILENAME}" ffsATTRIBCHECKSUM=
"TRUE" ffsFILETYPE=
"EFI_FV_FILETYPE_FREEFORM"
1510 fileGuid=
"@{GUID}" moduleType=
"BASE" outputDir=
"${FV_DIR}">
1511 <sectFile fileName=
"${FV_DIR}/Apriori/@{FILENAME}.sec"/>