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 for intialize some properties. This Macro build will be called before source file build.
16 <macrodef name=
"Build_Init">
17 <element name=
"EXTRA.INC" optional=
"yes"/>
18 <element name=
"EXTRA.ARG" optional=
"yes"/>
21 <var name=
"OBJECTS" value=
"" />
22 <var name=
"SDB_FILES" value=
"" />
26 <isset property=
"PCH"/>
28 <equals arg1=
"${PCH}" arg2=
""/>
32 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"
33 TargetFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.gch">
34 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
40 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
43 <file Name=
"${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>
47 <!-- Generate pre-compiled header -->
49 <command type=
"CC" cmd=
"${PCH}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
50 outputFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.obj" dpath=
"${CC_DPATH}" libpath=
"${CC_LIBPATH}"
51 include=
"${CC_INCLUDEPATH}">
53 <argument value=
"${PCH_FLAGS}"/>
55 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
60 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
62 <move file=
"${DEST_DIR_OUTPUT}/AutoGen.h.obj" tofile=
"${DEST_DIR_DEBUG}/AutoGen.h.gch" overwrite=
"true"/>
70 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
73 <var name=
"OBJECTS" value=
"${OBJECTS} AutoGen.h.obj"/>
78 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep">
79 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
89 macro definitions for building files with different types
94 <macrodef name=
"Build_CCode">
95 <attribute name=
"FILEPATH"/>
96 <attribute name=
"FILENAME"/>
97 <attribute name=
"FILEEXT" default=
"c"/>
99 <element name=
"EXTRA.INC" optional=
"yes"/>
100 <element name=
"EXTRA.ARG" optional=
"yes"/>
103 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
104 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
105 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
107 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
108 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
109 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
115 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
116 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
119 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
124 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
125 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
126 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
128 <argument value=
"${CC_FLAGS}"/>
130 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
135 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
137 <equals arg1=
"@{FILEPATH}" arg2=
"." />
139 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
142 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
149 <macrodef name=
"Build_AUTOGEN">
150 <attribute name=
"FILEPATH"/>
151 <attribute name=
"FILENAME"/>
152 <attribute name=
"FILEEXT" default=
"c"/>
154 <element name=
"EXTRA.INC" optional=
"yes"/>
155 <element name=
"EXTRA.ARG" optional=
"yes"/>
158 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
159 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
160 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
162 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
163 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
164 <input file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
170 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
171 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
174 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
179 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
180 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
181 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
183 <argument value=
"${CC_FLAGS}"/>
185 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
190 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
192 <equals arg1=
"@{FILEPATH}" arg2=
"." />
194 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
197 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
203 <macrodef name=
"Build_DPX">
204 <attribute name=
"FILEPATH"/>
205 <attribute name=
"FILENAME"/>
206 <attribute name=
"FILEEXT" default=
"dxs"/>
208 <element name=
"EXTRA.INC" optional=
"yes"/>
209 <element name=
"EXTRA.ARG" optional=
"yes"/>
213 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
214 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
215 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
219 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
222 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
227 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}"
228 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath=
"${CC_DPATH}"
229 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
231 <argument value=
"${PP_FLAGS}"/>
232 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
236 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
242 <macrodef name=
"Build_ASM">
243 <attribute name=
"FILEPATH"/>
244 <attribute name=
"FILENAME"/>
245 <attribute name=
"FILEEXT" default=
"asm"/>
247 <element name=
"EXTRA.INC" optional=
"yes"/>
248 <element name=
"EXTRA.ARG" optional=
"yes"/>
250 <!-- Dispath ASM file, there are three type.
252 S - Build_Gcc_Assembly
253 s - Build_Ipf_Assembly -->
256 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
258 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
259 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
260 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
264 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
266 <Build_Gcc_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
267 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
268 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
269 </Build_Gcc_Assembly>
273 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
275 <Build_IPF_Assembly_Code FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
276 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
277 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
278 </Build_IPF_Assembly_Code>
288 <macrodef name=
"Build_Assembly">
289 <attribute name=
"FILEPATH"/>
290 <attribute name=
"FILENAME"/>
291 <attribute name=
"FILEEXT" default=
"asm"/>
293 <element name=
"EXTRA.INC.1" optional=
"yes"/>
294 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
297 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
298 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
299 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
301 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
302 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
303 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
309 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
310 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
313 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
318 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
319 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
321 <argument value=
"${PP_FLAGS}"/>
322 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
326 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
327 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
330 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
334 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
335 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
341 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
342 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
343 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
346 <argument value=
"${ASM_FLAGS}"/>
349 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
354 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
356 <equals arg1=
"@{FILEPATH}" arg2=
"." />
358 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
361 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
368 Build GCC assembly code
370 <macrodef name=
"Build_Gcc_Assembly">
371 <attribute name=
"FILEPATH"/>
372 <attribute name=
"FILENAME"/>
373 <attribute name=
"FILEEXT" default=
"asm"/>
375 <element name=
"EXTRA.INC.1" optional=
"yes"/>
376 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
379 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
380 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
381 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
383 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
384 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
385 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
391 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
392 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
395 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
400 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
401 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
402 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
405 <argument value=
"${ASM_FLAGS}"/>
408 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
413 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
415 <equals arg1=
"@{FILEPATH}" arg2=
"." />
417 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
420 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
429 <macrodef name=
"Build_IPF_Assembly_Code">
430 <attribute name=
"FILEPATH"/>
431 <attribute name=
"FILENAME"/>
432 <attribute name=
"FILEEXT" default=
"s"/>
434 <element name=
"EXTRA.INC.1" optional=
"yes"/>
435 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
438 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
440 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
441 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
442 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
448 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
449 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
452 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
457 <command type=
"PP" cmd=
"${APP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${APP_FAMILY}"
458 dpath=
"${APP_DPATH}" libpath=
"${APP_LIBPATH}" include=
"${APP_INCLUDEPATH}">
460 <argument value=
"${APP_FLAGS}"/>
461 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
466 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
467 includepathDelimiter=
"-I" outputDelimiter=
"-o" dpath=
"${ASM_DPATH}"
468 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}"
469 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
471 <argument value=
"${ASM_FLAGS}"/>
473 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
478 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
480 <equals arg1=
"@{FILEPATH}" arg2=
"." />
482 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
485 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
493 Assembly the preprocessed IPF assembly code
495 <macrodef name=
"Build_IPF_PP_Code">
496 <attribute name=
"FILEPATH"/>
497 <attribute name=
"FILENAME"/>
498 <attribute name=
"FILEEXT" default=
"i"/>
500 <element name=
"EXTRA.INC" optional=
"yes"/>
501 <element name=
"EXTRA.ARG" optional=
"yes"/>
504 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
507 <command type=
"ASM" includepathDelimiter=
"-I" dpath=
"${ASM_DPATH}"
508 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
509 <includepath path=
"${WORKSPACE_DIR}"/>
510 <includepath path=
"${MODULE_DIR}"/>
511 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
514 <argument value=
"${ASM_FLAGS}"/>
516 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
518 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
528 <macrodef name=
"Build_Library">
529 <attribute name=
"FILENAME" />
530 <attribute name=
"FILEEXT" default=
"obj"/>
533 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
534 <var name=
"FILE_PATH" value=
"." />
535 <mkdir dir=
"${BIN_DIR}"/>
539 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
542 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
547 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
548 outputFile=
"${BIN_DIR}/@{FILENAME}.lib" dpath=
"${SLINK_DPATH}"
549 libpath=
"${SLINK_LIBPATH}" include=
"${SLINK_INCLUDEPATH}">
550 <argument value=
"${SLINK_FLAGS}"/>
552 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
563 <macrodef name=
"Build_UNI">
564 <attribute name=
"FILEPATH"/>
565 <attribute name=
"FILENAME"/>
566 <attribute name=
"FILEEXT" default=
"uni"/>
568 <element name=
"EXTRA.INC" optional=
"yes"/>
569 <element name=
"EXTRA.ARG" optional=
"yes"/>
572 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
573 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
574 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb">
575 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
581 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
584 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
588 <strgather commandtype=
"parse" newdatabase=
"true">
589 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
592 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
597 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
602 .sdb(s) -> .c, .h -> .obj
604 <macrodef name=
"Build_Unicode_Database">
605 <attribute name=
"FILEPATH"/>
606 <attribute name=
"FILENAME"/>
607 <attribute name=
"FILEEXT" default=
"sdb"/>
609 <element name=
"EXTRA.INC" optional=
"yes"/>
610 <element name=
"EXTRA.ARG" optional=
"yes"/>
613 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
614 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
617 <file list=
"${SDB_FILES}"/>
618 <file list=
"${SOURCE_FILES}"/>
621 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
625 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
626 <skipext name=
".uni"/>
628 <database list=
"${SDB_FILES}"/>
629 <inputfile name=
"${SOURCE_FILES}"/>
636 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
639 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
640 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
641 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
645 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
646 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
647 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
648 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
649 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
656 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
657 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
660 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
665 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
666 includepathDelimiter=
"-I" dpath=
"${CC_DPATH}"
667 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
668 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
669 <argument value=
"${CC_FLAGS}"/>
671 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
677 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
679 <equals arg1=
"@{FILEPATH}" arg2=
"." />
681 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}Strings.obj" />
684 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}Strings.obj" />
693 <macrodef name=
"Build_VFR">
694 <attribute name=
"FILEPATH"/>
695 <attribute name=
"FILENAME"/>
696 <attribute name=
"FILEEXT" default=
"vfr"/>
698 <element name=
"EXTRA.INC" optional=
"yes"/>
699 <element name=
"EXTRA.ARG" optional=
"yes"/>
702 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
704 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
705 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
706 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
712 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
713 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
716 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
720 <!-- if "TOOLCHIAN FAMILY" is "GCC", it should point the ouput file for preprocess compiler -->
722 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
725 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
726 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
727 <argument value=
"${VFRPP_FLAGS} -o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
728 <!-- Output file of the preprocess -->
730 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
738 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
742 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
743 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
744 <argument value=
"${VFRPP_FLAGS} ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
745 <!-- Output file of the preprocess -->
747 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
754 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">
759 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
760 includepathDelimiter=
"-I" family=
"${CC_FAMILY}" dpath=
"${CC_DPATH}"
761 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
762 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
763 <argument value=
"${CC_FLAGS}"/>
766 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
771 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
773 <equals arg1=
"@{FILEPATH}" arg2=
"." />
775 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
778 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
785 Build the real mode ASM file
787 <macrodef name=
"Build_RealAsm">
788 <attribute name=
"FILEPATH"/>
789 <attribute name=
"FILENAME"/>
790 <attribute name=
"FILEEXT" default=
"asm"/>
792 <element name=
"EXTRA.INC" optional=
"yes"/>
793 <element name=
"EXTRA.ARG" optional=
"yes"/>
798 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
801 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat"/>
805 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASM}" failonerror=
"true">
806 <arg line=
"/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>
808 <concat destfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat" binary=
"yes">
809 <filelist dir=
"${MODULE_DIR}" files=
"Blank2.pad"/>
810 <filelist dir=
"${DEST_DIR_OUTPUT}" files=
"@{FILENAME}.com"/>
820 <macrodef name=
"Build_ASL">
821 <attribute name=
"FILEPATH"/>
822 <attribute name=
"FILENAME"/>
823 <attribute name=
"FILEEXT" default=
"asl"/>
825 <element name=
"EXTRA.INC" optional=
"yes"/>
826 <element name=
"EXTRA.ARG" optional=
"yes"/>
829 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
833 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
836 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
841 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${PP_FAMILY}"
842 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
843 <argument value=
"${APP_FLAGS}"/>
845 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
849 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASL}" failonerror=
"true" outputproperty=
"ASL_OUTPUT">
850 <arg line=
"${DEST_DIR_OUTPUT}/@{FILENAME}.i"/>
855 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 2.0"/>
856 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 1.0"/>
859 <fail message=
"Current Asl tool not support Acpi Spec 3.0. Pls update your Asl compiler."/>
863 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"aml"/>
871 Build Asl table c file
873 <macrodef name=
"Build_CCASL">
874 <attribute name=
"FILEPATH"/>
875 <attribute name=
"FILENAME"/>
876 <attribute name=
"FILEEXT" default=
"c"/>
878 <element name=
"EXTRA.INC" optional=
"yes"/>
879 <element name=
"EXTRA.ARG" optional=
"yes"/>
882 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
886 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
889 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
895 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
896 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
897 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
899 <argument value=
"${CC_FLAGS}"/>
901 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
906 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
907 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" dpath=
"${DLINK_DPATH}" >
908 <argument value=
"${SLINK_FLAGS}"/>
909 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj"/>
913 <genacpitable inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />
915 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"acpi"/>
922 DUMMY - for skipping the source file which should not be built
924 <macrodef name=
"Build_DUMMY">
925 <attribute name=
"FILEPATH"/>
926 <attribute name=
"FILENAME"/>
927 <attribute name=
"FILEEXT"/>
929 <element name=
"EXTRA.INC" optional=
"yes"/>
930 <element name=
"EXTRA.ARG" optional=
"yes"/>
933 <!--echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" /-->
937 <!--############################################################################
939 #############################################################################-->
943 <macrodef name=
"GenDll">
944 <attribute name=
"FILEPATH"/>
945 <attribute name=
"FILENAME"/>
946 <attribute name=
"FILEEXT"/>
948 <element name=
"LIB.ARG" optional=
"yes"/>
949 <element name=
"LINK.ARG" optional=
"yes"/>
952 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
953 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
956 <file list=
"${LIBS}"/>
957 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
960 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
965 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}" dpath=
"${SLINK_DPATH}"
966 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"
967 libpath=
"${SLINKLIBPATH}" include=
"${SLINK_INCLUDEPATH}">
968 <argument value=
"${SLINK_FLAGS}"/>
970 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
974 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
975 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath=
"${DLINK_DPATH}"
976 libpath=
"${DLINK_LIBPATH}" include=
"${DLINK_INCLUDEPATH}">
977 <argument value=
"${DLINK_FLAGS}"/>
978 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>
990 <macrodef name=
"GenEfi">
991 <attribute name=
"FILEPATH"/>
992 <attribute name=
"FILENAME"/>
993 <attribute name=
"FILEEXT" default=
"dll"/>
998 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1001 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1005 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1006 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
1013 EFI_SECTION_FREEFORM_SUBTYPE_GUID
1015 EFI_SECTION_USER_INTERFACE
1016 EFI_SECTION_DXE_DEPEX
1017 EFI_SECTION_PEI_DEPEX
1022 EFI_SECTION_COMPRESSION
1023 EFI_SECTION_GUID_DEFINED
1024 EFI_SECTION_COMPATIBILITY16
1025 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1031 <macrodef name=
"EFI_SECTION_TE">
1032 <attribute name=
"FILEPATH"/>
1033 <attribute name=
"FILENAME"/>
1034 <attribute name=
"FILEEXT" default=
"" />
1036 <element name=
"PRE.PROCESS" optional=
"yes"/>
1037 <element name=
"POST.PROCESS" optional=
"yes"/>
1043 <equals arg1=
"${LIBS}" arg2=
""/>
1047 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
1049 <LINK.ARG
></LINK.ARG
>
1052 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
1058 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1061 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>
1065 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
1066 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
1067 <genteimage Dump=
"false" Verbose=
"false" OutputDir=
"" OutputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1068 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"
1069 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"
1070 sectiontype=
"EFI_SECTION_TE"/>
1077 <macrodef name=
"EFI_SECTION_PE32">
1078 <attribute name=
"FILEPATH"/>
1079 <attribute name=
"FILENAME"/>
1080 <attribute name=
"FILEEXT" default=
"" />
1082 <element name=
"PRE.PROCESS" optional=
"yes"/>
1083 <element name=
"POST.PROCESS" optional=
"yes"/>
1089 <!-- TBD ${OBJECTS} -->
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}.pe32"/>
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 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1115 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
1116 sectiontype=
"EFI_SECTION_PE32"/>
1127 <macrodef name=
"EFI_SECTION_VERSION">
1128 <attribute name=
"FILEPATH"/>
1129 <attribute name=
"FILENAME"/>
1130 <attribute name=
"FILEEXT" default=
"" />
1131 <attribute name=
"VERSION" default=
"0000"/>
1133 <element name=
"PRE.PROCESS" optional=
"yes"/>
1134 <element name=
"POST.PROCESS" optional=
"yes"/>
1139 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
1144 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
1145 versionnum=
"@{VERSION}"
1146 sectiontype=
"EFI_SECTION_VERSION"/>
1154 EFI_SECTION_USER_INTERFACE
1156 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
1157 <attribute name=
"FILEPATH"/>
1158 <attribute name=
"FILENAME"/>
1159 <attribute name=
"FILEEXT" default=
"" />
1160 <attribute name=
"UI" default=
"${BASE_NAME}"/>
1162 <element name=
"PRE.PROCESS" optional=
"yes"/>
1163 <element name=
"POST.PROCESS" optional=
"yes"/>
1168 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
1173 <gensection interfacestring=
"@{UI}"
1174 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
1175 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
1183 EFI_SECTION_DXE_DEPEX
1185 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
1186 <attribute name=
"FILEPATH"/>
1187 <attribute name=
"FILENAME"/>
1188 <attribute name=
"FILEEXT" default=
"dxs"/>
1190 <element name=
"PRE.PROCESS" optional=
"yes"/>
1191 <element name=
"POST.PROCESS" optional=
"yes"/>
1197 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1201 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1204 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1207 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1208 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1209 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
1216 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1219 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1230 EFI_SECTION_PEI_DEPEX
1232 <macrodef name=
"EFI_SECTION_PEI_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"/>
1242 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1246 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1249 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1253 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1254 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1255 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
1263 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1266 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1279 <macrodef name=
"EFI_SECTION_RAW">
1280 <attribute name=
"FILEPATH"/>
1281 <attribute name=
"FILENAME"/>
1282 <attribute name=
"FILEEXT" default=
"bin"/>
1284 <element name=
"PRE.PROCESS" optional=
"yes"/>
1285 <element name=
"POST.PROCESS" optional=
"yes"/>
1290 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1293 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1298 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1299 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1300 sectiontype=
"EFI_SECTION_RAW"/>
1310 <macrodef name=
"EFI_SECTION_RAW_SEC">
1311 <attribute name=
"FILEPATH"/>
1312 <attribute name=
"FILENAME"/>
1313 <attribute name=
"FILEEXT" default=
"cat"/>
1315 <element name=
"PRE.PROCESS" optional=
"yes"/>
1316 <element name=
"POST.PROCESS" optional=
"yes"/>
1321 <file name=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"/>
1322 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"/>
1325 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1330 <secfixup secexefile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" resetvectorDatafile=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"
1331 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"/>
1333 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"
1334 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1335 sectiontype=
"EFI_SECTION_RAW"/>
1343 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1345 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1346 <attribute name=
"FILEPATH"/>
1347 <attribute name=
"FILENAME"/>
1348 <attribute name=
"FILEEXT" default=
"fv"/>
1350 <element name=
"PRE.PROCESS" optional=
"yes"/>
1351 <element name=
"POST.PROCESS" optional=
"yes"/>
1356 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1359 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1365 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1366 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1368 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1369 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1370 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1381 <macrodef name=
"Build_Binary">
1382 <attribute name=
"FILEPATH"/>
1383 <attribute name=
"FILENAME"/>
1384 <attribute name=
"FILEEXT" default=
"bin"/>
1386 <element name=
"EXTRA.INC" optional=
"yes"/>
1387 <element name=
"EXTRA.ARG" optional=
"yes"/>
1390 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1391 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1398 <macrodef name=
"Build_MICROCODE">
1399 <attribute name=
"FILEPATH"/>
1400 <attribute name=
"FILENAME"/>
1401 <attribute name=
"FILEEXT" default=
"TXT"/>
1403 <element name=
"EXTRA.INC" optional=
"yes"/>
1404 <element name=
"EXTRA.ARG" optional=
"yes"/>
1407 <mkdir dir=
"${TARGET_DIR}/Microcode"/>
1408 <flashmap MCIFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" MCOFILE=
"${TARGET_DIR}/Microcode/@{FILENAME}.bin"/>
1415 <macrodef name=
"Build_BMP">
1416 <attribute name=
"FILEPATH"/>
1417 <attribute name=
"FILENAME"/>
1418 <attribute name=
"FILEEXT" default=
"bmp"/>
1420 <element name=
"EXTRA.INC" optional=
"yes"/>
1421 <element name=
"EXTRA.ARG" optional=
"yes"/>
1424 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1425 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1432 <macrodef name=
"Build_EFI">
1433 <attribute name=
"FILEPATH"/>
1434 <attribute name=
"FILENAME"/>
1435 <attribute name=
"FILEEXT" default=
"efi"/>
1437 <element name=
"EXTRA.INC" optional=
"yes"/>
1438 <element name=
"EXTRA.ARG" optional=
"yes"/>
1441 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1442 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1443 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>
1448 Build macro for Apriori
1450 <macrodef name=
"Build_Apriori">
1451 <attribute name=
"FILEPATH" default=
"."/>
1452 <attribute name=
"FILENAME"/>
1453 <attribute name=
"FILEEXT" default=
"apr"/>
1454 <attribute name=
"GUID"/>
1457 <mkdir dir=
"${FV_DIR}/Apriori" />
1458 <gensection inputfile=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1459 outputfile=
"${FV_DIR}/Apriori/@{FILENAME}.sec"
1460 sectiontype=
"EFI_SECTION_RAW"/>
1462 <genffsfile BaseName=
"@{FILENAME}" ffsATTRIBCHECKSUM=
"TRUE" ffsFILETYPE=
"EFI_FV_FILETYPE_FREEFORM"
1463 fileGuid=
"@{GUID}" moduleType=
"BASE" outputDir=
"${FV_DIR}">
1464 <sectFile fileName=
"${FV_DIR}/Apriori/@{FILENAME}.sec"/>