3855d09da1ade003fe155296c6f253cc6038d574
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"/>
83 macro definitions for building files with different types
88 <macrodef name=
"Build_CCode">
89 <attribute name=
"FILEPATH"/>
90 <attribute name=
"FILENAME"/>
91 <attribute name=
"FILEEXT" default=
"c"/>
93 <element name=
"EXTRA.INC" optional=
"yes"/>
94 <element name=
"EXTRA.ARG" optional=
"yes"/>
97 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
98 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
99 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
101 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
102 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
103 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
109 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
110 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
113 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
118 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
119 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
120 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
122 <argument value=
"${CC_FLAGS}"/>
124 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
129 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
131 <equals arg1=
"@{FILEPATH}" arg2=
"." />
133 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
136 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
143 <macrodef name=
"Build_AUTOGEN">
144 <attribute name=
"FILEPATH"/>
145 <attribute name=
"FILENAME"/>
146 <attribute name=
"FILEEXT" default=
"c"/>
148 <element name=
"EXTRA.INC" optional=
"yes"/>
149 <element name=
"EXTRA.ARG" optional=
"yes"/>
152 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
153 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
154 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
156 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
157 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
158 <input file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
164 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
165 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
168 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
173 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
174 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
175 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
177 <argument value=
"${CC_FLAGS}"/>
179 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
184 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
186 <equals arg1=
"@{FILEPATH}" arg2=
"." />
188 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
191 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
197 <macrodef name=
"Build_DPX">
198 <attribute name=
"FILEPATH"/>
199 <attribute name=
"FILENAME"/>
200 <attribute name=
"FILEEXT" default=
"dxs"/>
202 <element name=
"EXTRA.INC" optional=
"yes"/>
203 <element name=
"EXTRA.ARG" optional=
"yes"/>
207 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
208 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
209 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
213 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
216 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
221 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}"
222 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" dpath=
"${CC_DPATH}"
223 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
225 <argument value=
"${PP_FLAGS}"/>
226 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
230 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
236 <macrodef name=
"Build_ASM">
237 <attribute name=
"FILEPATH"/>
238 <attribute name=
"FILENAME"/>
239 <attribute name=
"FILEEXT" default=
"asm"/>
241 <element name=
"EXTRA.INC" optional=
"yes"/>
242 <element name=
"EXTRA.ARG" optional=
"yes"/>
244 <!-- Dispath ASM file, there are three type.
246 S - Build_Gcc_Assembly
247 s - Build_Ipf_Assembly -->
250 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
252 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
253 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
254 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
258 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
260 <Build_Gcc_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
261 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
262 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
263 </Build_Gcc_Assembly>
267 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
269 <Build_IPF_Assembly_Code 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_IPF_Assembly_Code>
282 <macrodef name=
"Build_Assembly">
283 <attribute name=
"FILEPATH"/>
284 <attribute name=
"FILENAME"/>
285 <attribute name=
"FILEEXT" default=
"asm"/>
287 <element name=
"EXTRA.INC.1" optional=
"yes"/>
288 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
291 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
292 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
293 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
295 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
296 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
297 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
303 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
304 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
307 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
312 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
313 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
315 <argument value=
"${PP_FLAGS}"/>
316 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
320 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
321 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
324 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
328 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
329 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
335 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
336 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
337 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
340 <argument value=
"${ASM_FLAGS}"/>
343 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
348 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
350 <equals arg1=
"@{FILEPATH}" arg2=
"." />
352 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
355 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
362 Build GCC assembly code
364 <macrodef name=
"Build_Gcc_Assembly">
365 <attribute name=
"FILEPATH"/>
366 <attribute name=
"FILENAME"/>
367 <attribute name=
"FILEEXT" default=
"asm"/>
369 <element name=
"EXTRA.INC.1" optional=
"yes"/>
370 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
373 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
374 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
375 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
377 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
378 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
379 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
385 <file Listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
386 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
389 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
394 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
395 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" dpath=
"${ASM_DPATH}"
396 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
399 <argument value=
"${ASM_FLAGS}"/>
402 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
407 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
409 <equals arg1=
"@{FILEPATH}" arg2=
"." />
411 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
414 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
423 <macrodef name=
"Build_IPF_Assembly_Code">
424 <attribute name=
"FILEPATH"/>
425 <attribute name=
"FILENAME"/>
426 <attribute name=
"FILEEXT" default=
"s"/>
428 <element name=
"EXTRA.INC.1" optional=
"yes"/>
429 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
432 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
434 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
435 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
436 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
442 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
443 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
446 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
451 <command type=
"PP" cmd=
"${APP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${APP_FAMILY}"
452 dpath=
"${APP_DPATH}" libpath=
"${APP_LIBPATH}" include=
"${APP_INCLUDEPATH}">
454 <argument value=
"${APP_FLAGS}"/>
455 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
460 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
461 includepathDelimiter=
"-I" outputDelimiter=
"-o" dpath=
"${ASM_DPATH}"
462 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}"
463 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
465 <argument value=
"${ASM_FLAGS}"/>
467 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
472 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
474 <equals arg1=
"@{FILEPATH}" arg2=
"." />
476 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
479 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
487 Assembly the preprocessed IPF assembly code
489 <macrodef name=
"Build_IPF_PP_Code">
490 <attribute name=
"FILEPATH"/>
491 <attribute name=
"FILENAME"/>
492 <attribute name=
"FILEEXT" default=
"i"/>
494 <element name=
"EXTRA.INC" optional=
"yes"/>
495 <element name=
"EXTRA.ARG" optional=
"yes"/>
498 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
501 <command type=
"ASM" includepathDelimiter=
"-I" dpath=
"${ASM_DPATH}"
502 libpath=
"${ASM_LIBPATH}" include=
"${ASM_INCLUDEPATH}">
503 <includepath path=
"${WORKSPACE_DIR}"/>
504 <includepath path=
"${MODULE_DIR}"/>
505 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
508 <argument value=
"${ASM_FLAGS}"/>
510 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
512 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
522 <macrodef name=
"Build_Library">
523 <attribute name=
"FILENAME" />
524 <attribute name=
"FILEEXT" default=
"obj"/>
527 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
528 <var name=
"FILE_PATH" value=
"." />
529 <mkdir dir=
"${BIN_DIR}"/>
533 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
536 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
541 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
542 outputFile=
"${BIN_DIR}/@{FILENAME}.lib" dpath=
"${SLINK_DPATH}"
543 libpath=
"${SLINK_LIBPATH}" include=
"${SLINK_INCLUDEPATH}">
544 <argument value=
"${SLINK_FLAGS}"/>
546 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
557 <macrodef name=
"Build_UNI">
558 <attribute name=
"FILEPATH"/>
559 <attribute name=
"FILENAME"/>
560 <attribute name=
"FILEEXT" default=
"uni"/>
562 <element name=
"EXTRA.INC" optional=
"yes"/>
563 <element name=
"EXTRA.ARG" optional=
"yes"/>
566 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
567 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
568 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb">
569 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
575 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
578 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
582 <strgather commandtype=
"parse" newdatabase=
"true">
583 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
586 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
591 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
596 .sdb(s) -> .c, .h -> .obj
598 <macrodef name=
"Build_Unicode_Database">
599 <attribute name=
"FILEPATH"/>
600 <attribute name=
"FILENAME"/>
601 <attribute name=
"FILEEXT" default=
"sdb"/>
603 <element name=
"EXTRA.INC" optional=
"yes"/>
604 <element name=
"EXTRA.ARG" optional=
"yes"/>
607 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
608 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
611 <file list=
"${SDB_FILES}"/>
612 <file list=
"${SOURCE_FILES}"/>
615 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
619 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
620 <skipext name=
".uni"/>
622 <database list=
"${SDB_FILES}"/>
623 <inputfile name=
"${SOURCE_FILES}"/>
630 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
633 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
634 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
635 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
639 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
640 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
641 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
642 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
643 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
650 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
651 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
654 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
659 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
660 includepathDelimiter=
"-I" dpath=
"${CC_DPATH}"
661 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
662 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
663 <argument value=
"${CC_FLAGS}"/>
665 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
671 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
673 <equals arg1=
"@{FILEPATH}" arg2=
"." />
675 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}Strings.obj" />
678 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}Strings.obj" />
687 <macrodef name=
"Build_VFR">
688 <attribute name=
"FILEPATH"/>
689 <attribute name=
"FILENAME"/>
690 <attribute name=
"FILEEXT" default=
"vfr"/>
692 <element name=
"EXTRA.INC" optional=
"yes"/>
693 <element name=
"EXTRA.ARG" optional=
"yes"/>
696 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
698 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"
699 TargetFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
700 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
706 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
707 <file ListFile=
"${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
710 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
714 <!-- if "TOOLCHIAN FAMILY" is "GCC", it should point the ouput file for preprocess compiler -->
716 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
719 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
720 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
721 <argument value=
"${VFRPP_FLAGS} -o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
722 <!-- Output file of the preprocess -->
724 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
732 <equals arg1=
"${CC_FAMILY}" arg2=
"GCC"/>
736 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}"
737 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
738 <argument value=
"${VFRPP_FLAGS} ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
739 <!-- Output file of the preprocess -->
741 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
748 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">
753 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
754 includepathDelimiter=
"-I" family=
"${CC_FAMILY}" dpath=
"${CC_DPATH}"
755 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}"
756 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
757 <argument value=
"${CC_FLAGS}"/>
760 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
765 <!-- Since fileset can't scan file start with ./, remove ./ in previous. -->
767 <equals arg1=
"@{FILEPATH}" arg2=
"." />
769 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILENAME}.obj" />
772 <var name=
"OBJECTS" value=
"${OBJECTS} @{FILEPATH}/@{FILENAME}.obj" />
779 Build the real mode ASM file
781 <macrodef name=
"Build_RealAsm">
782 <attribute name=
"FILEPATH"/>
783 <attribute name=
"FILENAME"/>
784 <attribute name=
"FILEEXT" default=
"asm"/>
786 <element name=
"EXTRA.INC" optional=
"yes"/>
787 <element name=
"EXTRA.ARG" optional=
"yes"/>
792 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
795 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat"/>
799 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASM}" failonerror=
"true">
800 <arg line=
"/nologo /omf ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT} /Bl${ASMLINK} ${ASMLINK_FLAGS}"/>
802 <concat destfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.cat" binary=
"yes">
803 <filelist dir=
"${MODULE_DIR}" files=
"Blank2.pad"/>
804 <filelist dir=
"${DEST_DIR_OUTPUT}" files=
"@{FILENAME}.com"/>
814 <macrodef name=
"Build_ASL">
815 <attribute name=
"FILEPATH"/>
816 <attribute name=
"FILENAME"/>
817 <attribute name=
"FILEEXT" default=
"asl"/>
819 <element name=
"EXTRA.INC" optional=
"yes"/>
820 <element name=
"EXTRA.ARG" optional=
"yes"/>
823 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
827 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
830 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
835 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${PP_FAMILY}"
836 dpath=
"${PP_DPATH}" libpath=
"${PP_LIBPATH}" include=
"${PP_INCLUDEPATH}">
837 <argument value=
"${APP_FLAGS}"/>
839 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
843 <exec dir=
"${DEST_DIR_OUTPUT}" executable=
"${ASL}" failonerror=
"true" outputproperty=
"ASL_OUTPUT">
844 <arg line=
"${DEST_DIR_OUTPUT}/@{FILENAME}.i"/>
849 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 2.0"/>
850 <contains string=
"${ASL_OUTPUT}" substring=
"Supports ACPI Specification Revision 1.0"/>
853 <fail message=
"Current Asl tool not support Acpi Spec 3.0. Pls update your Asl compiler."/>
857 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"aml"/>
865 Build Asl table c file
867 <macrodef name=
"Build_CCASL">
868 <attribute name=
"FILEPATH"/>
869 <attribute name=
"FILENAME"/>
870 <attribute name=
"FILEEXT" default=
"c"/>
872 <element name=
"EXTRA.INC" optional=
"yes"/>
873 <element name=
"EXTRA.ARG" optional=
"yes"/>
876 <mkdir dir=
"${DEST_DIR_OUTPUT}"/>
880 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
883 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
889 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
890 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj" dpath=
"${CC_DPATH}"
891 libpath=
"${CC_LIBPATH}" include=
"${CC_INCLUDEPATH}">
893 <argument value=
"${CC_FLAGS}"/>
895 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
900 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
901 outputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" dpath=
"${DLINK_DPATH}" >
902 <argument value=
"${SLINK_FLAGS}"/>
903 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.obj"/>
907 <genacpitable inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.exe" outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.acpi" />
909 <EFI_SECTION_RAW FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"acpi"/>
916 DUMMY - for skipping the source file which should not be built
918 <macrodef name=
"Build_DUMMY">
919 <attribute name=
"FILEPATH"/>
920 <attribute name=
"FILENAME"/>
921 <attribute name=
"FILEEXT"/>
923 <element name=
"EXTRA.INC" optional=
"yes"/>
924 <element name=
"EXTRA.ARG" optional=
"yes"/>
927 <!--echo message="Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" level="info" /-->
931 <!--############################################################################
933 #############################################################################-->
937 <macrodef name=
"GenDll">
938 <attribute name=
"FILEPATH"/>
939 <attribute name=
"FILENAME"/>
940 <attribute name=
"FILEEXT"/>
942 <element name=
"LIB.ARG" optional=
"yes"/>
943 <element name=
"LINK.ARG" optional=
"yes"/>
946 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
947 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
950 <file list=
"${LIBS}"/>
951 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}" />
954 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
959 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}" dpath=
"${SLINK_DPATH}"
960 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"
961 libpath=
"${SLINKLIBPATH}" include=
"${SLINK_INCLUDEPATH}">
962 <argument value=
"${SLINK_FLAGS}"/>
964 <fileset dir=
"${DEST_DIR_OUTPUT}" includes=
"${OBJECTS}"/>
968 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
969 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" dpath=
"${DLINK_DPATH}"
970 libpath=
"${DLINK_LIBPATH}" include=
"${DLINK_INCLUDEPATH}">
971 <argument value=
"${DLINK_FLAGS}"/>
972 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib ${LIBS} ${DLINK_SPATH}"/>
984 <macrodef name=
"GenEfi">
985 <attribute name=
"FILEPATH"/>
986 <attribute name=
"FILENAME"/>
987 <attribute name=
"FILEEXT" default=
"dll"/>
992 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
995 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
999 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1000 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
1007 EFI_SECTION_FREEFORM_SUBTYPE_GUID
1009 EFI_SECTION_USER_INTERFACE
1010 EFI_SECTION_DXE_DEPEX
1011 EFI_SECTION_PEI_DEPEX
1016 EFI_SECTION_COMPRESSION
1017 EFI_SECTION_GUID_DEFINED
1018 EFI_SECTION_COMPATIBILITY16
1019 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1025 <macrodef name=
"EFI_SECTION_TE">
1026 <attribute name=
"FILEPATH"/>
1027 <attribute name=
"FILENAME"/>
1028 <attribute name=
"FILEEXT" default=
"" />
1030 <element name=
"PRE.PROCESS" optional=
"yes"/>
1031 <element name=
"POST.PROCESS" optional=
"yes"/>
1037 <equals arg1=
"${LIBS}" arg2=
""/>
1041 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
1043 <LINK.ARG
></LINK.ARG
>
1046 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
1052 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1055 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>
1059 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
1060 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
1061 <genteimage Dump=
"false" Verbose=
"false" OutputDir=
"" OutputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1062 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"
1063 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"
1064 sectiontype=
"EFI_SECTION_TE"/>
1071 <macrodef name=
"EFI_SECTION_PE32">
1072 <attribute name=
"FILEPATH"/>
1073 <attribute name=
"FILENAME"/>
1074 <attribute name=
"FILEEXT" default=
"" />
1076 <element name=
"PRE.PROCESS" optional=
"yes"/>
1077 <element name=
"POST.PROCESS" optional=
"yes"/>
1083 <!-- TBD ${OBJECTS} -->
1084 <equals arg1=
"${LIBS}" arg2=
""/>
1088 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
1090 <LINK.ARG
></LINK.ARG
>
1093 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
1099 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
1102 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
1106 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
1107 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
1108 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
1109 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
1110 sectiontype=
"EFI_SECTION_PE32"/>
1121 <macrodef name=
"EFI_SECTION_VERSION">
1122 <attribute name=
"FILEPATH"/>
1123 <attribute name=
"FILENAME"/>
1124 <attribute name=
"FILEEXT" default=
"" />
1125 <attribute name=
"VERSION" default=
"0000"/>
1127 <element name=
"PRE.PROCESS" optional=
"yes"/>
1128 <element name=
"POST.PROCESS" optional=
"yes"/>
1133 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
1138 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
1139 versionnum=
"@{VERSION}"
1140 sectiontype=
"EFI_SECTION_VERSION"/>
1148 EFI_SECTION_USER_INTERFACE
1150 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
1151 <attribute name=
"FILEPATH"/>
1152 <attribute name=
"FILENAME"/>
1153 <attribute name=
"FILEEXT" default=
"" />
1154 <attribute name=
"UI" default=
"${BASE_NAME}"/>
1156 <element name=
"PRE.PROCESS" optional=
"yes"/>
1157 <element name=
"POST.PROCESS" optional=
"yes"/>
1162 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
1167 <gensection interfacestring=
"@{UI}"
1168 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
1169 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
1177 EFI_SECTION_DXE_DEPEX
1179 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
1180 <attribute name=
"FILEPATH"/>
1181 <attribute name=
"FILENAME"/>
1182 <attribute name=
"FILEEXT" default=
"dxs"/>
1184 <element name=
"PRE.PROCESS" optional=
"yes"/>
1185 <element name=
"POST.PROCESS" optional=
"yes"/>
1191 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1195 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1198 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1201 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1202 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1203 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
1210 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1213 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1224 EFI_SECTION_PEI_DEPEX
1226 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
1227 <attribute name=
"FILEPATH"/>
1228 <attribute name=
"FILENAME"/>
1229 <attribute name=
"FILEEXT" default=
"dxs"/>
1231 <element name=
"PRE.PROCESS" optional=
"yes"/>
1232 <element name=
"POST.PROCESS" optional=
"yes"/>
1236 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1240 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
1243 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1247 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
1248 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
1249 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
1257 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1260 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
1273 <macrodef name=
"EFI_SECTION_RAW">
1274 <attribute name=
"FILEPATH"/>
1275 <attribute name=
"FILENAME"/>
1276 <attribute name=
"FILEEXT" default=
"bin"/>
1278 <element name=
"PRE.PROCESS" optional=
"yes"/>
1279 <element name=
"POST.PROCESS" optional=
"yes"/>
1284 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1287 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1292 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1293 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1294 sectiontype=
"EFI_SECTION_RAW"/>
1304 <macrodef name=
"EFI_SECTION_RAW_SEC">
1305 <attribute name=
"FILEPATH"/>
1306 <attribute name=
"FILENAME"/>
1307 <attribute name=
"FILEEXT" default=
"cat"/>
1309 <element name=
"PRE.PROCESS" optional=
"yes"/>
1310 <element name=
"POST.PROCESS" optional=
"yes"/>
1315 <file name=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"/>
1316 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"/>
1319 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1324 <secfixup secexefile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" resetvectorDatafile=
"${DEST_DIR_OUTPUT}/ResetVec.@{FILEEXT}"
1325 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"/>
1327 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.bin"
1328 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1329 sectiontype=
"EFI_SECTION_RAW"/>
1337 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1339 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1340 <attribute name=
"FILEPATH"/>
1341 <attribute name=
"FILENAME"/>
1342 <attribute name=
"FILEEXT" default=
"fv"/>
1344 <element name=
"PRE.PROCESS" optional=
"yes"/>
1345 <element name=
"POST.PROCESS" optional=
"yes"/>
1350 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1353 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1359 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1360 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1362 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1363 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1364 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1375 <macrodef name=
"Build_Binary">
1376 <attribute name=
"FILEPATH"/>
1377 <attribute name=
"FILENAME"/>
1378 <attribute name=
"FILEEXT" default=
"bin"/>
1380 <element name=
"EXTRA.INC" optional=
"yes"/>
1381 <element name=
"EXTRA.ARG" optional=
"yes"/>
1384 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1385 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1392 <macrodef name=
"Build_MICROCODE">
1393 <attribute name=
"FILEPATH"/>
1394 <attribute name=
"FILENAME"/>
1395 <attribute name=
"FILEEXT" default=
"TXT"/>
1397 <element name=
"EXTRA.INC" optional=
"yes"/>
1398 <element name=
"EXTRA.ARG" optional=
"yes"/>
1401 <mkdir dir=
"${TARGET_DIR}/Microcode"/>
1402 <flashmap MCIFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" MCOFILE=
"${TARGET_DIR}/Microcode/@{FILENAME}.bin"/>
1409 <macrodef name=
"Build_BMP">
1410 <attribute name=
"FILEPATH"/>
1411 <attribute name=
"FILENAME"/>
1412 <attribute name=
"FILEEXT" default=
"bmp"/>
1414 <element name=
"EXTRA.INC" optional=
"yes"/>
1415 <element name=
"EXTRA.ARG" optional=
"yes"/>
1418 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1419 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1426 <macrodef name=
"Build_EFI">
1427 <attribute name=
"FILEPATH"/>
1428 <attribute name=
"FILENAME"/>
1429 <attribute name=
"FILEEXT" default=
"efi"/>
1431 <element name=
"EXTRA.INC" optional=
"yes"/>
1432 <element name=
"EXTRA.ARG" optional=
"yes"/>
1435 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1436 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1437 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>
1442 Build macro for Apriori
1444 <macrodef name=
"Build_Apriori">
1445 <attribute name=
"FILEPATH" default=
"."/>
1446 <attribute name=
"FILENAME"/>
1447 <attribute name=
"FILEEXT" default=
"apr"/>
1448 <attribute name=
"GUID"/>
1451 <mkdir dir=
"${FV_DIR}/Apriori" />
1452 <gensection inputfile=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1453 outputfile=
"${FV_DIR}/Apriori/@{FILENAME}.sec"
1454 sectiontype=
"EFI_SECTION_RAW"/>
1456 <genffsfile BaseName=
"@{FILENAME}" ffsATTRIBCHECKSUM=
"TRUE" ffsFILETYPE=
"EFI_FV_FILETYPE_FREEFORM"
1457 fileGuid=
"@{GUID}" moduleType=
"BASE" outputDir=
"${FV_DIR}">
1458 <sectFile fileName=
"${FV_DIR}/Apriori/@{FILENAME}.sec"/>