]>
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_C_Code">
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 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
31 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
33 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
34 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
35 <input file=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
36 <includepath path=
"${WORKSPACE_DIR}"/>
37 <includepath path=
"${MODULE_DIR}"/>
38 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
46 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
49 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
54 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}">
55 <includepath path=
"${WORKSPACE_DIR}"/>
56 <includepath path=
"${MODULE_DIR}"/>
57 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
60 <argument value=
"${CC_FLAGS}"/>
62 <!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> -->
63 <includeFile value=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
64 <!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
65 <outputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
67 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
74 for library generation later
76 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
81 <macrodef name=
"Build_AUTOGEN">
82 <attribute name=
"FILEPATH"/>
83 <attribute name=
"FILENAME"/>
84 <attribute name=
"FILEEXT" default=
"c"/>
86 <element name=
"EXTRA.INC" optional=
"yes"/>
87 <element name=
"EXTRA.ARG" optional=
"yes"/>
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"/>
98 <includepath path=
"${WORKSPACE_DIR}"/>
99 <includepath path=
"${MODULE_DIR}"/>
100 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
108 <file ListFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
111 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
116 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}">
117 <includepath path=
"${WORKSPACE_DIR}"/>
118 <includepath path=
"${MODULE_DIR}"/>
119 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
122 <argument value=
"${CC_FLAGS}"/>
124 <!-- <argument value="/FI${DEST_DIR_DEBUG}/AutoGen.h" /> -->
125 <includeFile value=
"${DEST_DIR_DEBUG}/AutoGen.h"/>
126 <!-- <argument value="/Fo${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
127 <outputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
129 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
135 for library generation later
137 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
141 <macrodef name=
"Build_Dependency_File">
142 <attribute name=
"FILEPATH"/>
143 <attribute name=
"FILENAME"/>
144 <attribute name=
"FILEEXT" default=
"dxs"/>
146 <element name=
"EXTRA.INC" optional=
"yes"/>
147 <element name=
"EXTRA.ARG" optional=
"yes"/>
150 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
154 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
157 <file name=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>
161 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
162 tofile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
165 <command type=
"CC" workdir=
".">
166 <includepath path=
"${DEST_DIR_DEBUG}" />
167 <includepath path=
"${WORKSPACE_DIR}"/>
168 <includepath path=
"${MODULE_DIR}"/>
169 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
171 <argument value=
"${PP_FLAGS}"/>
172 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
173 <outputFile value=
"@{FILENAME}.@{FILEEXT}.i"/>
177 <gendepex inputFile=
"@{FILENAME}.@{FILEEXT}.i" outputFile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.@{FILEEXT}.depex"/>
178 <delete file=
"@{FILENAME}.@{FILEEXT}.i" />
179 <delete file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c" />
188 FILENAME="${SOURCE_NAME}"
191 <includepath path="${PACKAGE_DIR}/Include"/>
192 <includepath path="${PACKAGE_DIR}/Include/${ARCH}"/>
196 <argument value="/D EFI_DEBUG /D EFI_WHATEVER_FLAG"/>
204 <macrodef name=
"Build_Assembly">
205 <attribute name=
"FILEPATH"/>
206 <attribute name=
"FILENAME"/>
207 <attribute name=
"FILEEXT" default=
"asm"/>
209 <element name=
"EXTRA.INC" optional=
"yes"/>
210 <element name=
"EXTRA.ARG" optional=
"yes"/>
213 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
217 <file Name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
220 <file Name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
226 <includepath path=
"${WORKSPACE_DIR}"/>
227 <includepath path=
"${MODULE_DIR}"/>
228 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
231 <argument value=
"${ASM_FLAGS}"/>
233 <argument value=
"/Fl${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.lst"/>
234 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
236 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
242 for library generation later
244 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
249 Library private HashMap map = new HashMap();
251 <macrodef name=
"Build_Library">
252 <attribute name=
"FILENAME" />
253 <attribute name=
"FILEEXT" default=
"obj"/>
255 <element name=
"EXTRA.INC" optional=
"yes"/>
256 <element name=
"EXTRA.ARG" optional=
"yes"/>
259 <mkdir dir=
"${BIN_DIR}"/>
263 <file list=
"${OBJECTS}"/>
266 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
270 <!-- <echo>re-generate library</echo> -->
273 <argument value=
"${LIB_FLAGS}"/>
274 <!--<argument value="${OBJECTS}"/>-->
275 <FileList dir=
"" files=
"${OBJECTS}"/>
276 <!-- <argument value="/out:${BIN_DIR}/@{FILENAME}.lib"/> -->
277 <OutputFile value=
"${BIN_DIR}/@{FILENAME}.lib"/>
288 <macrodef name=
"Build_IPF_Assembly_Code">
289 <attribute name=
"FILEPATH"/>
290 <attribute name=
"FILENAME"/>
291 <attribute name=
"FILEEXT" default=
"s"/>
293 <element name=
"EXTRA.INC" optional=
"yes"/>
294 <element name=
"EXTRA.ARG" optional=
"yes"/>
297 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
300 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
302 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
303 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
304 <includepath path=
"${WORKSPACE_DIR}"/>
305 <includepath path=
"${MODULE_DIR}"/>
306 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
314 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
317 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
321 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
322 tofile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
324 <command type=
"CC" workdir=
".">
325 <includepath path=
"${WORKSPACE_DIR}"/>
326 <includepath path=
"${MODULE_DIR}"/>
327 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
329 <argument value=
"${PP_FLAGS}"/>
330 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
333 <move file=
"@{FILENAME}.@{FILEEXT}.i"
334 tofile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
337 <command type=
"ASM" includepathDelimiter=
"-I">
338 <includepath path=
"${WORKSPACE_DIR}"/>
339 <includepath path=
"${MODULE_DIR}"/>
340 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
343 <argument value=
"${ASM_FLAGS}"/>
345 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
346 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
348 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
354 for library generation later
356 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
361 <macrodef name=
"Build_IPF_PP_Code">
362 <attribute name=
"FILEPATH"/>
363 <attribute name=
"FILENAME"/>
364 <attribute name=
"FILEEXT" default=
"i"/>
366 <element name=
"EXTRA.INC" optional=
"yes"/>
367 <element name=
"EXTRA.ARG" optional=
"yes"/>
370 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
373 <command type=
"ASM" includepathDelimiter=
"-I">
374 <includepath path=
"${WORKSPACE_DIR}"/>
375 <includepath path=
"${MODULE_DIR}"/>
376 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
379 <argument value=
"${ASM_FLAGS}"/>
381 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
382 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
384 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
389 for library generation later
391 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
396 [Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]
397 [Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]
399 <macrodef name=
"Build_Custom_Build">
400 <attribute name=
"FILEPATH"/>
401 <attribute name=
"FILENAME"/>
402 <attribute name=
"FILEEXT" default=
"c"/>
404 <element name=
"EXTRA.INC" optional=
"yes"/>
405 <element name=
"EXTRA.ARG" optional=
"yes"/>
415 <macrodef name=
"Build_Unicode">
416 <attribute name=
"FILEPATH"/>
417 <attribute name=
"FILENAME"/>
418 <attribute name=
"FILEEXT" default=
"uni"/>
420 <element name=
"EXTRA.INC" optional=
"yes"/>
421 <element name=
"EXTRA.ARG" optional=
"yes"/>
424 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
428 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
431 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
435 <strgather commandtype=
"parse" newdatabase=
"true">
436 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
437 <includepath path=
"${WORKSPACE_DIR}"/>
438 <includepath path=
"${MODULE_DIR}"/>
439 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
442 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
447 <bl name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
452 .sdb(s) -> .c, .h -> .obj
454 <macrodef name=
"Build_Unicode_Database">
455 <attribute name=
"FILEPATH"/>
456 <attribute name=
"FILENAME"/>
457 <attribute name=
"FILEEXT" default=
"sdb"/>
459 <element name=
"EXTRA.INC" optional=
"yes"/>
460 <element name=
"EXTRA.ARG" optional=
"yes"/>
465 <file list=
"${SDB_FILES}"/>
466 <file list=
"${SOURCE_FILES}"/>
469 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
473 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
474 <skipext name=
".uni"/>
476 <database list=
"${SDB_FILES}"/>
477 <inputfile name=
"${SOURCE_FILES}"/>
484 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
487 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
488 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
489 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
493 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
494 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
495 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
496 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
497 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
504 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
507 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
512 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}" includepathDelimiter=
"-I">
513 <includepath path=
"${WORKSPACE_DIR}"/>
514 <includepath path=
"${MODULE_DIR}"/>
515 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
517 <argument value=
"${CC_FLAGS}"/>
518 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
520 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
526 <bl name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
533 <macrodef name=
"Build_Vfr">
534 <attribute name=
"FILEPATH"/>
535 <attribute name=
"FILENAME"/>
536 <attribute name=
"FILEEXT" default=
"vfr"/>
538 <element name=
"EXTRA.INC" optional=
"yes"/>
539 <element name=
"EXTRA.ARG" optional=
"yes"/>
542 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
545 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
547 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
548 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
549 <!-- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/> -->
550 <includepath path=
"${WORKSPACE_DIR}"/>
551 <includepath path=
"${MODULE_DIR}"/>
552 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
560 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
563 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
567 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
568 <includepath path=
"${WORKSPACE_DIR}"/>
569 <includepath path=
"${MODULE_DIR}"/>
570 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
575 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}" includepathDelimiter=
"-I">
576 <includepath path=
"${WORKSPACE_DIR}"/>
577 <includepath path=
"${MODULE_DIR}"/>
578 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
579 <argument value=
"${CC_FLAGS}"/>
580 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
583 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
587 <delete file=
"@{FILENAME}.i"/>
590 <bl name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
594 <!--############################################################################
596 #############################################################################-->
600 <macrodef name=
"GenDll">
601 <attribute name=
"FILEPATH"/>
602 <attribute name=
"FILENAME"/>
603 <attribute name=
"FILEEXT"/>
605 <element name=
"LIB.ARG" optional=
"yes"/>
606 <element name=
"LINK.ARG" optional=
"yes"/>
611 <file list=
"${OBJECTS}"/>
612 <file list=
"${LIBS}"/>
615 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
620 <command type=
"LINK">
621 <argument value=
"${LINK_FLAGS}"/>
622 <libset libs=
"${LIBS}"/>
624 <EntryPoint value=
"_ModuleEntryPoint"/>
625 <map value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.map"/>
626 <pdb value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pdb"/>
627 <OutputFile value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
628 <FileList dir=
"" files=
"${OBJECTS}"/>
639 <macrodef name=
"GenEfi">
640 <attribute name=
"FILEPATH"/>
641 <attribute name=
"FILENAME"/>
642 <attribute name=
"FILEEXT" default=
"dll"/>
647 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
650 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
654 <fwimage componenttype=
"${COMPONENT_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
655 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
662 EFI_SECTION_FREEFORM_SUBTYPE_GUID
664 EFI_SECTION_USER_INTERFACE
665 EFI_SECTION_DXE_DEPEX
666 EFI_SECTION_PEI_DEPEX
671 EFI_SECTION_COMPRESSION
672 EFI_SECTION_GUID_DEFINED
673 EFI_SECTION_COMPATIBILITY16
674 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
679 <macrodef name=
"EFI_SECTION_PE32">
680 <attribute name=
"FILEPATH"/>
681 <attribute name=
"FILENAME"/>
682 <attribute name=
"FILEEXT" default=
"" />
684 <element name=
"PRE.PROCESS" optional=
"yes"/>
685 <element name=
"POST.PROCESS" optional=
"yes"/>
692 <equals arg1=
"${OBJECTS}" arg2=
""/>
696 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
698 <LINK.ARG
></LINK.ARG
>
701 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
707 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
710 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
714 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
715 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
716 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
717 sectiontype=
"EFI_SECTION_PE32"/>
728 <macrodef name=
"EFI_SECTION_VERSION">
729 <attribute name=
"FILEPATH"/>
730 <attribute name=
"FILENAME"/>
731 <attribute name=
"FILEEXT" default=
"" />
732 <attribute name=
"VERSION" default=
"0000"/>
734 <element name=
"PRE.PROCESS" optional=
"yes"/>
735 <element name=
"POST.PROCESS" optional=
"yes"/>
740 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
745 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
746 versionnum=
"@{VERSION}"
747 sectiontype=
"EFI_SECTION_VERSION"/>
755 EFI_SECTION_USER_INTERFACE
757 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
758 <attribute name=
"FILEPATH"/>
759 <attribute name=
"FILENAME"/>
760 <attribute name=
"FILEEXT" default=
"" />
761 <attribute name=
"UI" default=
"${BASE_NAME}"/>
763 <element name=
"PRE.PROCESS" optional=
"yes"/>
764 <element name=
"POST.PROCESS" optional=
"yes"/>
769 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
774 <gensection interfacestring=
"@{UI}"
775 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
776 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
784 EFI_SECTION_FREEFORM_SUBTYPE_GUID
785 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
786 <attribute name="FILEPATH"/>
787 <attribute name="FILENAME"/>
788 <attribute name="FILEEXT" default=""/>
790 <element name="EXTRA.INC" optional="yes"/>
791 <element name="EXTRA.ARG" optional="yes"/>
794 <gensection inputfile=""
796 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
802 EFI_SECTION_DXE_DEPEX
804 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
805 <attribute name=
"FILEPATH"/>
806 <attribute name=
"FILENAME"/>
807 <attribute name=
"FILEEXT" default=
"dxs"/>
809 <element name=
"PRE.PROCESS" optional=
"yes"/>
810 <element name=
"POST.PROCESS" optional=
"yes"/>
816 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
820 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
823 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
826 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
827 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
828 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
835 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
838 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
849 EFI_SECTION_PEI_DEPEX
851 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
852 <attribute name=
"FILEPATH"/>
853 <attribute name=
"FILENAME"/>
854 <attribute name=
"FILEEXT" default=
"dxs"/>
856 <element name=
"PRE.PROCESS" optional=
"yes"/>
857 <element name=
"POST.PROCESS" optional=
"yes"/>
861 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
865 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
868 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
872 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
873 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
874 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
882 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
885 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
896 <macrodef name="EFI_SECTION_PIC">
897 <attribute name="FILEPATH"/>
898 <attribute name="FILENAME"/>
899 <attribute name="FILEEXT" default=""/>
901 <element name="EXTRA.INC" optional="yes"/>
902 <element name="EXTRA.ARG" optional="yes"/>
905 <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
906 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
907 sectiontype="EFI_SECTION_PIC"/>
914 <macrodef name="EFI_SECTION_TE">
915 <attribute name="FILEPATH"/>
916 <attribute name="FILENAME"/>
917 <attribute name="FILEEXT" default=""/>
919 <element name="EXTRA.INC" optional="yes"/>
920 <element name="EXTRA.ARG" optional="yes"/>
923 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
924 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
925 sectiontype="EFI_SECTION_PE32"/>
933 <macrodef name=
"EFI_SECTION_RAW">
934 <attribute name=
"FILEPATH"/>
935 <attribute name=
"FILENAME"/>
936 <attribute name=
"FILEEXT" default=
"bin"/>
938 <element name=
"PRE.PROCESS" optional=
"yes"/>
939 <element name=
"POST.PROCESS" optional=
"yes"/>
944 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
947 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
952 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
953 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
954 sectiontype=
"EFI_SECTION_RAW"/>
962 EFI_SECTION_COMPRESSION
963 <macrodef name="EFI_SECTION_COMPRESSION">
964 <attribute name="FILEPATH"/>
965 <attribute name="FILENAME"/>
966 <attribute name="FILEEXT" default=""/>
968 <element name="EXTRA.INC" optional="yes"/>
969 <element name="EXTRA.ARG" optional="yes"/>
972 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
973 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
974 sectiontype="EFI_SECTION_PE32"/>
980 EFI_SECTION_GUID_DEFINED
981 <macrodef name="EFI_SECTION_GUID_DEFINED">
982 <attribute name="FILEPATH"/>
983 <attribute name="FILENAME"/>
984 <attribute name="FILEEXT" default=""/>
986 <element name="EXTRA.INC" optional="yes"/>
987 <element name="EXTRA.ARG" optional="yes"/>
990 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
991 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
992 sectiontype="EFI_SECTION_PE32"/>
998 EFI_SECTION_COMPATIBILITY16
999 <macrodef name="EFI_SECTION_COMPATIBILITY16">
1000 <attribute name="FILEPATH"/>
1001 <attribute name="FILENAME"/>
1002 <attribute name="FILEEXT" default=""/>
1004 <element name="EXTRA.INC" optional="yes"/>
1005 <element name="EXTRA.ARG" optional="yes"/>
1008 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1009 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1010 sectiontype="EFI_SECTION_PE32"/>
1016 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1018 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1019 <attribute name=
"FILEPATH"/>
1020 <attribute name=
"FILENAME"/>
1021 <attribute name=
"FILEEXT" default=
"fv"/>
1023 <element name=
"PRE.PROCESS" optional=
"yes"/>
1024 <element name=
"POST.PROCESS" optional=
"yes"/>
1029 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1032 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1038 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1039 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1041 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1042 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1043 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1054 <macrodef name=
"Build_Binary">
1055 <attribute name=
"FILEPATH"/>
1056 <attribute name=
"FILENAME"/>
1057 <attribute name=
"FILEEXT" default=
"bin"/>
1059 <element name=
"EXTRA.INC" optional=
"yes"/>
1060 <element name=
"EXTRA.ARG" optional=
"yes"/>
1063 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1064 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1071 <macrodef name=
"Build_Graphics">
1072 <attribute name=
"FILEPATH"/>
1073 <attribute name=
"FILENAME"/>
1074 <attribute name=
"FILEEXT" default=
"bmp"/>
1076 <element name=
"EXTRA.INC" optional=
"yes"/>
1077 <element name=
"EXTRA.ARG" optional=
"yes"/>
1080 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1081 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1082 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1085 <macrodef name=
"Build_EFI">
1086 <attribute name=
"FILEPATH"/>
1087 <attribute name=
"FILENAME"/>
1088 <attribute name=
"FILEEXT" default=
"efi"/>
1090 <element name=
"EXTRA.INC" optional=
"yes"/>
1091 <element name=
"EXTRA.ARG" optional=
"yes"/>
1094 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1095 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1096 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>