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=
"" />
24 <mkdir dir=
"${DEST_DIR_DEBUG}"/>
25 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
29 <isset property=
"PCH"/>
31 <equals arg1=
"${PCH}" arg2=
""/>
35 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"
36 TargetFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.gch">
37 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
43 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
46 <file Name=
"${DEST_DIR_OUTPUT}/AutoGen.h.gch"/>
50 <!-- Generate pre-compiled header -->
52 <command type=
"CC" cmd=
"${PCH}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
53 outputFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.obj" dpath=
"${CC_DPATH}" libpath=
"${CC_LIBPATH}"
54 include=
"${CC_INCLUDEPATH}">
56 <argument value=
"${PCH_FLAGS}"/>
58 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
63 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
65 <move file=
"${DEST_DIR_OUTPUT}/AutoGen.h.obj" tofile=
"${DEST_DIR_DEBUG}/AutoGen.h.gch" overwrite=
"true"/>
73 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
76 <var name=
"OBJECTS" value=
"${OBJECTS} AutoGen.h.obj"/>
81 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep">
82 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
92 macro definitions for building files with different types
97 <macrodef name=
"Build_CCode">
98 <attribute name=
"FILEPATH"/>
99 <attribute name=
"FILENAME"/>
100 <attribute name=
"FILEEXT" default=
"c"/>
102 <element name=
"EXTRA.INC" optional=
"yes"/>
103 <element name=
"EXTRA.ARG" optional=
"yes"/>
106 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
107 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
108 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
110 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
111 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
112 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
118 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
119 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
122 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
127 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
128 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
129 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
131 <argument value=
"${CC_FLAGS}"/>
133 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
138 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
140 <equals arg1=
"@{FILEPATH}" arg2=
"." />
142 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
145 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
152 <macrodef name=
"Build_AUTOGEN">
153 <attribute name=
"FILEPATH"/>
154 <attribute name=
"FILENAME"/>
155 <attribute name=
"FILEEXT" default=
"c"/>
157 <element name=
"EXTRA.INC" optional=
"yes"/>
158 <element name=
"EXTRA.ARG" optional=
"yes"/>
161 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
162 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
163 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
165 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
166 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
167 <input file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
173 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
174 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
177 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
182 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
183 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
184 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
186 <argument value=
"${CC_FLAGS}"/>
188 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
193 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
195 <equals arg1=
"@{FILEPATH}" arg2=
"." />
197 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
200 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
206 <macrodef name=
"Build_DPX">
207 <attribute name=
"FILEPATH"/>
208 <attribute name=
"FILENAME"/>
209 <attribute name=
"FILEEXT" default=
"dxs"/>
211 <element name=
"EXTRA.INC" optional=
"yes"/>
212 <element name=
"EXTRA.ARG" optional=
"yes"/>
216 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
217 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
218 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
222 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
225 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
230 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}"
231 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath=
"${CC_DPATH}"
232 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
234 <argument value=
"${PP_FLAGS}"/>
235 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
239 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
245 <macrodef name=
"Build_ASM">
246 <attribute name=
"FILEPATH"/>
247 <attribute name=
"FILENAME"/>
248 <attribute name=
"FILEEXT" default=
"asm"/>
250 <element name=
"EXTRA.INC" optional=
"yes"/>
251 <element name=
"EXTRA.ARG" optional=
"yes"/>
253 <!-- Dispath ASM file, there are three type.
255 S - Build_Gcc_Assembly
256 s - Build_Ipf_Assembly -->
259 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
261 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
262 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
263 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
267 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
269 <Build_Gcc_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
270 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
271 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
272 </Build_Gcc_Assembly>
276 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
278 <Build_IPF_Assembly_Code FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
279 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
280 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
281 </Build_IPF_Assembly_Code>
291 <macrodef name=
"Build_Assembly">
292 <attribute name=
"FILEPATH"/>
293 <attribute name=
"FILENAME"/>
294 <attribute name=
"FILEEXT" default=
"asm"/>
296 <element name=
"EXTRA.INC.1" optional=
"yes"/>
297 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
300 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
301 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
302 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
304 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
305 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
306 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
312 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
313 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
316 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
321 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
322 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
324 <argument value=
"${PP_FLAGS}"/>
325 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
329 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
330 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
333 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
337 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
338 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
344 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
345 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
346 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
349 <argument value=
"${ASM_FLAGS}"/>
352 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
357 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
359 <equals arg1=
"@{FILEPATH}" arg2=
"." />
361 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
364 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
371 Build GCC assembly code
373 <macrodef name=
"Build_Gcc_Assembly">
374 <attribute name=
"FILEPATH"/>
375 <attribute name=
"FILENAME"/>
376 <attribute name=
"FILEEXT" default=
"asm"/>
378 <element name=
"EXTRA.INC.1" optional=
"yes"/>
379 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
382 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
383 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
384 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
386 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
387 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
388 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
394 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
395 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
398 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
403 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
404 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
405 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
408 <argument value=
"${ASM_FLAGS}"/>
411 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
416 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
418 <equals arg1=
"@{FILEPATH}" arg2=
"." />
420 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
423 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
432 <macrodef name=
"Build_IPF_Assembly_Code">
433 <attribute name=
"FILEPATH"/>
434 <attribute name=
"FILENAME"/>
435 <attribute name=
"FILEEXT" default=
"s"/>
437 <element name=
"EXTRA.INC.1" optional=
"yes"/>
438 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
441 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
443 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
444 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
445 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
451 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
452 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
455 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
460 <command type=
"PP" cmd=
"${APP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${APP_FAMILY}"
461 dpath=
"${APP_DPATH}" libpath=
"${APP_LIBPATH}" include=
"${APP_INCLUDEPATH}">
463 <argument value=
"${APP_FLAGS}"/>
464 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
469 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
470 includepathDelimiter=
"-I" outputDelimiter=
"-o" dpath=
"${ASM_DPATH}"
471 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}"
472 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
474 <argument value=
"${ASM_FLAGS}"/>
476 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
481 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
483 <equals arg1=
"@{FILEPATH}" arg2=
"." />
485 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
488 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
496 Assembly the preprocessed IPF assembly code
498 <macrodef name=
"Build_IPF_PP_Code">
499 <attribute name=
"FILEPATH"/>
500 <attribute name=
"FILENAME"/>
501 <attribute name=
"FILEEXT" default=
"i"/>
503 <element name=
"EXTRA.INC" optional=
"yes"/>
504 <element name=
"EXTRA.ARG" optional=
"yes"/>
507 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
510 <command type=
"ASM" includepathDelimiter=
"-I" dpath=
"${ASM_DPATH}"
511 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
512 <includepath path=
"${WORKSPACE_DIR}"/>
513 <includepath path=
"${MODULE_DIR}"/>
514 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
517 <argument value=
"${ASM_FLAGS}"/>
519 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
521 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
531 <macrodef name=
"Build_Library">
532 <attribute name=
"FILENAME" />
533 <attribute name=
"FILEEXT" default=
"obj"/>
536 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
537 <var name=
"FILE_PATH" value=
"." />
538 <mkdir dir=
"${BIN_DIR}"/>
542 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
545 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
550 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
551 outputFile=
"${BIN_DIR}/@{FILENAME}.lib" dpath=
"${SLINK_DPATH}"
552 libpath=
"${SLINK_LIBPATH}" include=
"${SLINK_INCLUDEPATH}">
553 <argument value=
"${SLINK_FLAGS}"/>
555 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
566 <macrodef name=
"Build_UNI">
567 <attribute name=
"FILEPATH"/>
568 <attribute name=
"FILENAME"/>
569 <attribute name=
"FILEEXT" default=
"uni"/>
571 <element name=
"EXTRA.INC" optional=
"yes"/>
572 <element name=
"EXTRA.ARG" optional=
"yes"/>
575 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
576 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
577 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb">
578 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
584 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
587 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
591 <strgather commandtype=
"parse" newdatabase=
"true">
592 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
595 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
600 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
605 .sdb(s) -> .c, .h -> .obj
607 <macrodef name=
"Build_Unicode_Database">
608 <attribute name=
"FILEPATH"/>
609 <attribute name=
"FILENAME"/>
610 <attribute name=
"FILEEXT" default=
"sdb"/>
612 <element name=
"EXTRA.INC" optional=
"yes"/>
613 <element name=
"EXTRA.ARG" optional=
"yes"/>
616 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
617 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
620 <file list=
"${SDB_FILES}"/>
621 <file list=
"${SOURCE_FILES}"/>
624 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
628 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
629 <skipext name=
".uni"/>
631 <database list=
"${SDB_FILES}"/>
632 <inputfile name=
"${SOURCE_FILES}"/>
639 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
642 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
643 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
644 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
648 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
649 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
650 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
651 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
652 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
659 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
660 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
663 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
668 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
669 includepathDelimiter=
"-I" dpath=
"${CC_DPATH}"
670 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
671 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
672 <argument value=
"${CC_FLAGS}"/>
674 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
680 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
682 <equals arg1=
"@{FILEPATH}" arg2=
"." />
684 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}Strings.obj" />
687 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}Strings.obj" />
696 <macrodef name=
"Build_VFR">
697 <attribute name=
"FILEPATH"/>
698 <attribute name=
"FILENAME"/>
699 <attribute name=
"FILEEXT" default=
"vfr"/>
701 <element name=
"EXTRA.INC" optional=
"yes"/>
702 <element name=
"EXTRA.ARG" optional=
"yes"/>
705 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
707 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
708 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
709 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
715 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
716 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
719 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
723 <!-- if "TOOLCHIAN FAMILY" is "GCC", it should point the ouput file for preprocess compiler -->
725 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
728 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
729 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
730 <argument value=
"${VFRPP_FLAGS} -o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
731 <!-- Output file of the preprocess -->
733 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
741 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
745 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
746 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
747 <argument value=
"${VFRPP_FLAGS} ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
748 <!-- Output file of the preprocess -->
750 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
757 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">
762 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
763 includepathDelimiter=
"-I" family=
"${CC_FAMILY}" dpath=
"${CC_DPATH}"
764 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
765 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
766 <argument value=
"${CC_FLAGS}"/>
769 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
774 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
776 <equals arg1=
"@{FILEPATH}" arg2=
"." />
778 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
781 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
788 Build the real mode ASM file
790 <macrodef name=
"Build_RealAsm">
791 <attribute name=
"FILEPATH"/>
792 <attribute name=
"FILENAME"/>
793 <attribute name=
"FILEEXT" default=
"asm"/>
795 <element name=
"EXTRA.INC" optional=
"yes"/>
796 <element name=
"EXTRA.ARG" optional=
"yes"/>
801 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
804 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat"/>
808 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASM}" failonerror=
"true">
809 <arg line=
"/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>
811 <concat destfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat" binary=
"yes">
812 <filelist dir=
"${MODULE_DIR}" files=
"Blank2.pad"/>
813 <filelist dir=
"${DEST_DIR_OUTPUT}" files=
"@{FILENAME}.com"/>
823 <macrodef name=
"Build_ASL">
824 <attribute name=
"FILEPATH"/>
825 <attribute name=
"FILENAME"/>
826 <attribute name=
"FILEEXT" default=
"asl"/>
828 <element name=
"EXTRA.INC" optional=
"yes"/>
829 <element name=
"EXTRA.ARG" optional=
"yes"/>
832 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
836 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
839 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
844 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${PP_FAMILY}"
845 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
846 <argument value=
"${APP_FLAGS}"/>
848 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
852 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASL}" failonerror=
"true" outputproperty=
"ASL_OUTPUT">
853 <arg line=
"${DEST_DIR_OUTPUT}/@{FILENAME}.i"/>
858 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 2.0"/>
859 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 1.0"/>
862 <fail message=
"Current Asl tool not support Acpi Spec 3.0. Pls update your Asl compiler."/>
866 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"aml"/>
874 Build Asl table c file
876 <macrodef name=
"Build_CCASL">
877 <attribute name=
"FILEPATH"/>
878 <attribute name=
"FILENAME"/>
879 <attribute name=
"FILEEXT" default=
"c"/>
881 <element name=
"EXTRA.INC" optional=
"yes"/>
882 <element name=
"EXTRA.ARG" optional=
"yes"/>
885 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
889 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
892 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
898 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
899 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
900 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
902 <argument value=
"${CC_FLAGS}"/>
904 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
909 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
910 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" dpath=
"${DLINK_DPATH}" >
911 <argument value=
"${SLINK_FLAGS}"/>
912 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj"/>
916 <genacpitable inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />
918 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"acpi"/>
925 DUMMY - for skipping the source file which should not be built
927 <macrodef name=
"Build_DUMMY">
928 <attribute name=
"FILEPATH"/>
929 <attribute name=
"FILENAME"/>
930 <attribute name=
"FILEEXT"/>
932 <element name=
"EXTRA.INC" optional=
"yes"/>
933 <element name=
"EXTRA.ARG" optional=
"yes"/>
936 <!--echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" /-->
940 <!--############################################################################
942 #############################################################################-->
946 <macrodef name=
"GenDll">
947 <attribute name=
"FILEPATH"/>
948 <attribute name=
"FILENAME"/>
949 <attribute name=
"FILEEXT"/>
951 <element name=
"LIB.ARG" optional=
"yes"/>
952 <element name=
"LINK.ARG" optional=
"yes"/>
955 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
956 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
959 <file list=
"${LIBS}"/>
960 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
963 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
968 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}" dpath=
"${SLINK_DPATH}"
969 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"
970 libpath=
"${SLINKLIBPATH}" include=
"${SLINK_INCLUDEPATH}">
971 <argument value=
"${SLINK_FLAGS}"/>
973 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
977 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
978 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath=
"${DLINK_DPATH}"
979 libpath=
"${DLINK_LIBPATH}" include=
"${DLINK_INCLUDEPATH}">
980 <argument value=
"${DLINK_FLAGS}"/>
981 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>
993 <macrodef name=
"GenEfi">
994 <attribute name=
"FILEPATH"/>
995 <attribute name=
"FILENAME"/>
996 <attribute name=
"FILEEXT" default=
"dll"/>
1001 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1004 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1008 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1009 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
1016 EFI_SECTION_FREEFORM_SUBTYPE_GUID
1018 EFI_SECTION_USER_INTERFACE
1019 EFI_SECTION_DXE_DEPEX
1020 EFI_SECTION_PEI_DEPEX
1025 EFI_SECTION_COMPRESSION
1026 EFI_SECTION_GUID_DEFINED
1027 EFI_SECTION_COMPATIBILITY16
1028 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1034 <macrodef name=
"EFI_SECTION_TE">
1035 <attribute name=
"FILEPATH"/>
1036 <attribute name=
"FILENAME"/>
1037 <attribute name=
"FILEEXT" default=
"" />
1039 <element name=
"PRE.PROCESS" optional=
"yes"/>
1040 <element name=
"POST.PROCESS" optional=
"yes"/>
1046 <equals arg1=
"${LIBS}" arg2=
""/>
1050 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
1052 <LINK.ARG
></LINK.ARG
>
1055 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
1061 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1064 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>
1068 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
1069 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
1070 <genteimage Dump=
"false" Verbose=
"false" OutputDir=
"" OutputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1071 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"
1072 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"
1073 sectiontype=
"EFI_SECTION_TE"/>
1080 <macrodef name=
"EFI_SECTION_PE32">
1081 <attribute name=
"FILEPATH"/>
1082 <attribute name=
"FILENAME"/>
1083 <attribute name=
"FILEEXT" default=
"" />
1085 <element name=
"PRE.PROCESS" optional=
"yes"/>
1086 <element name=
"POST.PROCESS" optional=
"yes"/>
1092 <!-- TBD ${OBJECTS} -->
1093 <equals arg1=
"${LIBS}" arg2=
""/>
1097 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
1099 <LINK.ARG
></LINK.ARG
>
1102 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
1108 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1111 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
1115 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
1116 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
1117 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1118 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
1119 sectiontype=
"EFI_SECTION_PE32"/>
1130 <macrodef name=
"EFI_SECTION_VERSION">
1131 <attribute name=
"FILEPATH"/>
1132 <attribute name=
"FILENAME"/>
1133 <attribute name=
"FILEEXT" default=
"" />
1134 <attribute name=
"VERSION" default=
"0000"/>
1136 <element name=
"PRE.PROCESS" optional=
"yes"/>
1137 <element name=
"POST.PROCESS" optional=
"yes"/>
1142 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
1147 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
1148 versionnum=
"@{VERSION}"
1149 sectiontype=
"EFI_SECTION_VERSION"/>
1157 EFI_SECTION_USER_INTERFACE
1159 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
1160 <attribute name=
"FILEPATH"/>
1161 <attribute name=
"FILENAME"/>
1162 <attribute name=
"FILEEXT" default=
"" />
1163 <attribute name=
"UI" default=
"${BASE_NAME}"/>
1165 <element name=
"PRE.PROCESS" optional=
"yes"/>
1166 <element name=
"POST.PROCESS" optional=
"yes"/>
1171 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
1176 <gensection interfacestring=
"@{UI}"
1177 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
1178 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
1186 EFI_SECTION_DXE_DEPEX
1188 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
1189 <attribute name=
"FILEPATH"/>
1190 <attribute name=
"FILENAME"/>
1191 <attribute name=
"FILEEXT" default=
"dxs"/>
1193 <element name=
"PRE.PROCESS" optional=
"yes"/>
1194 <element name=
"POST.PROCESS" optional=
"yes"/>
1200 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1204 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1207 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1210 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1211 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1212 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
1219 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1222 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1233 EFI_SECTION_PEI_DEPEX
1235 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
1236 <attribute name=
"FILEPATH"/>
1237 <attribute name=
"FILENAME"/>
1238 <attribute name=
"FILEEXT" default=
"dxs"/>
1240 <element name=
"PRE.PROCESS" optional=
"yes"/>
1241 <element name=
"POST.PROCESS" optional=
"yes"/>
1245 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1249 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1252 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1256 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1257 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1258 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
1266 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1269 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1282 <macrodef name=
"EFI_SECTION_RAW">
1283 <attribute name=
"FILEPATH"/>
1284 <attribute name=
"FILENAME"/>
1285 <attribute name=
"FILEEXT" default=
"bin"/>
1287 <element name=
"PRE.PROCESS" optional=
"yes"/>
1288 <element name=
"POST.PROCESS" optional=
"yes"/>
1293 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1296 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1301 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1302 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1303 sectiontype=
"EFI_SECTION_RAW"/>
1313 <macrodef name=
"EFI_SECTION_RAW_SEC">
1314 <attribute name=
"FILEPATH"/>
1315 <attribute name=
"FILENAME"/>
1316 <attribute name=
"FILEEXT" default=
"cat"/>
1318 <element name=
"PRE.PROCESS" optional=
"yes"/>
1319 <element name=
"POST.PROCESS" optional=
"yes"/>
1324 <file name=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"/>
1325 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"/>
1328 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1333 <secfixup secexefile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" resetvectorDatafile=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"
1334 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"/>
1336 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"
1337 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1338 sectiontype=
"EFI_SECTION_RAW"/>
1346 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1348 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1349 <attribute name=
"FILEPATH"/>
1350 <attribute name=
"FILENAME"/>
1351 <attribute name=
"FILEEXT" default=
"fv"/>
1353 <element name=
"PRE.PROCESS" optional=
"yes"/>
1354 <element name=
"POST.PROCESS" optional=
"yes"/>
1359 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1362 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1368 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1369 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1371 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1372 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1373 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1384 <macrodef name=
"Build_Binary">
1385 <attribute name=
"FILEPATH"/>
1386 <attribute name=
"FILENAME"/>
1387 <attribute name=
"FILEEXT" default=
"bin"/>
1389 <element name=
"EXTRA.INC" optional=
"yes"/>
1390 <element name=
"EXTRA.ARG" optional=
"yes"/>
1393 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1394 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1401 <macrodef name=
"Build_MICROCODE">
1402 <attribute name=
"FILEPATH"/>
1403 <attribute name=
"FILENAME"/>
1404 <attribute name=
"FILEEXT" default=
"TXT"/>
1406 <element name=
"EXTRA.INC" optional=
"yes"/>
1407 <element name=
"EXTRA.ARG" optional=
"yes"/>
1410 <mkdir dir=
"${TARGET_DIR}/Microcode"/>
1411 <flashmap MCIFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" MCOFILE=
"${TARGET_DIR}/Microcode/@{FILENAME}.bin"/>
1418 <macrodef name=
"Build_BMP">
1419 <attribute name=
"FILEPATH"/>
1420 <attribute name=
"FILENAME"/>
1421 <attribute name=
"FILEEXT" default=
"bmp"/>
1423 <element name=
"EXTRA.INC" optional=
"yes"/>
1424 <element name=
"EXTRA.ARG" optional=
"yes"/>
1427 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1428 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1435 <macrodef name=
"Build_EFI">
1436 <attribute name=
"FILEPATH"/>
1437 <attribute name=
"FILENAME"/>
1438 <attribute name=
"FILEEXT" default=
"efi"/>
1440 <element name=
"EXTRA.INC" optional=
"yes"/>
1441 <element name=
"EXTRA.ARG" optional=
"yes"/>
1444 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1445 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1446 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>
1451 Build macro for Apriori
1453 <macrodef name=
"Build_Apriori">
1454 <attribute name=
"FILEPATH" default=
"."/>
1455 <attribute name=
"FILENAME"/>
1456 <attribute name=
"FILEEXT" default=
"apr"/>
1457 <attribute name=
"GUID"/>
1460 <mkdir dir=
"${FV_DIR}/Apriori" />
1461 <gensection inputfile=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1462 outputfile=
"${FV_DIR}/Apriori/@{FILENAME}.sec"
1463 sectiontype=
"EFI_SECTION_RAW"/>
1465 <genffsfile BaseName=
"@{FILENAME}" ffsATTRIBCHECKSUM=
"TRUE" ffsFILETYPE=
"EFI_FV_FILETYPE_FREEFORM"
1466 fileGuid=
"@{GUID}" moduleType=
"BASE" outputDir=
"${FV_DIR}">
1467 <sectFile fileName=
"${FV_DIR}/Apriori/@{FILENAME}.sec"/>