X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkShellPkg%2FEdkShellPkg.dsc;h=b5467d04696237594b8919c03a2abc5eafe33335;hp=07bcefd821a0f19a2f4b644ebf3db4fe11d0efa1;hb=f33d5d68abc02727dc828c1079e72ab65e1d63af;hpb=f29d42d54bce6cd8268142d6e7e9d8f060ab6161 diff --git a/EdkShellPkg/EdkShellPkg.dsc b/EdkShellPkg/EdkShellPkg.dsc index 07bcefd821..b5467d0469 100644 --- a/EdkShellPkg/EdkShellPkg.dsc +++ b/EdkShellPkg/EdkShellPkg.dsc @@ -1,11 +1,11 @@ -#/** @file +## @file # This package build validate file is used to build validate EDK Shell source, # EDK Compatibility Package and the backward compatibility support of EDK II # build tool. # -# Copyright (c) 2008. Intel Corporation +# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.
# -# All rights reserved. This program and the accompanying materials +# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php @@ -13,7 +13,7 @@ # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # -#**/ +## [Defines] PLATFORM_NAME = EdkShellPkg @@ -21,13 +21,21 @@ PLATFORM_VERSION = 1.04 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/EdkShellPkg - SUPPORTED_ARCHITECTURES = IA32|IPF|X64 + SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64 BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT # -# Change the macro to the directory containing the source code from EDK Shell Project. -# -DEFINE EDK_SHELL_DIR = Shell +# Change the macro to the directory containing the source code from EDK Shell Project. +# This is a workspace relative directory +# +# DEFINE EDK_SHELL_DIR = EdkShellPkg/Shell # when "Shell" directory is under $(WORKSPACE)/EdkShellPkg +# +DEFINE EDK_SHELL_DIR = Shell # when "Shell" directory is directly under $(WORKSPACE) + +DEFINE 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 +DEFINE 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 +DEFINE 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\" + [Libraries] # @@ -36,9 +44,7 @@ DEFINE EDK_SHELL_DIR = Shell EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf - EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf - EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf - EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIA64Lib/CpuIA64Lib.inf + EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib_Edk2.inf EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf # @@ -75,10 +81,61 @@ DEFINE EDK_SHELL_DIR = Shell [Libraries.IA32, Libraries.X64] EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf + EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf + +[Libraries.ARM, Libraries.AARCH64] + EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf + ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf + +################################################################################################### +# +# Components Section - list of the modules and components that will be processed by compilation +# tools and the EDK II tools to generate PE32/PE32+/Coff image files. +# +# Note: The EDK II DSC file is not used to specify how compiled binary images get placed +# into firmware volume images. This section is just a list of modules to compile from +# source into UEFI-compliant binaries. +# It is the FDF file that contains information on combining binary files into firmware +# volume images, whose concept is beyond UEFI and is described in PI specification. +# Binary modules do not need to be listed in this section, as they should be +# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi), +# Logo (Logo.bmp), and etc. +# There may also be modules listed in this section that are not required in the FDF file, +# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be +# generated for it, but the binary will not be put into any firmware volume. +# +################################################################################################### [Components] - $(EDK_SHELL_DIR)/Shell.inf - $(EDK_SHELL_DIR)/ShellFull.inf + $(EDK_SHELL_DIR)/Shell.inf { + + # + # Can not do this in nmake section of edk INF + # + GCC:*_*_*_CC_FLAGS = -DEFI_MONOSHELL + GCC:*_*_*_VFRPP_FLAGS = -DEFI_MONOSHELL + GCC:*_*_*_APP_FLAGS = -DEFI_MONOSHELL + GCC:*_*_*_PP_FLAGS = -DEFI_MONOSHELL + + RVCT:*_*_ARM_CC_FLAGS = -DEFI_MONOSHELL + RVCT:*_*_ARM_VFRPP_FLAGS = -DEFI_MONOSHELL + RVCT:*_*_ARM_APP_FLAGS = -DEFI_MONOSHELL + RVCT:*_*_ARM_PP_FLAGS = -DEFI_MONOSHELL + } + + $(EDK_SHELL_DIR)/ShellFull.inf { + + GCC:*_*_*_CC_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL + GCC:*_*_*_VFRPP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL + GCC:*_*_*_APP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL + GCC:*_*_*_PP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL + + RVCT:*_*_ARM_CC_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL + RVCT:*_*_ARM_VFRPP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL + RVCT:*_*_ARM_APP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL + RVCT:*_*_ARM_PP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL + } + $(EDK_SHELL_DIR)/attrib/attrib.inf $(EDK_SHELL_DIR)/cls/cls.inf $(EDK_SHELL_DIR)/comp/comp.inf @@ -128,22 +185,56 @@ DEFINE EDK_SHELL_DIR = Shell $(EDK_SHELL_DIR)/ver/Ver.inf $(EDK_SHELL_DIR)/vol/Vol.inf -[BuildOptions] - *_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 - *_*_IA32_ASM_FLAGS = /DEFI32 - *_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 - *_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 - *_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 - - *_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 - *_*_X64_ASM_FLAGS = /DEFIX64 - *_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 - *_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 - *_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 - - *_*_IPF_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64 - *_*_IPF_ASM_FLAGS = - *_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64 - *_*_IPF_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64 - *_*_IPF_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64 +[BuildOptions.Common.EDK] + MSFT:*_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 + MSFT:*_*_IA32_ASM_FLAGS = /DEFI32 + MSFT:*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 + MSFT:*_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 + MSFT:*_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 + + MSFT:*_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 + MSFT:*_*_X64_ASM_FLAGS = /DEFIX64 + MSFT:*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 + MSFT:*_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 + MSFT:*_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 + + MSFT:*_*_*_BUILD_FLAGS = -s + + INTEL:*_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 + INTEL:*_*_IA32_ASM_FLAGS = /DEFI32 + INTEL:*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 + INTEL:*_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 + INTEL:*_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32 + + INTEL:*_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 + INTEL:*_*_X64_ASM_FLAGS = /DEFIX64 + INTEL:*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 + INTEL:*_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 + INTEL:*_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64 + + INTEL:*_*_*_BUILD_FLAGS = -s + + GCC:*_*_IA32_CC_FLAGS = -DEFI32 $(GCC_MACRO) + GCC:*_*_IA32_VFRPP_FLAGS = -DEFI32 $(GCC_MACRO) + GCC:*_*_IA32_APP_FLAGS = -DEFI32 $(GCC_MACRO) + GCC:*_*_IA32_PP_FLAGS = -DEFI32 $(GCC_MACRO) + + GCC:*_*_X64_CC_FLAGS = -DEFIX64 $(GCC_MACRO) + GCC:*_*_X64_VFRPP_FLAGS = -DEFIX64 $(GCC_MACRO) + GCC:*_*_X64_APP_FLAGS = -DEFIX64 $(GCC_MACRO) + GCC:*_*_X64_PP_FLAGS = -DEFIX64 $(GCC_MACRO) + + GCC:*_*_ARM_CC_FLAGS = -DEFIARM $(GCC_MACRO) + GCC:*_*_ARM_VFRPP_FLAGS = -DEFIARM $(GCC_MACRO) + GCC:*_*_ARM_APP_FLAGS = -DEFIARM $(GCC_MACRO) + GCC:*_*_ARM_PP_FLAGS = -DEFIARM $(GCC_MACRO) + + RVCT:*_*_ARM_CC_FLAGS = -DEFIARM $(GCC_MACRO) + RVCT:*_*_ARM_VFRPP_FLAGS = -DEFIARM $(GCC_MACRO) + RVCT:*_*_ARM_APP_FLAGS = -DEFIARM $(GCC_MACRO) + RVCT:*_*_ARM_PP_FLAGS = -DEFIARM $(GCC_MACRO) + GCC:*_*_AARCH64_CC_FLAGS = -DEFIAARCH64 $(GCC_MACRO) + GCC:*_*_AARCH64_VFRPP_FLAGS = -DEFIAARCH64 $(GCC_MACRO) + GCC:*_*_AARCH64_APP_FLAGS = -DEFIAARCH64 $(GCC_MACRO) + GCC:*_*_AARCH64_PP_FLAGS = -DEFIAARCH64 $(GCC_MACRO)