]>
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 definitions for building files with different types
19 <macrodef name=
"Build_CCode">
20 <attribute name=
"FILEPATH"/>
21 <attribute name=
"FILENAME"/>
22 <attribute name=
"FILEEXT" default=
"c"/>
24 <element name=
"EXTRA.INC" optional=
"yes"/>
25 <element name=
"EXTRA.ARG" optional=
"yes"/>
28 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
29 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
30 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
33 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
35 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
36 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
37 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
45 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
48 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
53 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
54 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
56 <argument value=
"${CC_FLAGS}"/>
58 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
67 <macrodef name=
"Build_AUTOGEN">
68 <attribute name=
"FILEPATH"/>
69 <attribute name=
"FILENAME"/>
70 <attribute name=
"FILEEXT" default=
"c"/>
72 <element name=
"EXTRA.INC" optional=
"yes"/>
73 <element name=
"EXTRA.ARG" optional=
"yes"/>
76 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
77 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
78 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
81 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
83 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
84 <input file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
85 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
93 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
96 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
101 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
102 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
104 <argument value=
"${CC_FLAGS}"/>
106 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
114 <macrodef name=
"Build_DPX">
115 <attribute name=
"FILEPATH"/>
116 <attribute name=
"FILENAME"/>
117 <attribute name=
"FILEEXT" default=
"dxs"/>
119 <element name=
"EXTRA.INC" optional=
"yes"/>
120 <element name=
"EXTRA.ARG" optional=
"yes"/>
124 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
125 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
126 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
130 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
133 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
139 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}">
141 <argument value=
"${PP_FLAGS}"/>
142 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
146 <gendepex inputFile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.depex"/>
152 <macrodef name=
"Build_ASM">
153 <attribute name=
"FILEPATH"/>
154 <attribute name=
"FILENAME"/>
155 <attribute name=
"FILEEXT" default=
"asm"/>
157 <element name=
"EXTRA.INC" optional=
"yes"/>
158 <element name=
"EXTRA.ARG" optional=
"yes"/>
160 <!-- Dispath ASM file, there are three type.
161 asm,s - Build_Assembly
162 S - Build_Ipf_Assembly -->
166 <equals arg1=
"@{FILEEXT}" arg2=
"asm" />
167 <equals arg1=
"@{FILEEXT}" arg2=
"S" />
170 <Build_Assembly FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
171 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
172 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
176 <equals arg1=
"@{FILEEXT}" arg2=
"s" />
178 <Build_IPF_Assembly_Code FILEPATH=
"@{FILEPATH}" FILENAME=
"@{FILENAME}" FILEEXT=
"@{FILEEXT}">
179 <EXTRA.INC
.1><EXTRA.INC
/></EXTRA.INC
.1>
180 <EXTRA.ARG
.1><EXTRA.ARG
/></EXTRA.ARG
.1>
181 </Build_IPF_Assembly_Code>
191 <macrodef name=
"Build_Assembly">
192 <attribute name=
"FILEPATH"/>
193 <attribute name=
"FILENAME"/>
194 <attribute name=
"FILEEXT" default=
"asm"/>
196 <element name=
"EXTRA.INC.1" optional=
"yes"/>
197 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
200 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
201 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
202 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
206 <file Name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
209 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
214 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
215 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
218 <argument value=
"${ASM_FLAGS}"/>
221 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
232 <macrodef name=
"Build_IPF_Assembly_Code">
233 <attribute name=
"FILEPATH"/>
234 <attribute name=
"FILENAME"/>
235 <attribute name=
"FILEEXT" default=
"s"/>
237 <element name=
"EXTRA.INC.1" optional=
"yes"/>
238 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
241 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
244 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
246 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
247 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
255 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
258 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
263 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}">
265 <argument value=
"${PP_FLAGS}"/>
266 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
271 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
272 includepathDelimiter=
"-I" outputDelimiter=
"-o"
273 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
275 <argument value=
"${ASM_FLAGS}"/>
277 <fileset casesensitive=
"off" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
286 <macrodef name=
"Build_IPF_PP_Code">
287 <attribute name=
"FILEPATH"/>
288 <attribute name=
"FILENAME"/>
289 <attribute name=
"FILEEXT" default=
"i"/>
291 <element name=
"EXTRA.INC" optional=
"yes"/>
292 <element name=
"EXTRA.ARG" optional=
"yes"/>
295 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
298 <command type=
"ASM" includepathDelimiter=
"-I">
299 <includepath path=
"${WORKSPACE_DIR}"/>
300 <includepath path=
"${MODULE_DIR}"/>
301 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
304 <argument value=
"${ASM_FLAGS}"/>
306 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
307 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
309 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
317 Library private HashMap map = new HashMap();
319 <macrodef name=
"Build_Library">
320 <attribute name=
"FILENAME" />
321 <attribute name=
"FILEEXT" default=
"obj"/>
324 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
325 <var name=
"FILE_PATH" value=
"." />
326 <mkdir dir=
"${BIN_DIR}"/>
330 <file list=
"${OBJECTS}"/>
333 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
338 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
339 outputFile=
"${BIN_DIR}/@{FILENAME}.lib">
340 <argument value=
"${SLINK_FLAGS}"/>
342 <fileset casesensitive=
"off" dir=
"${DEST_DIR_OUTPUT}" includes=
"**/*.obj"/>
353 <macrodef name=
"Build_UNI">
354 <attribute name=
"FILEPATH"/>
355 <attribute name=
"FILENAME"/>
356 <attribute name=
"FILEEXT" default=
"uni"/>
358 <element name=
"EXTRA.INC" optional=
"yes"/>
359 <element name=
"EXTRA.ARG" optional=
"yes"/>
362 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
366 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
369 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
373 <strgather commandtype=
"parse" newdatabase=
"true">
374 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
377 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
382 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
387 .sdb(s) -> .c, .h -> .obj
389 <macrodef name=
"Build_Unicode_Database">
390 <attribute name=
"FILEPATH"/>
391 <attribute name=
"FILENAME"/>
392 <attribute name=
"FILEEXT" default=
"sdb"/>
394 <element name=
"EXTRA.INC" optional=
"yes"/>
395 <element name=
"EXTRA.ARG" optional=
"yes"/>
398 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
399 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
402 <file list=
"${SDB_FILES}"/>
403 <file list=
"${SOURCE_FILES}"/>
406 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
410 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
411 <skipext name=
".uni"/>
413 <database list=
"${SDB_FILES}"/>
414 <inputfile name=
"${SOURCE_FILES}"/>
421 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
424 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
425 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
426 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
430 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
431 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
432 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
433 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
434 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
441 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
444 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
449 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
450 includepathDelimiter=
"-I"
451 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
452 <argument value=
"${CC_FLAGS}"/>
454 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
466 <macrodef name=
"Build_VFR">
467 <attribute name=
"FILEPATH"/>
468 <attribute name=
"FILENAME"/>
469 <attribute name=
"FILEEXT" default=
"vfr"/>
471 <element name=
"EXTRA.INC" optional=
"yes"/>
472 <element name=
"EXTRA.ARG" optional=
"yes"/>
475 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
478 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
480 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
481 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
489 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
492 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
496 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
501 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
502 includepathDelimiter=
"-I"
503 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
504 <argument value=
"${CC_FLAGS}"/>
507 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
510 <delete file=
"${PLATFORM_DIR}/@{FILENAME}.i" />
516 <!--############################################################################
518 #############################################################################-->
522 <macrodef name=
"GenDll">
523 <attribute name=
"FILEPATH"/>
524 <attribute name=
"FILENAME"/>
525 <attribute name=
"FILEEXT"/>
527 <element name=
"LIB.ARG" optional=
"yes"/>
528 <element name=
"LINK.ARG" optional=
"yes"/>
531 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
532 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
535 <!--fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj" /-->
536 <file list=
"${LIBS}"/>
539 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
544 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
545 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">
546 <argument value=
"${SLINK_FLAGS}"/>
548 <fileset casesensitive=
"off" dir=
"${DEST_DIR_OUTPUT}" includes=
"**/*.obj"/>
552 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
553 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" >
554 <argument value=
"${DLINK_FLAGS}"/>
555 <libset libs=
"${LIBS}"/>
556 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
557 <libset libs=
"${DLINK_SPATH}" />
569 <macrodef name=
"GenEfi">
570 <attribute name=
"FILEPATH"/>
571 <attribute name=
"FILENAME"/>
572 <attribute name=
"FILEEXT" default=
"dll"/>
577 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
580 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
585 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
586 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
593 EFI_SECTION_FREEFORM_SUBTYPE_GUID
595 EFI_SECTION_USER_INTERFACE
596 EFI_SECTION_DXE_DEPEX
597 EFI_SECTION_PEI_DEPEX
602 EFI_SECTION_COMPRESSION
603 EFI_SECTION_GUID_DEFINED
604 EFI_SECTION_COMPATIBILITY16
605 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
610 <macrodef name=
"EFI_SECTION_PE32">
611 <attribute name=
"FILEPATH"/>
612 <attribute name=
"FILENAME"/>
613 <attribute name=
"FILEEXT" default=
"" />
615 <element name=
"PRE.PROCESS" optional=
"yes"/>
616 <element name=
"POST.PROCESS" optional=
"yes"/>
622 <!-- TBD ${OBJECTS} -->
623 <equals arg1=
"${LIBS}" arg2=
""/>
627 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
629 <LINK.ARG
></LINK.ARG
>
632 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
638 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
641 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
645 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
647 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
648 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
649 sectiontype=
"EFI_SECTION_PE32"/>
654 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
661 <macrodef name=
"EFI_SECTION_VERSION">
662 <attribute name=
"FILEPATH"/>
663 <attribute name=
"FILENAME"/>
664 <attribute name=
"FILEEXT" default=
"" />
665 <attribute name=
"VERSION" default=
"0000"/>
667 <element name=
"PRE.PROCESS" optional=
"yes"/>
668 <element name=
"POST.PROCESS" optional=
"yes"/>
673 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
678 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
679 versionnum=
"@{VERSION}"
680 sectiontype=
"EFI_SECTION_VERSION"/>
688 EFI_SECTION_USER_INTERFACE
690 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
691 <attribute name=
"FILEPATH"/>
692 <attribute name=
"FILENAME"/>
693 <attribute name=
"FILEEXT" default=
"" />
694 <attribute name=
"UI" default=
"${BASE_NAME}"/>
696 <element name=
"PRE.PROCESS" optional=
"yes"/>
697 <element name=
"POST.PROCESS" optional=
"yes"/>
702 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
707 <gensection interfacestring=
"@{UI}"
708 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
709 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
717 EFI_SECTION_FREEFORM_SUBTYPE_GUID
718 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
719 <attribute name="FILEPATH"/>
720 <attribute name="FILENAME"/>
721 <attribute name="FILEEXT" default=""/>
723 <element name="EXTRA.INC" optional="yes"/>
724 <element name="EXTRA.ARG" optional="yes"/>
727 <gensection inputfile=""
729 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
735 EFI_SECTION_DXE_DEPEX
737 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
738 <attribute name=
"FILEPATH"/>
739 <attribute name=
"FILENAME"/>
740 <attribute name=
"FILEEXT" default=
"dxs"/>
742 <element name=
"PRE.PROCESS" optional=
"yes"/>
743 <element name=
"POST.PROCESS" optional=
"yes"/>
749 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
753 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
756 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
759 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
760 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
761 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
768 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
771 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
782 EFI_SECTION_PEI_DEPEX
784 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
785 <attribute name=
"FILEPATH"/>
786 <attribute name=
"FILENAME"/>
787 <attribute name=
"FILEEXT" default=
"dxs"/>
789 <element name=
"PRE.PROCESS" optional=
"yes"/>
790 <element name=
"POST.PROCESS" optional=
"yes"/>
794 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
798 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
801 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
805 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
806 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
807 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
815 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
818 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
829 <macrodef name="EFI_SECTION_PIC">
830 <attribute name="FILEPATH"/>
831 <attribute name="FILENAME"/>
832 <attribute name="FILEEXT" default=""/>
834 <element name="EXTRA.INC" optional="yes"/>
835 <element name="EXTRA.ARG" optional="yes"/>
838 <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
839 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
840 sectiontype="EFI_SECTION_PIC"/>
847 <macrodef name="EFI_SECTION_TE">
848 <attribute name="FILEPATH"/>
849 <attribute name="FILENAME"/>
850 <attribute name="FILEEXT" default=""/>
852 <element name="EXTRA.INC" optional="yes"/>
853 <element name="EXTRA.ARG" optional="yes"/>
856 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
857 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
858 sectiontype="EFI_SECTION_PE32"/>
866 <macrodef name=
"EFI_SECTION_RAW">
867 <attribute name=
"FILEPATH"/>
868 <attribute name=
"FILENAME"/>
869 <attribute name=
"FILEEXT" default=
"bin"/>
871 <element name=
"PRE.PROCESS" optional=
"yes"/>
872 <element name=
"POST.PROCESS" optional=
"yes"/>
877 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
880 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
885 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
886 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
887 sectiontype=
"EFI_SECTION_RAW"/>
895 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
897 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
898 <attribute name=
"FILEPATH"/>
899 <attribute name=
"FILENAME"/>
900 <attribute name=
"FILEEXT" default=
"fv"/>
902 <element name=
"PRE.PROCESS" optional=
"yes"/>
903 <element name=
"POST.PROCESS" optional=
"yes"/>
908 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
911 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
917 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
918 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
920 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
921 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
922 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
933 <macrodef name=
"Build_Binary">
934 <attribute name=
"FILEPATH"/>
935 <attribute name=
"FILENAME"/>
936 <attribute name=
"FILEEXT" default=
"bin"/>
938 <element name=
"EXTRA.INC" optional=
"yes"/>
939 <element name=
"EXTRA.ARG" optional=
"yes"/>
942 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
943 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
950 <macrodef name=
"Build_Graphics">
951 <attribute name=
"FILEPATH"/>
952 <attribute name=
"FILENAME"/>
953 <attribute name=
"FILEEXT" default=
"bmp"/>
955 <element name=
"EXTRA.INC" optional=
"yes"/>
956 <element name=
"EXTRA.ARG" optional=
"yes"/>
959 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
960 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
961 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
964 <macrodef name=
"Build_EFI">
965 <attribute name=
"FILEPATH"/>
966 <attribute name=
"FILENAME"/>
967 <attribute name=
"FILEEXT" default=
"efi"/>
969 <element name=
"EXTRA.INC" optional=
"yes"/>
970 <element name=
"EXTRA.ARG" optional=
"yes"/>
973 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
974 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
975 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>