]>
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"/>
678 <command type=
"LINK">
679 <argument value=
"${LINK_FLAGS}"/>
680 <libset libs=
"${LIBS}"/>
682 <EntryPoint value=
"_ModuleEntryPoint"/>
683 <map value=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.map"/>
684 <pdb value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.pdb"/>
685 <OutputFile value=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.dll"/>
686 <FileList dir=
"" files=
"${OBJECTS}"/>
697 <macrodef name=
"GenEfi">
698 <attribute name=
"FILEPATH"/>
699 <attribute name=
"FILENAME"/>
700 <attribute name=
"FILEEXT" default=
"dll"/>
705 <file name=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
708 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
712 <fwimage componenttype=
"${COMPONENT_TYPE}" outImage=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
713 peImage=
"${DEST_DIR_DEBUG}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}" time=
"0"/>
720 EFI_SECTION_FREEFORM_SUBTYPE_GUID
722 EFI_SECTION_USER_INTERFACE
723 EFI_SECTION_DXE_DEPEX
724 EFI_SECTION_PEI_DEPEX
729 EFI_SECTION_COMPRESSION
730 EFI_SECTION_GUID_DEFINED
731 EFI_SECTION_COMPATIBILITY16
732 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
737 <macrodef name=
"EFI_SECTION_PE32">
738 <attribute name=
"FILEPATH"/>
739 <attribute name=
"FILENAME"/>
740 <attribute name=
"FILEEXT" default=
"" />
742 <element name=
"PRE.PROCESS" optional=
"yes"/>
743 <element name=
"POST.PROCESS" optional=
"yes"/>
750 <equals arg1=
"${OBJECTS}" arg2=
""/>
754 <GenDll FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"">
756 <LINK.ARG
></LINK.ARG
>
759 <GenEfi FILEPATH=
"." FILENAME=
"@{FILENAME}" FILEEXT=
"dll"/>
765 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"/>
768 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"/>
772 <copy file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi" tofile=
"${BIN_DIR}/@{FILENAME}.efi" />
773 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.efi"
774 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.pe32"
775 sectiontype=
"EFI_SECTION_PE32"/>
786 <macrodef name=
"EFI_SECTION_VERSION">
787 <attribute name=
"FILEPATH"/>
788 <attribute name=
"FILENAME"/>
789 <attribute name=
"FILEEXT" default=
"" />
790 <attribute name=
"VERSION" default=
"0000"/>
792 <element name=
"PRE.PROCESS" optional=
"yes"/>
793 <element name=
"POST.PROCESS" optional=
"yes"/>
798 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"/>
803 <gensection outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ver"
804 versionnum=
"@{VERSION}"
805 sectiontype=
"EFI_SECTION_VERSION"/>
813 EFI_SECTION_USER_INTERFACE
815 <macrodef name=
"EFI_SECTION_USER_INTERFACE">
816 <attribute name=
"FILEPATH"/>
817 <attribute name=
"FILENAME"/>
818 <attribute name=
"FILEEXT" default=
"" />
819 <attribute name=
"UI" default=
"${BASE_NAME}"/>
821 <element name=
"PRE.PROCESS" optional=
"yes"/>
822 <element name=
"POST.PROCESS" optional=
"yes"/>
827 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"/>
832 <gensection interfacestring=
"@{UI}"
833 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.ui"
834 sectiontype=
"EFI_SECTION_USER_INTERFACE"/>
842 EFI_SECTION_FREEFORM_SUBTYPE_GUID
843 <macrodef name="EFI_SECTION_FREEFORM_SUBTYPE_GUID">
844 <attribute name="FILEPATH"/>
845 <attribute name="FILENAME"/>
846 <attribute name="FILEEXT" default=""/>
848 <element name="EXTRA.INC" optional="yes"/>
849 <element name="EXTRA.ARG" optional="yes"/>
852 <gensection inputfile=""
854 sectiontype="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>
860 EFI_SECTION_DXE_DEPEX
862 <macrodef name=
"EFI_SECTION_DXE_DEPEX">
863 <attribute name=
"FILEPATH"/>
864 <attribute name=
"FILENAME"/>
865 <attribute name=
"FILEEXT" default=
"dxs"/>
867 <element name=
"PRE.PROCESS" optional=
"yes"/>
868 <element name=
"POST.PROCESS" optional=
"yes"/>
874 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
878 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
881 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
884 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
885 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
886 sectiontype=
"EFI_SECTION_DXE_DEPEX"/>
893 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
896 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
907 EFI_SECTION_PEI_DEPEX
909 <macrodef name=
"EFI_SECTION_PEI_DEPEX">
910 <attribute name=
"FILEPATH"/>
911 <attribute name=
"FILENAME"/>
912 <attribute name=
"FILEEXT" default=
"dxs"/>
914 <element name=
"PRE.PROCESS" optional=
"yes"/>
915 <element name=
"POST.PROCESS" optional=
"yes"/>
919 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
923 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"/>
926 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
930 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}.depex"
931 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"
932 sectiontype=
"EFI_SECTION_PEI_DEPEX"/>
940 <available type=
"file" file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
943 <touch file=
"${DEST_DIR_OUTPUT}/@{FILENAME}.dpx"/>
954 <macrodef name="EFI_SECTION_PIC">
955 <attribute name="FILEPATH"/>
956 <attribute name="FILENAME"/>
957 <attribute name="FILEEXT" default=""/>
959 <element name="EXTRA.INC" optional="yes"/>
960 <element name="EXTRA.ARG" optional="yes"/>
963 <gensection inputfile="${BIN_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
964 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
965 sectiontype="EFI_SECTION_PIC"/>
972 <macrodef name="EFI_SECTION_TE">
973 <attribute name="FILEPATH"/>
974 <attribute name="FILENAME"/>
975 <attribute name="FILEEXT" default=""/>
977 <element name="EXTRA.INC" optional="yes"/>
978 <element name="EXTRA.ARG" optional="yes"/>
981 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
982 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
983 sectiontype="EFI_SECTION_PE32"/>
991 <macrodef name=
"EFI_SECTION_RAW">
992 <attribute name=
"FILEPATH"/>
993 <attribute name=
"FILENAME"/>
994 <attribute name=
"FILEEXT" default=
"bin"/>
996 <element name=
"PRE.PROCESS" optional=
"yes"/>
997 <element name=
"POST.PROCESS" optional=
"yes"/>
1002 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"/>
1005 <file name=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"/>
1010 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.@{FILEEXT}"
1011 outputfile=
"${DEST_DIR_OUTPUT}/@{FILENAME}.sec"
1012 sectiontype=
"EFI_SECTION_RAW"/>
1020 EFI_SECTION_COMPRESSION
1021 <macrodef name="EFI_SECTION_COMPRESSION">
1022 <attribute name="FILEPATH"/>
1023 <attribute name="FILENAME"/>
1024 <attribute name="FILEEXT" default=""/>
1026 <element name="EXTRA.INC" optional="yes"/>
1027 <element name="EXTRA.ARG" optional="yes"/>
1030 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1031 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1032 sectiontype="EFI_SECTION_PE32"/>
1038 EFI_SECTION_GUID_DEFINED
1039 <macrodef name="EFI_SECTION_GUID_DEFINED">
1040 <attribute name="FILEPATH"/>
1041 <attribute name="FILENAME"/>
1042 <attribute name="FILEEXT" default=""/>
1044 <element name="EXTRA.INC" optional="yes"/>
1045 <element name="EXTRA.ARG" optional="yes"/>
1048 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1049 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1050 sectiontype="EFI_SECTION_PE32"/>
1056 EFI_SECTION_COMPATIBILITY16
1057 <macrodef name="EFI_SECTION_COMPATIBILITY16">
1058 <attribute name="FILEPATH"/>
1059 <attribute name="FILENAME"/>
1060 <attribute name="FILEEXT" default=""/>
1062 <element name="EXTRA.INC" optional="yes"/>
1063 <element name="EXTRA.ARG" optional="yes"/>
1066 <gensection inputfile="${BIN_DIR}/@{FILENAME}.@{FILEEXT}"
1067 outputfile="${BIN_DIR}/@{FILENAME}.pe32"
1068 sectiontype="EFI_SECTION_PE32"/>
1074 EFI_SECTION_FIRMWARE_VOLUME_IMAGE
1076 <macrodef name=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE">
1077 <attribute name=
"FILEPATH"/>
1078 <attribute name=
"FILENAME"/>
1079 <attribute name=
"FILEEXT" default=
"fv"/>
1081 <element name=
"PRE.PROCESS" optional=
"yes"/>
1082 <element name=
"POST.PROCESS" optional=
"yes"/>
1087 <file name=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"/>
1090 <file name=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"/>
1096 <copy file=
"${FV_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1097 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1099 <gensection inputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1100 outputfile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}fv.sec"
1101 sectiontype=
"EFI_SECTION_FIRMWARE_VOLUME_IMAGE"/>
1112 <macrodef name=
"Build_Binary">
1113 <attribute name=
"FILEPATH"/>
1114 <attribute name=
"FILENAME"/>
1115 <attribute name=
"FILEEXT" default=
"bin"/>
1117 <element name=
"EXTRA.INC" optional=
"yes"/>
1118 <element name=
"EXTRA.ARG" optional=
"yes"/>
1121 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1122 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1129 <macrodef name=
"Build_Graphics">
1130 <attribute name=
"FILEPATH"/>
1131 <attribute name=
"FILENAME"/>
1132 <attribute name=
"FILEEXT" default=
"bmp"/>
1134 <element name=
"EXTRA.INC" optional=
"yes"/>
1135 <element name=
"EXTRA.ARG" optional=
"yes"/>
1138 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1139 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1140 tofile=
"${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.bin"/>
1143 <macrodef name=
"Build_EFI">
1144 <attribute name=
"FILEPATH"/>
1145 <attribute name=
"FILENAME"/>
1146 <attribute name=
"FILEEXT" default=
"efi"/>
1148 <element name=
"EXTRA.INC" optional=
"yes"/>
1149 <element name=
"EXTRA.ARG" optional=
"yes"/>
1152 <mkdir dir=
"${MODULE_DIR}/@{FILEPATH}" />
1153 <copy file=
"${MODULE_DIR}/@{FILEPATH}/@{FILENAME}.@{FILEEXT}"
1154 tofile=
"${DEST_DIR_OUTPUT}/${BASE_NAME}.efi"/>