• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1## @file
2# 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#
6# Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.<BR>
7#
8#    This program and the accompanying materials
9#    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#
16##
17
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
24  SUPPORTED_ARCHITECTURES        = IA32|IPF|X64|ARM|AARCH64
25  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
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
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\"
38
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
47  EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib_Edk2.inf
48  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
84  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf
85
86[Libraries.IPF]
87  EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf
88
89[Libraries.ARM, Libraries.AARCH64]
90  EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf
91  ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
92
93###################################################################################################
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]
113  $(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
142  $(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
191[BuildOptions.Common.EDK]
192  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
232  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
257  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)
261