]>
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_GCC_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"/>
323 <command type=
"ASM" includepathDelimiter=
"-I">
326 <argument value=
"${ASM_FLAGS}"/>
328 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
329 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
331 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
337 for library generation later
339 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
346 <macrodef name=
"Build_IPF_Assembly_Code">
347 <attribute name=
"FILEPATH"/>
348 <attribute name=
"FILENAME"/>
349 <attribute name=
"FILEEXT" default=
"s"/>
351 <element name=
"EXTRA.INC" optional=
"yes"/>
352 <element name=
"EXTRA.ARG" optional=
"yes"/>
355 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
358 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
360 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
361 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
362 <includepath path=
"${WORKSPACE_DIR}"/>
363 <includepath path=
"${MODULE_DIR}"/>
364 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
372 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
375 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
379 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
380 tofile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
382 <command type=
"CC" workdir=
".">
383 <includepath path=
"${WORKSPACE_DIR}"/>
384 <includepath path=
"${MODULE_DIR}"/>
385 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
387 <argument value=
"${PP_FLAGS}"/>
388 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.c"/>
391 <move file=
"@{FILENAME}.@{FILEEXT}.i"
392 tofile=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
395 <command type=
"ASM" includepathDelimiter=
"-I">
396 <includepath path=
"${WORKSPACE_DIR}"/>
397 <includepath path=
"${MODULE_DIR}"/>
398 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
401 <argument value=
"${ASM_FLAGS}"/>
403 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
404 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
406 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pro"/>
412 for library generation later
414 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
419 <macrodef name=
"Build_IPF_PP_Code">
420 <attribute name=
"FILEPATH"/>
421 <attribute name=
"FILENAME"/>
422 <attribute name=
"FILEEXT" default=
"i"/>
424 <element name=
"EXTRA.INC" optional=
"yes"/>
425 <element name=
"EXTRA.ARG" optional=
"yes"/>
428 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
431 <command type=
"ASM" includepathDelimiter=
"-I">
432 <includepath path=
"${WORKSPACE_DIR}"/>
433 <includepath path=
"${MODULE_DIR}"/>
434 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
437 <argument value=
"${ASM_FLAGS}"/>
439 <!-- <argument value="-o ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/> -->
440 <OutputFile File=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
442 <fileset casesensitive=
"off" file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
447 for library generation later
449 <bl NAME=
"OBJECTS" VALUE=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
454 [Build.Ia32.Makefile,Build.Ipf.Makefile,Build.Ebc.Makefile]
455 [Build.Ia32.Custom_Makefile,Build.Ipf.Custom_Makefile,Build.Ebc.Custom_Makefile]
457 <macrodef name=
"Build_Custom_Build">
458 <attribute name=
"FILEPATH"/>
459 <attribute name=
"FILENAME"/>
460 <attribute name=
"FILEEXT" default=
"c"/>
462 <element name=
"EXTRA.INC" optional=
"yes"/>
463 <element name=
"EXTRA.ARG" optional=
"yes"/>
473 <macrodef name=
"Build_Unicode">
474 <attribute name=
"FILEPATH"/>
475 <attribute name=
"FILENAME"/>
476 <attribute name=
"FILEEXT" default=
"uni"/>
478 <element name=
"EXTRA.INC" optional=
"yes"/>
479 <element name=
"EXTRA.ARG" optional=
"yes"/>
482 <mkdir dir=
"${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
486 <file name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
489 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
493 <strgather commandtype=
"parse" newdatabase=
"true">
494 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
495 <includepath path=
"${WORKSPACE_DIR}"/>
496 <includepath path=
"${MODULE_DIR}"/>
497 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
500 <inputfile name=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
505 <bl name=
"SDB_FILES" value=
"${SDB_FILES}, ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
510 .sdb(s) -> .c, .h -> .obj
512 <macrodef name=
"Build_Unicode_Database">
513 <attribute name=
"FILEPATH"/>
514 <attribute name=
"FILENAME"/>
515 <attribute name=
"FILEEXT" default=
"sdb"/>
517 <element name=
"EXTRA.INC" optional=
"yes"/>
518 <element name=
"EXTRA.ARG" optional=
"yes"/>
523 <file list=
"${SDB_FILES}"/>
524 <file list=
"${SOURCE_FILES}"/>
527 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
531 <strgather commandtype=
"scan" outputdatabase=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb" verbose=
"read">
532 <skipext name=
".uni"/>
534 <database list=
"${SDB_FILES}"/>
535 <inputfile name=
"${SOURCE_FILES}"/>
542 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
545 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"/>
546 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"/>
547 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
551 <strgather basename=
"@{FILENAME}Strings" commandtype=
"dump"
552 outputdefines=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}StrDefs.h"
553 outputhpk=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.hpk"
554 outputstring=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c">
555 <database name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.sdb"/>
562 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
565 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
570 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}" includepathDelimiter=
"-I">
571 <includepath path=
"${WORKSPACE_DIR}"/>
572 <includepath path=
"${MODULE_DIR}"/>
573 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
575 <argument value=
"${CC_FLAGS}"/>
576 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
578 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}Strings.c"/>
584 <bl name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Strings.obj"/>
591 <macrodef name=
"Build_Vfr">
592 <attribute name=
"FILEPATH"/>
593 <attribute name=
"FILENAME"/>
594 <attribute name=
"FILEEXT" default=
"vfr"/>
596 <element name=
"EXTRA.INC" optional=
"yes"/>
597 <element name=
"EXTRA.ARG" optional=
"yes"/>
600 <mkdir dir=
"${DEST_DIR_DEBUG}/@{FILEPATH}"/>
603 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
605 <makedeps DepsFile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep">
606 <input file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
607 <!-- <input file="${DEST_DIR_DEBUG}/AutoGen.h"/> -->
608 <includepath path=
"${WORKSPACE_DIR}"/>
609 <includepath path=
"${MODULE_DIR}"/>
610 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
618 <file listfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}.dep"/>
621 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
625 <vfrcompile createIfrBinFile=
"on" createListFile=
"on" outPutDir=
"${DEST_DIR_DEBUG}/@{FILEPATH}" vfrFile=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}">
626 <includepath path=
"${WORKSPACE_DIR}"/>
627 <includepath path=
"${MODULE_DIR}"/>
628 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
633 <command type=
"CC" workdir=
"${DEST_DIR_OUTPUT}" includepathDelimiter=
"-I">
634 <includepath path=
"${WORKSPACE_DIR}"/>
635 <includepath path=
"${MODULE_DIR}"/>
636 <includepath path=
"${MODULE_DIR}/${ARCH}"/>
637 <argument value=
"${CC_FLAGS}"/>
638 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
641 <fileset casesensitive=
"off" file=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.c"/>
645 <delete file=
"@{FILENAME}.i"/>
648 <bl name=
"OBJECTS" value=
"${OBJECTS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
652 <!--############################################################################
654 #############################################################################-->
658 <macrodef name=
"GenDll">
659 <attribute name=
"FILEPATH"/>
660 <attribute name=
"FILENAME"/>
661 <attribute name=
"FILEEXT"/>
663 <element name=
"LIB.ARG" optional=
"yes"/>
664 <element name=
"LINK.ARG" optional=
"yes"/>
669 <file list=
"${OBJECTS}"/>
670 <file list=
"${LIBS}"/>
673 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
679 <argument value=
"${LIB_FLAGS}"/>
680 <FileList dir=
"" files=
"${OBJECTS}"/>
682 <OutputFile value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
686 <command type=
"LINK">
687 <argument value=
"${LINK_FLAGS}"/>
688 <libset libs=
"${LIBS} ${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}Local.lib"/>
690 <EntryPoint value=
"_ModuleEntryPoint"/>
691 <map value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.map"/>
692 <pdb value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pdb"/>
693 <OutputFile value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
694 <!-- <FileList dir="" files="${OBJECTS}"/> -->
705 <macrodef name=
"GenEfi">
706 <attribute name=
"FILEPATH"/>
707 <attribute name=
"FILENAME"/>
708 <attribute name=
"FILEEXT" default=
"dll"/>
713 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
716 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
720 <fwimage componenttype=
"${COMPONENT_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
721 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
722 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${DEST_DIR_DEBUG}/@{FILENAME}.efi" />
729 EFI_SECTION_FREEFORM_SUBTYPE_GUID
731 EFI_SECTION_USER_INTERFACE
732 EFI_SECTION_DXE_DEPEX
733 EFI_SECTION_PEI_DEPEX
738 EFI_SECTION_COMPRESSION
739 EFI_SECTION_GUID_DEFINED
740 EFI_SECTION_COMPATIBILITY16
741 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
746 <macrodef name=
"EFI_SECTION_PE32">
747 <attribute name=
"FILEPATH"/>
748 <attribute name=
"FILENAME"/>
749 <attribute name=
"FILEEXT" default=
"" />
751 <element name=
"PRE.PROCESS" optional=
"yes"/>
752 <element name=
"POST.PROCESS" optional=
"yes"/>
759 <equals arg1=
"${OBJECTS}" arg2=
""/>
763 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
765 <LINK.ARG
></LINK.ARG
>
768 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
774 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
777 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
781 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
782 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
783 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
784 sectiontype=
"EFI_SECTION_PE32"/>
795 <macrodef name=
"EFI_SECTION_VERSION">
796 <attribute name=
"FILEPATH"/>
797 <attribute name=
"FILENAME"/>
798 <attribute name=
"FILEEXT" default=
"" />
799 <attribute name=
"VERSION" default=
"0000"/>
801 <element name=
"PRE.PROCESS" optional=
"yes"/>
802 <element name=
"POST.PROCESS" optional=
"yes"/>
807 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
812 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
813 versionnum=
"@{VERSION}"
814 sectiontype=
"EFI_SECTION_VERSION"/>
822 EFI_SECTION_USER_INTERFACE
824 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
825 <attribute name=
"FILEPATH"/>
826 <attribute name=
"FILENAME"/>
827 <attribute name=
"FILEEXT" default=
"" />
828 <attribute name=
"UI" default=
"${BASE_NAME}"/>
830 <element name=
"PRE.PROCESS" optional=
"yes"/>
831 <element name=
"POST.PROCESS" optional=
"yes"/>
836 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
841 <gensection interfacestring=
"@{UI}"
842 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
843 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
851 EFI_SECTION_FREEFORM_SUBTYPE_GUID
852 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
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=""
863 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
869 EFI_SECTION_DXE_DEPEX
871 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
872 <attribute name=
"FILEPATH"/>
873 <attribute name=
"FILENAME"/>
874 <attribute name=
"FILEEXT" default=
"dxs"/>
876 <element name=
"PRE.PROCESS" optional=
"yes"/>
877 <element name=
"POST.PROCESS" optional=
"yes"/>
883 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
887 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
890 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
893 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
894 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
895 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
902 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
905 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
916 EFI_SECTION_PEI_DEPEX
918 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
919 <attribute name=
"FILEPATH"/>
920 <attribute name=
"FILENAME"/>
921 <attribute name=
"FILEEXT" default=
"dxs"/>
923 <element name=
"PRE.PROCESS" optional=
"yes"/>
924 <element name=
"POST.PROCESS" optional=
"yes"/>
928 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
932 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
935 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
939 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
940 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
941 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
949 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
952 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
963 <macrodef name="EFI_SECTION_PIC">
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}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
973 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
974 sectiontype="EFI_SECTION_PIC"/>
981 <macrodef name="EFI_SECTION_TE">
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"/>
1000 <macrodef name=
"EFI_SECTION_RAW">
1001 <attribute name=
"FILEPATH"/>
1002 <attribute name=
"FILENAME"/>
1003 <attribute name=
"FILEEXT" default=
"bin"/>
1005 <element name=
"PRE.PROCESS" optional=
"yes"/>
1006 <element name=
"POST.PROCESS" optional=
"yes"/>
1011 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
1014 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1019 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
1020 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1021 sectiontype=
"EFI_SECTION_RAW"/>
1029 EFI_SECTION_COMPRESSION
1030 <macrodef name="EFI_SECTION_COMPRESSION">
1031 <attribute name="FILEPATH"/>
1032 <attribute name="FILENAME"/>
1033 <attribute name="FILEEXT" default=""/>
1035 <element name="EXTRA.INC" optional="yes"/>
1036 <element name="EXTRA.ARG" optional="yes"/>
1039 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1040 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1041 sectiontype="EFI_SECTION_PE32"/>
1047 EFI_SECTION_GUID_DEFINED
1048 <macrodef name="EFI_SECTION_GUID_DEFINED">
1049 <attribute name="FILEPATH"/>
1050 <attribute name="FILENAME"/>
1051 <attribute name="FILEEXT" default=""/>
1053 <element name="EXTRA.INC" optional="yes"/>
1054 <element name="EXTRA.ARG" optional="yes"/>
1057 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1058 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1059 sectiontype="EFI_SECTION_PE32"/>
1065 EFI_SECTION_COMPATIBILITY16
1066 <macrodef name="EFI_SECTION_COMPATIBILITY16">
1067 <attribute name="FILEPATH"/>
1068 <attribute name="FILENAME"/>
1069 <attribute name="FILEEXT" default=""/>
1071 <element name="EXTRA.INC" optional="yes"/>
1072 <element name="EXTRA.ARG" optional="yes"/>
1075 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1076 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1077 sectiontype="EFI_SECTION_PE32"/>
1083 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1085 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1086 <attribute name=
"FILEPATH"/>
1087 <attribute name=
"FILENAME"/>
1088 <attribute name=
"FILEEXT" default=
"fv"/>
1090 <element name=
"PRE.PROCESS" optional=
"yes"/>
1091 <element name=
"POST.PROCESS" optional=
"yes"/>
1096 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1099 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1105 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1106 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1108 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1109 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1110 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1121 <macrodef name=
"Build_Binary">
1122 <attribute name=
"FILEPATH"/>
1123 <attribute name=
"FILENAME"/>
1124 <attribute name=
"FILEEXT" default=
"bin"/>
1126 <element name=
"EXTRA.INC" optional=
"yes"/>
1127 <element name=
"EXTRA.ARG" optional=
"yes"/>
1130 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1131 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1138 <macrodef name=
"Build_Graphics">
1139 <attribute name=
"FILEPATH"/>
1140 <attribute name=
"FILENAME"/>
1141 <attribute name=
"FILEEXT" default=
"bmp"/>
1143 <element name=
"EXTRA.INC" optional=
"yes"/>
1144 <element name=
"EXTRA.ARG" optional=
"yes"/>
1147 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1148 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1149 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1152 <macrodef name=
"Build_EFI">
1153 <attribute name=
"FILEPATH"/>
1154 <attribute name=
"FILENAME"/>
1155 <attribute name=
"FILEEXT" default=
"efi"/>
1157 <element name=
"EXTRA.INC" optional=
"yes"/>
1158 <element name=
"EXTRA.ARG" optional=
"yes"/>
1161 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1162 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1163 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>