blob: 90eac0f09d4fd6a532a130e50e1205a9fd2966da [file] [log] [blame]
lgao4ec0ae8f2010-02-23 23:43:55 +00001## @file
qhuang846375802009-08-24 15:32:15 +00002# This package build validate file is used to build validate EDK Shell source,
3# EDK Compatibility Package and the backward compatibility support of EDK II
4# build tool.
5#
lgao413535a32011-11-25 08:24:15 +00006# Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.<BR>
qhuang846375802009-08-24 15:32:15 +00007#
hhtian74bdcc32010-04-24 10:14:16 +00008# This program and the accompanying materials
qhuang846375802009-08-24 15:32:15 +00009# are licensed and made available under the terms and conditions of the BSD License
10# which accompanies this distribution. The full text of the license may be found at
11# http://opensource.org/licenses/bsd-license.php
12#
13# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15#
lgao4ec0ae8f2010-02-23 23:43:55 +000016##
qhuang846375802009-08-24 15:32:15 +000017
18[Defines]
19 PLATFORM_NAME = EdkShellPkg
20 PLATFORM_GUID = 761BEE8B-58E3-4014-B8F5-0214A8DFA7EE
21 PLATFORM_VERSION = 1.04
22 DSC_SPECIFICATION = 0x00010005
23 OUTPUT_DIRECTORY = Build/EdkShellPkg
Olivier Martin2bba8d52013-09-23 09:20:03 +000024 SUPPORTED_ARCHITECTURES = IA32|IPF|X64|ARM|AARCH64
qhuang846375802009-08-24 15:32:15 +000025 BUILD_TARGETS = DEBUG|RELEASE
26 SKUID_IDENTIFIER = DEFAULT
27#
28# Change the macro to the directory containing the source code from EDK Shell Project.
29# This is a workspace relative directory
30#
31# DEFINE EDK_SHELL_DIR = EdkShellPkg/Shell # when "Shell" directory is under $(WORKSPACE)/EdkShellPkg
32#
33DEFINE EDK_SHELL_DIR = Shell # when "Shell" directory is directly under $(WORKSPACE)
34
lgao413535a32011-11-25 08:24:15 +000035DEFINE MSFT_MACRO = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00009000 /D TIANO_RELEASE_VERSION=0x00080006 /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 /D EFI_DEBUG
36DEFINE INTEL_MACRO = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00009000 /D TIANO_RELEASE_VERSION=0x00080006 /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 /D EFI_DEBUG
37DEFINE GCC_MACRO = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_SPECIFICATION_VERSION=0x00009000 -DTIANO_RELEASE_VERSION=0x00080006 -DPCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 -DEFI_DEBUG -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -DSTRING_DEFINES_FILE=\"$(BASE_NAME)StrDefs.h\"
qhuang846375802009-08-24 15:32:15 +000038
39
40[Libraries]
41 #
42 # Libraries common to PEI and DXE
43 #
44 EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf
45 EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf
46 EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf
AJFISH532339b2009-11-10 17:54:08 +000047 EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib_Edk2.inf
qhuang846375802009-08-24 15:32:15 +000048 EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf
49 EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf
50 #
51 # PEI libraries
52 #
53 EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf
54 EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf
55 EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf
56 EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf
57 #
58 # DXE libraries
59 #
60 EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf
61 EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf
62 EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf
63 EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf
64 EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf
65 EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf
66 EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf
67 EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf
68 EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiEfiIfrSupportLib.inf
69 EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf
70 EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf
71 EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf
72 #
73 # Print/Graphics Library consume SetupBrowser Print Protocol
74 #
75 EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf
76 EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf
77 #
78 # Shell Library
79 #
80 $(EDK_SHELL_DIR)/Library/EfiShellLib.inf
81
82[Libraries.IA32, Libraries.X64]
83 EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf
AJFISH532339b2009-11-10 17:54:08 +000084 EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf
85
qhuang86bbd64e2009-11-18 06:31:04 +000086[Libraries.IPF]
AJFISH532339b2009-11-10 17:54:08 +000087 EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf
88
Olivier Martin2bba8d52013-09-23 09:20:03 +000089[Libraries.ARM, Libraries.AARCH64]
oliviermartinf6aa14a2012-06-08 08:48:05 +000090 EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf
91 ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
AJFISH532339b2009-11-10 17:54:08 +000092
qhuang846375802009-08-24 15:32:15 +000093###################################################################################################
94#
95# Components Section - list of the modules and components that will be processed by compilation
96# tools and the EDK II tools to generate PE32/PE32+/Coff image files.
97#
98# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
99# into firmware volume images. This section is just a list of modules to compile from
100# source into UEFI-compliant binaries.
101# It is the FDF file that contains information on combining binary files into firmware
102# volume images, whose concept is beyond UEFI and is described in PI specification.
103# Binary modules do not need to be listed in this section, as they should be
104# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
105# Logo (Logo.bmp), and etc.
106# There may also be modules listed in this section that are not required in the FDF file,
107# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
108# generated for it, but the binary will not be put into any firmware volume.
109#
110###################################################################################################
111
112[Components]
AJFISH532339b2009-11-10 17:54:08 +0000113 $(EDK_SHELL_DIR)/Shell.inf {
114 <BuildOptions>
115 #
116 # Can not do this in nmake section of edk INF
117 #
118 GCC:*_*_*_CC_FLAGS = -DEFI_MONOSHELL
119 GCC:*_*_*_VFRPP_FLAGS = -DEFI_MONOSHELL
120 GCC:*_*_*_APP_FLAGS = -DEFI_MONOSHELL
121 GCC:*_*_*_PP_FLAGS = -DEFI_MONOSHELL
122
123 RVCT:*_*_ARM_CC_FLAGS = -DEFI_MONOSHELL
124 RVCT:*_*_ARM_VFRPP_FLAGS = -DEFI_MONOSHELL
125 RVCT:*_*_ARM_APP_FLAGS = -DEFI_MONOSHELL
126 RVCT:*_*_ARM_PP_FLAGS = -DEFI_MONOSHELL
127 }
128
129 $(EDK_SHELL_DIR)/ShellFull.inf {
130 <BuildOptions>
131 GCC:*_*_*_CC_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL
132 GCC:*_*_*_VFRPP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL
133 GCC:*_*_*_APP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL
134 GCC:*_*_*_PP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL
135
136 RVCT:*_*_ARM_CC_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL
137 RVCT:*_*_ARM_VFRPP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL
138 RVCT:*_*_ARM_APP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL
139 RVCT:*_*_ARM_PP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL
140 }
141
qhuang846375802009-08-24 15:32:15 +0000142 $(EDK_SHELL_DIR)/attrib/attrib.inf
143 $(EDK_SHELL_DIR)/cls/cls.inf
144 $(EDK_SHELL_DIR)/comp/comp.inf
145 $(EDK_SHELL_DIR)/cp/cp.inf
146 $(EDK_SHELL_DIR)/date/date.inf
147 $(EDK_SHELL_DIR)/dblk/dblk.inf
148 $(EDK_SHELL_DIR)/devices/devices.inf
149 $(EDK_SHELL_DIR)/DeviceTree/devicetree.inf
150 $(EDK_SHELL_DIR)/dmem/dmem.inf
151 $(EDK_SHELL_DIR)/dmpstore/dmpstore.inf
152 $(EDK_SHELL_DIR)/drivers/drivers.inf
153 $(EDK_SHELL_DIR)/drvcfg/drvcfg.inf
154 $(EDK_SHELL_DIR)/drvdiag/drvdiag.inf
155 $(EDK_SHELL_DIR)/edit/edit.inf
156 $(EDK_SHELL_DIR)/EfiCompress/compress.inf
157 $(EDK_SHELL_DIR)/EfiDecompress/Decompress.inf
158 $(EDK_SHELL_DIR)/err/err.inf
159 $(EDK_SHELL_DIR)/guid/guid.inf
160 $(EDK_SHELL_DIR)/hexedit/hexedit.inf
161 $(EDK_SHELL_DIR)/IfConfig/IfConfig.inf
162 $(EDK_SHELL_DIR)/IpConfig/IpConfig.inf
163 $(EDK_SHELL_DIR)/load/load.inf
164 $(EDK_SHELL_DIR)/LoadPciRom/LoadPciRom.inf
165 $(EDK_SHELL_DIR)/ls/ls.inf
166 $(EDK_SHELL_DIR)/mem/mem.inf
167 $(EDK_SHELL_DIR)/memmap/memmap.inf
168 $(EDK_SHELL_DIR)/mkdir/mkdir.inf
169 $(EDK_SHELL_DIR)/mm/mm.inf
170 $(EDK_SHELL_DIR)/mode/mode.inf
171 $(EDK_SHELL_DIR)/mount/mount.inf
172 $(EDK_SHELL_DIR)/mv/mv.inf
173 $(EDK_SHELL_DIR)/newshell/nshell.inf
174 $(EDK_SHELL_DIR)/openinfo/openinfo.inf
175 $(EDK_SHELL_DIR)/pci/pci.inf
176 $(EDK_SHELL_DIR)/Ping/Ping.inf
177 $(EDK_SHELL_DIR)/reset/reset.inf
178 $(EDK_SHELL_DIR)/rm/rm.inf
179 $(EDK_SHELL_DIR)/sermode/sermode.inf
180 $(EDK_SHELL_DIR)/SmbiosView/Smbiosview.inf
181 $(EDK_SHELL_DIR)/stall/stall.inf
182 $(EDK_SHELL_DIR)/TelnetMgmt/TelnetMgmt.inf
183 $(EDK_SHELL_DIR)/time/time.inf
184 $(EDK_SHELL_DIR)/touch/touch.inf
185 $(EDK_SHELL_DIR)/type/type.inf
186 $(EDK_SHELL_DIR)/tzone/timezone.inf
187 $(EDK_SHELL_DIR)/unload/unload.inf
188 $(EDK_SHELL_DIR)/ver/Ver.inf
189 $(EDK_SHELL_DIR)/vol/Vol.inf
190
Shumin Qiu78322c82013-11-26 07:36:29 +0000191[BuildOptions.Common.EDK]
qhuang846375802009-08-24 15:32:15 +0000192 MSFT:*_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
193 MSFT:*_*_IA32_ASM_FLAGS = /DEFI32
194 MSFT:*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
195 MSFT:*_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
196 MSFT:*_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
197
198 MSFT:*_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
199 MSFT:*_*_X64_ASM_FLAGS = /DEFIX64
200 MSFT:*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
201 MSFT:*_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
202 MSFT:*_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
203
204 MSFT:*_*_IPF_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
205 MSFT:*_*_IPF_ASM_FLAGS =
206 MSFT:*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
207 MSFT:*_*_IPF_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
208 MSFT:*_*_IPF_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
209
210 MSFT:*_*_*_BUILD_FLAGS = -s
211
212 INTEL:*_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
213 INTEL:*_*_IA32_ASM_FLAGS = /DEFI32
214 INTEL:*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
215 INTEL:*_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
216 INTEL:*_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
217
218 INTEL:*_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
219 INTEL:*_*_X64_ASM_FLAGS = /DEFIX64
220 INTEL:*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
221 INTEL:*_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
222 INTEL:*_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
223
224 INTEL:*_*_IPF_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
225 INTEL:*_*_IPF_ASM_FLAGS =
226 INTEL:*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
227 INTEL:*_*_IPF_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
228 INTEL:*_*_IPF_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
229
230 INTEL:*_*_*_BUILD_FLAGS = -s
231
AJFISH532339b2009-11-10 17:54:08 +0000232 GCC:*_*_IA32_CC_FLAGS = -DEFI32 $(GCC_MACRO)
233 GCC:*_*_IA32_VFRPP_FLAGS = -DEFI32 $(GCC_MACRO)
234 GCC:*_*_IA32_APP_FLAGS = -DEFI32 $(GCC_MACRO)
235 GCC:*_*_IA32_PP_FLAGS = -DEFI32 $(GCC_MACRO)
236
237 GCC:*_*_X64_CC_FLAGS = -DEFIX64 $(GCC_MACRO)
238 GCC:*_*_X64_VFRPP_FLAGS = -DEFIX64 $(GCC_MACRO)
239 GCC:*_*_X64_APP_FLAGS = -DEFIX64 $(GCC_MACRO)
240 GCC:*_*_X64_PP_FLAGS = -DEFIX64 $(GCC_MACRO)
241
242 GCC:*_*_IPF_CC_FLAGS = -DEFI64 $(GCC_MACRO)
243 GCC:*_*_IPF_VFRPP_FLAGS = -DEFI64 $(GCC_MACRO)
244 GCC:*_*_IPF_APP_FLAGS = -DEFI64 $(GCC_MACRO)
245 GCC:*_*_IPF_PP_FLAGS = -DEFI64 $(GCC_MACRO)
246
247 GCC:*_*_ARM_CC_FLAGS = -DEFIARM $(GCC_MACRO)
248 GCC:*_*_ARM_VFRPP_FLAGS = -DEFIARM $(GCC_MACRO)
249 GCC:*_*_ARM_APP_FLAGS = -DEFIARM $(GCC_MACRO)
250 GCC:*_*_ARM_PP_FLAGS = -DEFIARM $(GCC_MACRO)
251
252 RVCT:*_*_ARM_CC_FLAGS = -DEFIARM $(GCC_MACRO)
253 RVCT:*_*_ARM_VFRPP_FLAGS = -DEFIARM $(GCC_MACRO)
254 RVCT:*_*_ARM_APP_FLAGS = -DEFIARM $(GCC_MACRO)
255 RVCT:*_*_ARM_PP_FLAGS = -DEFIARM $(GCC_MACRO)
256
Olivier Martin2bba8d52013-09-23 09:20:03 +0000257 GCC:*_*_AARCH64_CC_FLAGS = -DEFIAARCH64 $(GCC_MACRO)
258 GCC:*_*_AARCH64_VFRPP_FLAGS = -DEFIAARCH64 $(GCC_MACRO)
259 GCC:*_*_AARCH64_APP_FLAGS = -DEFIAARCH64 $(GCC_MACRO)
260 GCC:*_*_AARCH64_PP_FLAGS = -DEFIAARCH64 $(GCC_MACRO)