8baeab9375260f4e2b0941a4f6e1460ecaecb918
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=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}">
216 <argument value=
"${PP_FLAGS}"/>
217 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
221 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
222 match=
"^(#line +1 +.*@{FILEPATH}/@{FILENAME}\.@{FILEEXT}").+\1"
225 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
229 <replaceregexp file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"
230 match=
"([^_a-zA-Z])0x([0-9a-fA-F]+)"
236 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
237 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
240 <argument value=
"${ASM_FLAGS}"/>
243 <!-- fileset casesensitive="off" file="${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/ -->
244 <fileset casesensitive=
"off" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
255 <macrodef name=
"Build_IPF_Assembly_Code">
256 <attribute name=
"FILEPATH"/>
257 <attribute name=
"FILENAME"/>
258 <attribute name=
"FILEEXT" default=
"s"/>
260 <element name=
"EXTRA.INC.1" optional=
"yes"/>
261 <element name=
"EXTRA.ARG.1" optional=
"yes"/>
264 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
267 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
269 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
270 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
278 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
281 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
286 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}" family=
"${CC_FAMILY}">
288 <argument value=
"${PP_FLAGS}"/>
289 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
294 <command type=
"ASM" cmd=
"${ASM}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${ASM_FAMILY}"
295 includepathDelimiter=
"-I" outputDelimiter=
"-o"
296 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj">
298 <argument value=
"${ASM_FLAGS}"/>
300 <fileset casesensitive=
"off" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.i"/>
309 <macrodef name=
"Build_IPF_PP_Code">
310 <attribute name=
"FILEPATH"/>
311 <attribute name=
"FILENAME"/>
312 <attribute name=
"FILEEXT" default=
"i"/>
314 <element name=
"EXTRA.INC" optional=
"yes"/>
315 <element name=
"EXTRA.ARG" optional=
"yes"/>
318 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
321 <command type=
"ASM" includepathDelimiter=
"-I">
322 <includepath path=
"${WORKSPACE_DIR}"/>
323 <includepath path=
"${MODULE_DIR}"/>
324 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
327 <argument value=
"${ASM_FLAGS}"/>
329 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
330 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
332 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
340 Library private HashMap map = new HashMap();
342 <macrodef name=
"Build_Library">
343 <attribute name=
"FILENAME" />
344 <attribute name=
"FILEEXT" default=
"obj"/>
347 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
348 <var name=
"FILE_PATH" value=
"." />
349 <mkdir dir=
"${BIN_DIR}"/>
353 <file list=
"${OBJECTS}"/>
356 <file name=
"${BIN_DIR}/@{FILENAME}.lib"/>
361 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
362 outputFile=
"${BIN_DIR}/@{FILENAME}.lib">
363 <argument value=
"${SLINK_FLAGS}"/>
365 <fileset casesensitive=
"off" dir=
"${DEST_DIR_OUTPUT}" includes=
"**/*.obj"/>
376 <macrodef name=
"Build_UNI">
377 <attribute name=
"FILEPATH"/>
378 <attribute name=
"FILENAME"/>
379 <attribute name=
"FILEEXT" default=
"uni"/>
381 <element name=
"EXTRA.INC" optional=
"yes"/>
382 <element name=
"EXTRA.ARG" optional=
"yes"/>
385 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
389 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
392 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
396 <strgather commandtype=
"parse" newdatabase=
"true">
397 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
400 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
405 <var name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
410 .sdb(s) -> .c, .h -> .obj
412 <macrodef name=
"Build_Unicode_Database">
413 <attribute name=
"FILEPATH"/>
414 <attribute name=
"FILENAME"/>
415 <attribute name=
"FILEEXT" default=
"sdb"/>
417 <element name=
"EXTRA.INC" optional=
"yes"/>
418 <element name=
"EXTRA.ARG" optional=
"yes"/>
421 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
422 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
425 <file list=
"${SDB_FILES}"/>
426 <file list=
"${SOURCE_FILES}"/>
429 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
433 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
434 <skipext name=
".uni"/>
436 <database list=
"${SDB_FILES}"/>
437 <inputfile name=
"${SOURCE_FILES}"/>
444 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
447 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
448 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
449 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
453 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
454 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
455 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
456 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
457 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
464 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
467 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
472 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}" family=
"${CC_FAMILY}"
473 includepathDelimiter=
"-I"
474 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj">
475 <argument value=
"${CC_FLAGS}"/>
477 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
489 <macrodef name=
"Build_VFR">
490 <attribute name=
"FILEPATH"/>
491 <attribute name=
"FILENAME"/>
492 <attribute name=
"FILEEXT" default=
"vfr"/>
494 <element name=
"EXTRA.INC" optional=
"yes"/>
495 <element name=
"EXTRA.ARG" optional=
"yes"/>
498 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
501 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
503 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
504 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
512 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
515 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
519 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
524 <command type=
"CC" cmd=
"${CC}" workdir=
"${DEST_DIR_OUTPUT}"
525 includepathDelimiter=
"-I"
526 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj" >
527 <argument value=
"${CC_FLAGS}"/>
530 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
533 <delete file=
"${PLATFORM_DIR}/@{FILENAME}.i" />
539 <!--############################################################################
541 #############################################################################-->
545 <macrodef name=
"GenDll">
546 <attribute name=
"FILEPATH"/>
547 <attribute name=
"FILENAME"/>
548 <attribute name=
"FILEEXT"/>
550 <element name=
"LIB.ARG" optional=
"yes"/>
551 <element name=
"LINK.ARG" optional=
"yes"/>
554 <var name=
"FILE_BASENAME" value=
"@{FILENAME}" />
555 <var name=
"FILE_PATH" value=
"@{FILEPATH}" />
558 <!--fileset casesensitive="off" dir="${DEST_DIR_OUTPUT}" includes="**/*.obj" /-->
559 <file list=
"${LIBS}"/>
562 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
567 <command type=
"SLINK" cmd=
"${SLINK}" family=
"${SLINK_FAMILY}"
568 outputFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib">
569 <argument value=
"${SLINK_FLAGS}"/>
571 <fileset casesensitive=
"off" dir=
"${DEST_DIR_OUTPUT}" includes=
"**/*.obj"/>
575 <command type=
"DLINK" cmd=
"${DLINK}" family=
"${DLINK_FAMILY}"
576 outputFile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll" >
577 <argument value=
"${DLINK_FLAGS}"/>
578 <libset libs=
"${LIBS}"/>
579 <libset libs=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
580 <libset libs=
"${DLINK_SPATH}" />
592 <macrodef name=
"GenEfi">
593 <attribute name=
"FILEPATH"/>
594 <attribute name=
"FILENAME"/>
595 <attribute name=
"FILEEXT" default=
"dll"/>
600 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
603 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
608 <fwimage componentType=
"${MODULE_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
609 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
616 EFI_SECTION_FREEFORM_SUBTYPE_GUID
618 EFI_SECTION_USER_INTERFACE
619 EFI_SECTION_DXE_DEPEX
620 EFI_SECTION_PEI_DEPEX
625 EFI_SECTION_COMPRESSION
626 EFI_SECTION_GUID_DEFINED
627 EFI_SECTION_COMPATIBILITY16
628 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
633 <macrodef name=
"EFI_SECTION_PE32">
634 <attribute name=
"FILEPATH"/>
635 <attribute name=
"FILENAME"/>
636 <attribute name=
"FILEEXT" default=
"" />
638 <element name=
"PRE.PROCESS" optional=
"yes"/>
639 <element name=
"POST.PROCESS" optional=
"yes"/>
645 <!-- TBD ${OBJECTS} -->
646 <equals arg1=
"${LIBS}" arg2=
""/>
650 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
652 <LINK.ARG
></LINK.ARG
>
655 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
661 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
664 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
668 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
670 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
671 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
672 sectiontype=
"EFI_SECTION_PE32"/>
677 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
684 <macrodef name=
"EFI_SECTION_VERSION">
685 <attribute name=
"FILEPATH"/>
686 <attribute name=
"FILENAME"/>
687 <attribute name=
"FILEEXT" default=
"" />
688 <attribute name=
"VERSION" default=
"0000"/>
690 <element name=
"PRE.PROCESS" optional=
"yes"/>
691 <element name=
"POST.PROCESS" optional=
"yes"/>
696 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
701 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
702 versionnum=
"@{VERSION}"
703 sectiontype=
"EFI_SECTION_VERSION"/>
711 EFI_SECTION_USER_INTERFACE
713 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
714 <attribute name=
"FILEPATH"/>
715 <attribute name=
"FILENAME"/>
716 <attribute name=
"FILEEXT" default=
"" />
717 <attribute name=
"UI" default=
"${BASE_NAME}"/>
719 <element name=
"PRE.PROCESS" optional=
"yes"/>
720 <element name=
"POST.PROCESS" optional=
"yes"/>
725 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
730 <gensection interfacestring=
"@{UI}"
731 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
732 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
740 EFI_SECTION_FREEFORM_SUBTYPE_GUID
741 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
742 <attribute name="FILEPATH"/>
743 <attribute name="FILENAME"/>
744 <attribute name="FILEEXT" default=""/>
746 <element name="EXTRA.INC" optional="yes"/>
747 <element name="EXTRA.ARG" optional="yes"/>
750 <gensection inputfile=""
752 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
758 EFI_SECTION_DXE_DEPEX
760 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
761 <attribute name=
"FILEPATH"/>
762 <attribute name=
"FILENAME"/>
763 <attribute name=
"FILEEXT" default=
"dxs"/>
765 <element name=
"PRE.PROCESS" optional=
"yes"/>
766 <element name=
"POST.PROCESS" optional=
"yes"/>
772 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
776 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
779 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
782 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
783 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
784 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
791 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
794 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
805 EFI_SECTION_PEI_DEPEX
807 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
808 <attribute name=
"FILEPATH"/>
809 <attribute name=
"FILENAME"/>
810 <attribute name=
"FILEEXT" default=
"dxs"/>
812 <element name=
"PRE.PROCESS" optional=
"yes"/>
813 <element name=
"POST.PROCESS" optional=
"yes"/>
817 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
821 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"/>
824 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
828 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.depex"
829 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
830 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
838 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
841 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
852 <macrodef name="EFI_SECTION_PIC">
853 <attribute name="FILEPATH"/>
854 <attribute name="FILENAME"/>
855 <attribute name="FILEEXT" default=""/>
857 <element name="EXTRA.INC" optional="yes"/>
858 <element name="EXTRA.ARG" optional="yes"/>
861 <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
862 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
863 sectiontype="EFI_SECTION_PIC"/>
871 <macrodef name=
"EFI_SECTION_TE">
872 <attribute name=
"FILEPATH"/>
873 <attribute name=
"FILENAME"/>
874 <attribute name=
"FILEEXT" default=
"" />
876 <element name=
"PRE.PROCESS" optional=
"yes"/>
877 <element name=
"POST.PROCESS" optional=
"yes"/>
884 <!-- TBD ${OBJECTS} -->
885 <equals arg1=
"${LIBS}" arg2=
""/>
889 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
891 <LINK.ARG
></LINK.ARG
>
894 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
900 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.efi"/>
903 <file name=
"${DEST_DIR_OUTPUT}\@{FILENAME}.tes"/>
907 <copy file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.efi" tofile=
"${BIN_DIR}\@{FILENAME}.efi" />
908 <copy file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}\@{FILENAME}.efi" />
910 <exec executable=
"${GENTEIMAGE}">
911 <arg line=
"-o ${DEST_DIR_OUTPUT}\@{FILENAME}.te ${DEST_DIR_OUTPUT}\@{FILENAME}.efi" />
914 <copy file=
"${DEST_DIR_OUTPUT}\@{FILENAME}.te" tofile=
"${BIN_DIR}\@{FILENAME}.te" />
916 <gensection inputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.te"
917 outputfile=
"${DEST_DIR_OUTPUT}\@{FILENAME}.tes"
918 sectiontype=
"EFI_SECTION_TE"/>
929 <macrodef name=
"EFI_SECTION_RAW">
930 <attribute name=
"FILEPATH"/>
931 <attribute name=
"FILENAME"/>
932 <attribute name=
"FILEEXT" default=
"bin"/>
934 <element name=
"PRE.PROCESS" optional=
"yes"/>
935 <element name=
"POST.PROCESS" optional=
"yes"/>
940 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
943 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
948 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
949 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
950 sectiontype=
"EFI_SECTION_RAW"/>
958 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
960 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
961 <attribute name=
"FILEPATH"/>
962 <attribute name=
"FILENAME"/>
963 <attribute name=
"FILEEXT" default=
"fv"/>
965 <element name=
"PRE.PROCESS" optional=
"yes"/>
966 <element name=
"POST.PROCESS" optional=
"yes"/>
971 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
974 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
980 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
981 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
983 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
984 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
985 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
996 <macrodef name=
"Build_Binary">
997 <attribute name=
"FILEPATH"/>
998 <attribute name=
"FILENAME"/>
999 <attribute name=
"FILEEXT" default=
"bin"/>
1001 <element name=
"EXTRA.INC" optional=
"yes"/>
1002 <element name=
"EXTRA.ARG" optional=
"yes"/>
1005 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1006 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1013 <macrodef name=
"Build_Graphics">
1014 <attribute name=
"FILEPATH"/>
1015 <attribute name=
"FILENAME"/>
1016 <attribute name=
"FILEEXT" default=
"bmp"/>
1018 <element name=
"EXTRA.INC" optional=
"yes"/>
1019 <element name=
"EXTRA.ARG" optional=
"yes"/>
1022 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1023 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1024 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1027 <macrodef name=
"Build_EFI">
1028 <attribute name=
"FILEPATH"/>
1029 <attribute name=
"FILENAME"/>
1030 <attribute name=
"FILEEXT" default=
"efi"/>
1032 <element name=
"EXTRA.INC" optional=
"yes"/>
1033 <element name=
"EXTRA.ARG" optional=
"yes"/>
1036 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1037 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1038 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>