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"/>
619 <!-- <echo>re-generate dll</echo> -->
622 <argument value=
"${LIB_FLAGS}"/>
623 <FileList dir=
"" files=
"${OBJECTS}"/>
625 <!-- <argument value="/OUT:${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Local.lib"/> -->
626 <OutputFile value=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Local.lib"/>
631 <command type=
"LINK">
632 <argument value=
"${LINK_FLAGS}"/>
633 <!-- <argument value="${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Local.lib"/> -->
634 <!--<argument value="${LIBS}"/>-->
635 <libSet libs=
"${LIBS} ${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}Local.lib"/>
637 <!-- <argument value="/ENTRY:_ModuleEntryPoint"/> -->
638 <EntryPoint value=
"_ModuleEntryPoint"/>
639 <!-- <argument value="/MAP:${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.map"/> -->
640 <map value=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.map"/>
641 <!-- <argument value="/PDB:${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pdb"/> -->
642 <pdb value=
"${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.pdb"/>
643 <!-- <argument value="/OUT:${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.dll"/> -->
644 <OutputFile value=
"${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.dll"/>
655 <macrodef name=
"GenEfi">
656 <attribute name=
"FILEPATH"/>
657 <attribute name=
"FILENAME"/>
658 <attribute name=
"FILEEXT" default=
"dll"/>
663 <file name=
"${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
666 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.efi"/>
670 <fwimage componenttype=
"${COMPONENT_TYPE}" outImage=
"${DEST_DIR_OUTPUT}\@{FILENAME}.efi"
671 peImage=
"${DEST_DIR_DEBUG}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}" time=
"0"/>
678 EFI_SECTION_FREEFORM_SUBTYPE_GUID
680 EFI_SECTION_USER_INTERFACE
681 EFI_SECTION_DXE_DEPEX
682 EFI_SECTION_PEI_DEPEX
687 EFI_SECTION_COMPRESSION
688 EFI_SECTION_GUID_DEFINED
689 EFI_SECTION_COMPATIBILITY16
690 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
695 <macrodef name=
"EFI_SECTION_PE32">
696 <attribute name=
"FILEPATH"/>
697 <attribute name=
"FILENAME"/>
698 <attribute name=
"FILEEXT" default=
"" />
700 <element name=
"PRE.PROCESS" optional=
"yes"/>
701 <element name=
"POST.PROCESS" optional=
"yes"/>
708 <equals arg1=
"${OBJECTS}" arg2=
""/>
712 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
714 <LINK.ARG
></LINK.ARG
>
717 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
723 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.efi"/>
726 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.pe32"/>
730 <copy file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.efi" tofile=
"${BIN_DIR}\@{FILENAME}.efi" />
731 <gensection inputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.efi"
732 outputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.pe32"
733 sectiontype=
"EFI_SECTION_PE32"/>
744 <macrodef name=
"EFI_SECTION_VERSION">
745 <attribute name=
"FILEPATH"/>
746 <attribute name=
"FILENAME"/>
747 <attribute name=
"FILEEXT" default=
"" />
748 <attribute name=
"VERSION" default=
"0000"/>
750 <element name=
"PRE.PROCESS" optional=
"yes"/>
751 <element name=
"POST.PROCESS" optional=
"yes"/>
756 <available type=
"file" file=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ver"/>
761 <gensection outputfile=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ver"
762 versionnum=
"@{VERSION}"
763 sectiontype=
"EFI_SECTION_VERSION"/>
771 EFI_SECTION_USER_INTERFACE
773 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
774 <attribute name=
"FILEPATH"/>
775 <attribute name=
"FILENAME"/>
776 <attribute name=
"FILEEXT" default=
"" />
777 <attribute name=
"UI" default=
"${BASE_NAME}"/>
779 <element name=
"PRE.PROCESS" optional=
"yes"/>
780 <element name=
"POST.PROCESS" optional=
"yes"/>
785 <available type=
"file" file=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ui"/>
790 <gensection interfacestring=
"@{UI}"
791 outputfile=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.ui"
792 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
800 EFI_SECTION_FREEFORM_SUBTYPE_GUID
801 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
802 <attribute name="FILEPATH"/>
803 <attribute name="FILENAME"/>
804 <attribute name="FILEEXT" default=""/>
806 <element name="EXTRA.INC" optional="yes"/>
807 <element name="EXTRA.ARG" optional="yes"/>
810 <gensection inputfile=""
812 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
818 EFI_SECTION_DXE_DEPEX
820 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
821 <attribute name=
"FILEPATH"/>
822 <attribute name=
"FILENAME"/>
823 <attribute name=
"FILEEXT" default=
"dxs"/>
825 <element name=
"PRE.PROCESS" optional=
"yes"/>
826 <element name=
"POST.PROCESS" optional=
"yes"/>
832 <available type=
"file" file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>
836 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>
839 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
842 <gensection inputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"
843 outputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"
844 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
851 <available type=
"file" file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
854 <touch file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
865 EFI_SECTION_PEI_DEPEX
867 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
868 <attribute name=
"FILEPATH"/>
869 <attribute name=
"FILENAME"/>
870 <attribute name=
"FILEEXT" default=
"dxs"/>
872 <element name=
"PRE.PROCESS" optional=
"yes"/>
873 <element name=
"POST.PROCESS" optional=
"yes"/>
877 <available type=
"file" file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>
881 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"/>
884 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
888 <gensection inputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}.depex"
889 outputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"
890 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
898 <available type=
"file" file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
901 <touch file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.dpx"/>
912 <macrodef name="EFI_SECTION_PIC">
913 <attribute name="FILEPATH"/>
914 <attribute name="FILENAME"/>
915 <attribute name="FILEEXT" default=""/>
917 <element name="EXTRA.INC" optional="yes"/>
918 <element name="EXTRA.ARG" optional="yes"/>
921 <gensection inputfile="${BIN_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
922 outputfile="${BIN_DIR}\@{FILENAME}.pe32"
923 sectiontype="EFI_SECTION_PIC"/>
930 <macrodef name="EFI_SECTION_TE">
931 <attribute name="FILEPATH"/>
932 <attribute name="FILENAME"/>
933 <attribute name="FILEEXT" default=""/>
935 <element name="EXTRA.INC" optional="yes"/>
936 <element name="EXTRA.ARG" optional="yes"/>
939 <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}"
940 outputfile="${BIN_DIR}\@{FILENAME}.pe32"
941 sectiontype="EFI_SECTION_PE32"/>
949 <macrodef name=
"EFI_SECTION_RAW">
950 <attribute name=
"FILEPATH"/>
951 <attribute name=
"FILENAME"/>
952 <attribute name=
"FILEEXT" default=
"bin"/>
954 <element name=
"PRE.PROCESS" optional=
"yes"/>
955 <element name=
"POST.PROCESS" optional=
"yes"/>
960 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}"/>
963 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.sec"/>
968 <gensection inputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.@{FILEEXT}"
969 outputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.sec"
970 sectiontype=
"EFI_SECTION_RAW"/>
978 EFI_SECTION_COMPRESSION
979 <macrodef name="EFI_SECTION_COMPRESSION">
980 <attribute name="FILEPATH"/>
981 <attribute name="FILENAME"/>
982 <attribute name="FILEEXT" default=""/>
984 <element name="EXTRA.INC" optional="yes"/>
985 <element name="EXTRA.ARG" optional="yes"/>
988 <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}"
989 outputfile="${BIN_DIR}\@{FILENAME}.pe32"
990 sectiontype="EFI_SECTION_PE32"/>
996 EFI_SECTION_GUID_DEFINED
997 <macrodef name="EFI_SECTION_GUID_DEFINED">
998 <attribute name="FILEPATH"/>
999 <attribute name="FILENAME"/>
1000 <attribute name="FILEEXT" default=""/>
1002 <element name="EXTRA.INC" optional="yes"/>
1003 <element name="EXTRA.ARG" optional="yes"/>
1006 <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}"
1007 outputfile="${BIN_DIR}\@{FILENAME}.pe32"
1008 sectiontype="EFI_SECTION_PE32"/>
1014 EFI_SECTION_COMPATIBILITY16
1015 <macrodef name="EFI_SECTION_COMPATIBILITY16">
1016 <attribute name="FILEPATH"/>
1017 <attribute name="FILENAME"/>
1018 <attribute name="FILEEXT" default=""/>
1020 <element name="EXTRA.INC" optional="yes"/>
1021 <element name="EXTRA.ARG" optional="yes"/>
1024 <gensection inputfile="${BIN_DIR}\@{FILENAME}.@{FILEEXT}"
1025 outputfile="${BIN_DIR}\@{FILENAME}.pe32"
1026 sectiontype="EFI_SECTION_PE32"/>
1032 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1034 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1035 <attribute name=
"FILEPATH"/>
1036 <attribute name=
"FILENAME"/>
1037 <attribute name=
"FILEEXT" default=
"fv"/>
1039 <element name=
"PRE.PROCESS" optional=
"yes"/>
1040 <element name=
"POST.PROCESS" optional=
"yes"/>
1045 <file name=
"${FV_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"/>
1048 <file name=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}fv.sec"/>
1054 <copy file=
"${FV_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
1055 tofile=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
1057 <gensection inputfile=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
1058 outputfile=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}fv.sec"
1059 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1070 <macrodef name=
"Build_Binary">
1071 <attribute name=
"FILEPATH"/>
1072 <attribute name=
"FILENAME"/>
1073 <attribute name=
"FILEEXT" default=
"bin"/>
1075 <element name=
"EXTRA.INC" optional=
"yes"/>
1076 <element name=
"EXTRA.ARG" optional=
"yes"/>
1079 <copy file=
"${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
1080 tofile=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.bin"/>
1087 <macrodef name=
"Build_Graphics">
1088 <attribute name=
"FILEPATH"/>
1089 <attribute name=
"FILENAME"/>
1090 <attribute name=
"FILEEXT" default=
"bmp"/>
1092 <element name=
"EXTRA.INC" optional=
"yes"/>
1093 <element name=
"EXTRA.ARG" optional=
"yes"/>
1096 <mkdir dir=
"${MODULE_DIR}\@{FILEPATH}" />
1097 <copy file=
"${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
1098 tofile=
"${DEST_DIR_OUTPUT}\@{FILEPATH}\@{FILENAME}.bin"/>
1101 <macrodef name=
"Build_EFI">
1102 <attribute name=
"FILEPATH"/>
1103 <attribute name=
"FILENAME"/>
1104 <attribute name=
"FILEEXT" default=
"efi"/>
1106 <element name=
"EXTRA.INC" optional=
"yes"/>
1107 <element name=
"EXTRA.ARG" optional=
"yes"/>
1110 <mkdir dir=
"${MODULE_DIR}\@{FILEPATH}" />
1111 <copy file=
"${MODULE_DIR}\@{FILEPATH}\@{FILENAME}.@{FILEEXT}"
1112 tofile=
"${DEST_DIR_OUTPUT}\${BASE_NAME}.efi"/>