-#/** @file\r
+## @file\r
# This package build validate file is used to build validate EDK Shell source, \r
# EDK Compatibility Package and the backward compatibility support of EDK II\r
# build tool.\r
#\r
-# Copyright (c) 2008. Intel Corporation\r
+# Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.<BR>\r
#\r
-# All rights reserved. This program and the accompanying materials\r
+# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
# http://opensource.org/licenses/bsd-license.php\r
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
-#**/\r
+##\r
\r
[Defines]\r
PLATFORM_NAME = EdkShellPkg\r
PLATFORM_VERSION = 1.04\r
DSC_SPECIFICATION = 0x00010005\r
OUTPUT_DIRECTORY = Build/EdkShellPkg\r
- SUPPORTED_ARCHITECTURES = IA32|IPF|X64\r
+ SUPPORTED_ARCHITECTURES = IA32|IPF|X64|ARM|AARCH64\r
BUILD_TARGETS = DEBUG|RELEASE\r
SKUID_IDENTIFIER = DEFAULT\r
# \r
# Change the macro to the directory containing the source code from EDK Shell Project. \r
# This is a workspace relative directory\r
-# \r
-DEFINE EDK_SHELL_DIR = Shell\r
+#\r
+# DEFINE EDK_SHELL_DIR = EdkShellPkg/Shell # when "Shell" directory is under $(WORKSPACE)/EdkShellPkg \r
+#\r
+DEFINE EDK_SHELL_DIR = Shell # when "Shell" directory is directly under $(WORKSPACE) \r
+\r
+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\r
+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\r
+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\" \r
+\r
\r
[Libraries]\r
#\r
EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf\r
EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf\r
EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf\r
- EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf\r
- EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf\r
- EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf\r
+ EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib_Edk2.inf\r
EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf\r
EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf\r
#\r
\r
[Libraries.IA32, Libraries.X64]\r
EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf\r
+ EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf\r
+\r
+[Libraries.IPF]\r
+ EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf\r
+\r
+[Libraries.ARM, Libraries.AARCH64]\r
+ EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf\r
+ ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
\r
###################################################################################################\r
#\r
###################################################################################################\r
\r
[Components]\r
- $(EDK_SHELL_DIR)/Shell.inf\r
- $(EDK_SHELL_DIR)/ShellFull.inf\r
+ $(EDK_SHELL_DIR)/Shell.inf {\r
+ <BuildOptions>\r
+ #\r
+ # Can not do this in nmake section of edk INF\r
+ #\r
+ GCC:*_*_*_CC_FLAGS = -DEFI_MONOSHELL \r
+ GCC:*_*_*_VFRPP_FLAGS = -DEFI_MONOSHELL \r
+ GCC:*_*_*_APP_FLAGS = -DEFI_MONOSHELL \r
+ GCC:*_*_*_PP_FLAGS = -DEFI_MONOSHELL \r
+\r
+ RVCT:*_*_ARM_CC_FLAGS = -DEFI_MONOSHELL \r
+ RVCT:*_*_ARM_VFRPP_FLAGS = -DEFI_MONOSHELL\r
+ RVCT:*_*_ARM_APP_FLAGS = -DEFI_MONOSHELL \r
+ RVCT:*_*_ARM_PP_FLAGS = -DEFI_MONOSHELL \r
+ }\r
+ \r
+ $(EDK_SHELL_DIR)/ShellFull.inf {\r
+ <BuildOptions>\r
+ GCC:*_*_*_CC_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL \r
+ GCC:*_*_*_VFRPP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+ GCC:*_*_*_APP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+ GCC:*_*_*_PP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+\r
+ RVCT:*_*_ARM_CC_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL \r
+ RVCT:*_*_ARM_VFRPP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+ RVCT:*_*_ARM_APP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+ RVCT:*_*_ARM_PP_FLAGS = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+ }\r
+ \r
$(EDK_SHELL_DIR)/attrib/attrib.inf\r
$(EDK_SHELL_DIR)/cls/cls.inf\r
$(EDK_SHELL_DIR)/comp/comp.inf\r
$(EDK_SHELL_DIR)/ver/Ver.inf\r
$(EDK_SHELL_DIR)/vol/Vol.inf\r
\r
-[BuildOptions]\r
- *_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
- *_*_IA32_ASM_FLAGS = /DEFI32\r
- *_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
- *_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
- *_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
-\r
- *_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
- *_*_X64_ASM_FLAGS = /DEFIX64\r
- *_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
- *_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
- *_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
-\r
- *_*_IPF_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
- *_*_IPF_ASM_FLAGS = \r
- *_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
- *_*_IPF_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
- *_*_IPF_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+[BuildOptions.Common.EDK]\r
+ MSFT:*_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
+ MSFT:*_*_IA32_ASM_FLAGS = /DEFI32\r
+ MSFT:*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
+ MSFT:*_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
+ MSFT:*_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
+\r
+ MSFT:*_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
+ MSFT:*_*_X64_ASM_FLAGS = /DEFIX64\r
+ MSFT:*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
+ MSFT:*_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
+ MSFT:*_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
+\r
+ MSFT:*_*_IPF_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+ MSFT:*_*_IPF_ASM_FLAGS = \r
+ MSFT:*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+ MSFT:*_*_IPF_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+ MSFT:*_*_IPF_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+\r
+ MSFT:*_*_*_BUILD_FLAGS = -s\r
+\r
+ INTEL:*_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
+ INTEL:*_*_IA32_ASM_FLAGS = /DEFI32\r
+ INTEL:*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
+ INTEL:*_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
+ INTEL:*_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
+\r
+ INTEL:*_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
+ INTEL:*_*_X64_ASM_FLAGS = /DEFIX64\r
+ INTEL:*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
+ INTEL:*_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
+ INTEL:*_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
+\r
+ INTEL:*_*_IPF_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+ INTEL:*_*_IPF_ASM_FLAGS = \r
+ INTEL:*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+ INTEL:*_*_IPF_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+ INTEL:*_*_IPF_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
+\r
+ INTEL:*_*_*_BUILD_FLAGS = -s\r
+\r
+ GCC:*_*_IA32_CC_FLAGS = -DEFI32 $(GCC_MACRO)\r
+ GCC:*_*_IA32_VFRPP_FLAGS = -DEFI32 $(GCC_MACRO)\r
+ GCC:*_*_IA32_APP_FLAGS = -DEFI32 $(GCC_MACRO)\r
+ GCC:*_*_IA32_PP_FLAGS = -DEFI32 $(GCC_MACRO)\r
+\r
+ GCC:*_*_X64_CC_FLAGS = -DEFIX64 $(GCC_MACRO)\r
+ GCC:*_*_X64_VFRPP_FLAGS = -DEFIX64 $(GCC_MACRO)\r
+ GCC:*_*_X64_APP_FLAGS = -DEFIX64 $(GCC_MACRO)\r
+ GCC:*_*_X64_PP_FLAGS = -DEFIX64 $(GCC_MACRO)\r
+\r
+ GCC:*_*_IPF_CC_FLAGS = -DEFI64 $(GCC_MACRO)\r
+ GCC:*_*_IPF_VFRPP_FLAGS = -DEFI64 $(GCC_MACRO)\r
+ GCC:*_*_IPF_APP_FLAGS = -DEFI64 $(GCC_MACRO)\r
+ GCC:*_*_IPF_PP_FLAGS = -DEFI64 $(GCC_MACRO)\r
+ \r
+ GCC:*_*_ARM_CC_FLAGS = -DEFIARM $(GCC_MACRO)\r
+ GCC:*_*_ARM_VFRPP_FLAGS = -DEFIARM $(GCC_MACRO)\r
+ GCC:*_*_ARM_APP_FLAGS = -DEFIARM $(GCC_MACRO)\r
+ GCC:*_*_ARM_PP_FLAGS = -DEFIARM $(GCC_MACRO)\r
+\r
+ RVCT:*_*_ARM_CC_FLAGS = -DEFIARM $(GCC_MACRO)\r
+ RVCT:*_*_ARM_VFRPP_FLAGS = -DEFIARM $(GCC_MACRO)\r
+ RVCT:*_*_ARM_APP_FLAGS = -DEFIARM $(GCC_MACRO)\r
+ RVCT:*_*_ARM_PP_FLAGS = -DEFIARM $(GCC_MACRO)\r
\r
+ GCC:*_*_AARCH64_CC_FLAGS = -DEFIAARCH64 $(GCC_MACRO)\r
+ GCC:*_*_AARCH64_VFRPP_FLAGS = -DEFIAARCH64 $(GCC_MACRO)\r
+ GCC:*_*_AARCH64_APP_FLAGS = -DEFIAARCH64 $(GCC_MACRO)\r
+ GCC:*_*_AARCH64_PP_FLAGS = -DEFIAARCH64 $(GCC_MACRO)\r