]>
git.proxmox.com Git - mirror_edk2.git/blob - Tools/Conf/BuildMacro.xml
1
<?xml version=
"1.0" encoding=
"UTF-8"?>
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 <project name=
"common">
14 Macro for intialize some properties. This Macro build will be called before source file build.
16 <macrodef name=
"Build_Init">
18 <var name=
"OBJECTS" value=
"" />
19 <var name=
"SDB_FILES" value=
"" />
25 macro definitions for building files with different types
30 <macrodef name=
"Build_CCode">
31 <attribute name=
"FILEPATH"/>
32 <attribute name=
"FILENAME"/>
33 <attribute name=
"FILEEXT" default=
"c"/>
35 <element name=
"EXTRA.INC" optional=
"yes"/>
36 <element name=
"EXTRA.ARG" optional=
"yes"/>
39 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
40 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
41 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
44 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
46 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
47 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
48 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
56 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
59 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
64 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
65 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
67 <argument value=
"${CC_FLAGS}"/>
69 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
74 <var name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />
79 <macrodef name=
"Build_AUTOGEN">
80 <attribute name=
"FILEPATH"/>
81 <attribute name=
"FILENAME"/>
82 <attribute name=
"FILEEXT" default=
"c"/>
84 <element name=
"EXTRA.INC" optional=
"yes"/>
85 <element name=
"EXTRA.ARG" optional=
"yes"/>
88 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
89 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
90 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
93 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
95 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
96 <input file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
97 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
105 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
108 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
113 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
114 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
116 <argument value=
"${CC_FLAGS}"/>
118 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
123 <var name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />
127 <macrodef name=
"Build_DPX">
128 <attribute name=
"FILEPATH"/>
129 <attribute name=
"FILENAME"/>
130 <attribute name=
"FILEEXT" default=
"dxs"/>
132 <element name=
"EXTRA.INC" optional=
"yes"/>
133 <element name=
"EXTRA.ARG" optional=
"yes"/>
137 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
138 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
139 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
143 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
146 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
151 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}"
152 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i">
154 <argument value=
"${PP_FLAGS}"/>
155 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
159 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
165 <macrodef name=
"Build_ASM">
166 <attribute name=
"FILEPATH"/>
167 <attribute name=
"FILENAME"/>
168 <attribute name=
"FILEEXT" default=
"asm"/>
170 <element name=
"EXTRA.INC" optional=
"yes"/>
171 <element name=
"EXTRA.ARG" optional=
"yes"/>
173 <!-- Dispath ASM file, there are three type.
175 S - Build_Gcc_Assembly
176 s - Build_Ipf_Assembly -->
179 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
181 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
182 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
183 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
187 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
189 <Build_Gcc_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
190 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
191 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
192 </Build_Gcc_Assembly>
196 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
198 <Build_IPF_Assembly_Code FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
199 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
200 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
201 </Build_IPF_Assembly_Code>
211 <macrodef name=
"Build_Assembly">
212 <attribute name=
"FILEPATH"/>
213 <attribute name=
"FILENAME"/>
214 <attribute name=
"FILEEXT" default=
"asm"/>
216 <element name=
"EXTRA.INC.1" optional=
"yes"/>
217 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
220 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
221 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
222 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
226 <file Name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
229 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
234 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}">
236 <argument value=
"${PP_FLAGS}"/>
237 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
241 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
242 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
245 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
249 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
250 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
256 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
257 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
260 <argument value=
"${ASM_FLAGS}"/>
263 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
268 <var name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />
273 Build GCC assembly code
275 <macrodef name=
"Build_Gcc_Assembly">
276 <attribute name=
"FILEPATH"/>
277 <attribute name=
"FILENAME"/>
278 <attribute name=
"FILEEXT" default=
"asm"/>
280 <element name=
"EXTRA.INC.1" optional=
"yes"/>
281 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
284 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
285 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
286 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
290 <file Name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
293 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
298 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
299 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
302 <argument value=
"${ASM_FLAGS}"/>
305 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
310 <var name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />
317 <macrodef name=
"Build_IPF_Assembly_Code">
318 <attribute name=
"FILEPATH"/>
319 <attribute name=
"FILENAME"/>
320 <attribute name=
"FILEEXT" default=
"s"/>
322 <element name=
"EXTRA.INC.1" optional=
"yes"/>
323 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
326 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
329 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
331 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
332 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
340 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
343 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
348 <command type=
"PP" cmd=
"${PP}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${PP_FAMILY}">
350 <argument value=
"${PP_FLAGS}"/>
351 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
356 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
357 includepathDelimiter=
"-I" outputDelimiter=
"-o"
358 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
360 <argument value=
"${ASM_FLAGS}"/>
362 <fileset casesensitive=
"on" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
367 <var name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />
372 <macrodef name=
"Build_IPF_PP_Code">
373 <attribute name=
"FILEPATH"/>
374 <attribute name=
"FILENAME"/>
375 <attribute name=
"FILEEXT" default=
"i"/>
377 <element name=
"EXTRA.INC" optional=
"yes"/>
378 <element name=
"EXTRA.ARG" optional=
"yes"/>
381 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
384 <command type=
"ASM" includepathDelimiter=
"-I">
385 <includepath path=
"${WORKSPACE_DIR}"/>
386 <includepath path=
"${MODULE_DIR}"/>
387 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
390 <argument value=
"${ASM_FLAGS}"/>
392 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
394 <fileset casesensitive=
"on" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
402 Library private HashMap map = new HashMap();
404 <macrodef name=
"Build_Library">
405 <attribute name=
"FILENAME" />
406 <attribute name=
"FILEEXT" default=
"obj"/>
409 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
410 <var name=
"FILE_PATH" value=
"." />
411 <mkdir dir=
"${BIN_DIR}"/>
415 <file list=
"${OBJECTS}" />
418 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
423 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
424 outputFile=
"${BIN_DIR}/@{FILENAME}.lib">
425 <argument value=
"${SLINK_FLAGS}"/>
427 <argument value=
"${OBJECTS}"/>
438 <macrodef name=
"Build_UNI">
439 <attribute name=
"FILEPATH"/>
440 <attribute name=
"FILENAME"/>
441 <attribute name=
"FILEEXT" default=
"uni"/>
443 <element name=
"EXTRA.INC" optional=
"yes"/>
444 <element name=
"EXTRA.ARG" optional=
"yes"/>
447 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
451 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
454 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
458 <strgather commandtype=
"parse" newdatabase=
"true">
459 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
462 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
467 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
472 .sdb(s) -> .c, .h -> .obj
474 <macrodef name=
"Build_Unicode_Database">
475 <attribute name=
"FILEPATH"/>
476 <attribute name=
"FILENAME"/>
477 <attribute name=
"FILEEXT" default=
"sdb"/>
479 <element name=
"EXTRA.INC" optional=
"yes"/>
480 <element name=
"EXTRA.ARG" optional=
"yes"/>
483 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
484 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
487 <file list=
"${SDB_FILES}"/>
488 <file list=
"${SOURCE_FILES}"/>
491 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
495 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
496 <skipext name=
".uni"/>
498 <database list=
"${SDB_FILES}"/>
499 <inputfile name=
"${SOURCE_FILES}"/>
506 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
509 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
510 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
511 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
515 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
516 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
517 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
518 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
519 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
526 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
529 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
534 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
535 includepathDelimiter=
"-I"
536 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
537 <argument value=
"${CC_FLAGS}"/>
539 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
544 <var name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj" />
551 <macrodef name=
"Build_VFR">
552 <attribute name=
"FILEPATH"/>
553 <attribute name=
"FILENAME"/>
554 <attribute name=
"FILEEXT" default=
"vfr"/>
556 <element name=
"EXTRA.INC" optional=
"yes"/>
557 <element name=
"EXTRA.ARG" optional=
"yes"/>
560 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
563 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
565 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
566 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
574 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
577 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
581 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
586 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
587 includepathDelimiter=
"-I" family=
"${CC_FAMILY}"
588 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
589 <argument value=
"${CC_FLAGS}"/>
592 <fileset casesensitive=
"on" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
595 <delete file=
"${PLATFORM_DIR}/@{FILENAME}.i" />
598 <var name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" />
605 <macrodef name=
"Build_DUMMY">
606 <attribute name=
"FILEPATH"/>
607 <attribute name=
"FILENAME"/>
608 <attribute name=
"FILEEXT"/>
610 <element name=
"EXTRA.INC" optional=
"yes"/>
611 <element name=
"EXTRA.ARG" optional=
"yes"/>
614 <echo message=
"Ignoring ${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
618 <!--############################################################################
620 #############################################################################-->
624 <macrodef name=
"GenDll">
625 <attribute name=
"FILEPATH"/>
626 <attribute name=
"FILENAME"/>
627 <attribute name=
"FILEEXT"/>
629 <element name=
"LIB.ARG" optional=
"yes"/>
630 <element name=
"LINK.ARG" optional=
"yes"/>
633 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
634 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
637 <file list=
"${LIBS}"/>
638 <file list=
"${OBJECTS}"/>
641 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
646 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
647 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">
648 <argument value=
"${SLINK_FLAGS}"/>
650 <argument value=
"${OBJECTS}"/>
654 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
655 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" >
656 <argument value=
"${DLINK_FLAGS}"/>
657 <libset libs=
"${LIBS}"/>
658 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
659 <libset libs=
"${DLINK_SPATH}" />
671 <macrodef name=
"GenEfi">
672 <attribute name=
"FILEPATH"/>
673 <attribute name=
"FILENAME"/>
674 <attribute name=
"FILEEXT" default=
"dll"/>
679 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
682 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
686 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
687 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
694 EFI_SECTION_FREEFORM_SUBTYPE_GUID
696 EFI_SECTION_USER_INTERFACE
697 EFI_SECTION_DXE_DEPEX
698 EFI_SECTION_PEI_DEPEX
703 EFI_SECTION_COMPRESSION
704 EFI_SECTION_GUID_DEFINED
705 EFI_SECTION_COMPATIBILITY16
706 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
712 <macrodef name=
"EFI_SECTION_TE">
713 <attribute name=
"FILEPATH"/>
714 <attribute name=
"FILENAME"/>
715 <attribute name=
"FILEEXT" default=
"" />
717 <element name=
"PRE.PROCESS" optional=
"yes"/>
718 <element name=
"POST.PROCESS" optional=
"yes"/>
724 <equals arg1=
"${LIBS}" arg2=
""/>
728 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
730 <LINK.ARG
></LINK.ARG
>
733 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
739 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
742 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"/>
746 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
747 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
748 <genteimage Dump=
"false" Verbose=
"false" OutputDir=
"" OutputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" InputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
749 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te" tofile=
"${BIN_DIR}/@{FILENAME}.te" />
750 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.te"
751 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.tes"
752 sectiontype=
"EFI_SECTION_TE"/>
759 <macrodef name=
"EFI_SECTION_PE32">
760 <attribute name=
"FILEPATH"/>
761 <attribute name=
"FILENAME"/>
762 <attribute name=
"FILEEXT" default=
"" />
764 <element name=
"PRE.PROCESS" optional=
"yes"/>
765 <element name=
"POST.PROCESS" optional=
"yes"/>
771 <!-- TBD ${OBJECTS} -->
772 <equals arg1=
"${LIBS}" arg2=
""/>
776 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
778 <LINK.ARG
></LINK.ARG
>
781 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
787 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
790 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
794 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
796 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
797 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
798 sectiontype=
"EFI_SECTION_PE32"/>
803 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
810 <macrodef name=
"EFI_SECTION_VERSION">
811 <attribute name=
"FILEPATH"/>
812 <attribute name=
"FILENAME"/>
813 <attribute name=
"FILEEXT" default=
"" />
814 <attribute name=
"VERSION" default=
"0000"/>
816 <element name=
"PRE.PROCESS" optional=
"yes"/>
817 <element name=
"POST.PROCESS" optional=
"yes"/>
822 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
827 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
828 versionnum=
"@{VERSION}"
829 sectiontype=
"EFI_SECTION_VERSION"/>
837 EFI_SECTION_USER_INTERFACE
839 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
840 <attribute name=
"FILEPATH"/>
841 <attribute name=
"FILENAME"/>
842 <attribute name=
"FILEEXT" default=
"" />
843 <attribute name=
"UI" default=
"${BASE_NAME}"/>
845 <element name=
"PRE.PROCESS" optional=
"yes"/>
846 <element name=
"POST.PROCESS" optional=
"yes"/>
851 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
856 <gensection interfacestring=
"@{UI}"
857 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
858 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
866 EFI_SECTION_DXE_DEPEX
868 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
869 <attribute name=
"FILEPATH"/>
870 <attribute name=
"FILENAME"/>
871 <attribute name=
"FILEEXT" default=
"dxs"/>
873 <element name=
"PRE.PROCESS" optional=
"yes"/>
874 <element name=
"POST.PROCESS" optional=
"yes"/>
880 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
884 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
887 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
890 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
891 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
892 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
899 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
902 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
913 EFI_SECTION_PEI_DEPEX
915 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
916 <attribute name=
"FILEPATH"/>
917 <attribute name=
"FILENAME"/>
918 <attribute name=
"FILEEXT" default=
"dxs"/>
920 <element name=
"PRE.PROCESS" optional=
"yes"/>
921 <element name=
"POST.PROCESS" optional=
"yes"/>
925 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
929 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
932 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
936 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
937 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
938 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
946 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
949 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
962 <macrodef name=
"EFI_SECTION_RAW">
963 <attribute name=
"FILEPATH"/>
964 <attribute name=
"FILENAME"/>
965 <attribute name=
"FILEEXT" default=
"bin"/>
967 <element name=
"PRE.PROCESS" optional=
"yes"/>
968 <element name=
"POST.PROCESS" optional=
"yes"/>
973 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
976 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
981 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
982 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
983 sectiontype=
"EFI_SECTION_RAW"/>
991 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
993 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
994 <attribute name=
"FILEPATH"/>
995 <attribute name=
"FILENAME"/>
996 <attribute name=
"FILEEXT" default=
"fv"/>
998 <element name=
"PRE.PROCESS" optional=
"yes"/>
999 <element name=
"POST.PROCESS" optional=
"yes"/>
1004 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1007 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1013 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1014 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1016 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1017 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1018 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1029 <macrodef name=
"Build_Binary">
1030 <attribute name=
"FILEPATH"/>
1031 <attribute name=
"FILENAME"/>
1032 <attribute name=
"FILEEXT" default=
"bin"/>
1034 <element name=
"EXTRA.INC" optional=
"yes"/>
1035 <element name=
"EXTRA.ARG" optional=
"yes"/>
1038 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1039 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1046 <macrodef name=
"Build_Graphics">
1047 <attribute name=
"FILEPATH"/>
1048 <attribute name=
"FILENAME"/>
1049 <attribute name=
"FILEEXT" default=
"bmp"/>
1051 <element name=
"EXTRA.INC" optional=
"yes"/>
1052 <element name=
"EXTRA.ARG" optional=
"yes"/>
1055 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1056 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1057 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1060 <macrodef name=
"Build_EFI">
1061 <attribute name=
"FILEPATH"/>
1062 <attribute name=
"FILENAME"/>
1063 <attribute name=
"FILEEXT" default=
"efi"/>
1065 <element name=
"EXTRA.INC" optional=
"yes"/>
1066 <element name=
"EXTRA.ARG" optional=
"yes"/>
1069 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1070 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1071 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>