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