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