]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkShellPkg/EdkShellPkg.dsc
BaseTools/Capsule: Do not support -o with --dump-info
[mirror_edk2.git] / EdkShellPkg / EdkShellPkg.dsc
index b5924fa630886c054e14c4684da0482885bc9be0..b5467d04696237594b8919c03a2abc5eafe33335 100644 (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
-#
-#  All rights reserved. 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
-#
-#    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
-  PLATFORM_GUID                  = 761BEE8B-58E3-4014-B8F5-0214A8DFA7EE
-  PLATFORM_VERSION               = 1.04
-  DSC_SPECIFICATION              = 0x00010005
-  OUTPUT_DIRECTORY               = Build/EdkShellPkg
-  SUPPORTED_ARCHITECTURES        = IA32|IPF|X64
-  BUILD_TARGETS                  = DEBUG|RELEASE
-  SKUID_IDENTIFIER               = DEFAULT
-# 
-# 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) 
-
-
-
-[Libraries]
-  #
-  # Libraries common to PEI and DXE
-  #
-  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/CustomizedDecompress/CustomizedDecompress.inf
-  EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf
-  #
-  # PEI libraries
-  #
-  EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf
-  EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf
-  EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf
-  EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf
-  #
-  # DXE libraries
-  #
-  EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf
-  EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf
-  EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf
-  EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf
-  EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf
-  EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf
-  EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiEfiIfrSupportLib.inf   
-  EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf
-  #
-  # Print/Graphics Library consume SetupBrowser Print Protocol
-  #
-  EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf
-  EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf
-  #
-  # Shell Library
-  #
-  $(EDK_SHELL_DIR)/Library/EfiShellLib.inf
-
-[Libraries.IA32, Libraries.X64]
-  EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.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)/attrib/attrib.inf
-  $(EDK_SHELL_DIR)/cls/cls.inf
-  $(EDK_SHELL_DIR)/comp/comp.inf
-  $(EDK_SHELL_DIR)/cp/cp.inf
-  $(EDK_SHELL_DIR)/date/date.inf
-  $(EDK_SHELL_DIR)/dblk/dblk.inf
-  $(EDK_SHELL_DIR)/devices/devices.inf
-  $(EDK_SHELL_DIR)/DeviceTree/devicetree.inf
-  $(EDK_SHELL_DIR)/dmem/dmem.inf
-  $(EDK_SHELL_DIR)/dmpstore/dmpstore.inf
-  $(EDK_SHELL_DIR)/drivers/drivers.inf
-  $(EDK_SHELL_DIR)/drvcfg/drvcfg.inf
-  $(EDK_SHELL_DIR)/drvdiag/drvdiag.inf
-  $(EDK_SHELL_DIR)/edit/edit.inf
-  $(EDK_SHELL_DIR)/EfiCompress/compress.inf
-  $(EDK_SHELL_DIR)/EfiDecompress/Decompress.inf
-  $(EDK_SHELL_DIR)/err/err.inf
-  $(EDK_SHELL_DIR)/guid/guid.inf
-  $(EDK_SHELL_DIR)/hexedit/hexedit.inf
-  $(EDK_SHELL_DIR)/IfConfig/IfConfig.inf
-  $(EDK_SHELL_DIR)/IpConfig/IpConfig.inf
-  $(EDK_SHELL_DIR)/load/load.inf
-  $(EDK_SHELL_DIR)/LoadPciRom/LoadPciRom.inf
-  $(EDK_SHELL_DIR)/ls/ls.inf
-  $(EDK_SHELL_DIR)/mem/mem.inf
-  $(EDK_SHELL_DIR)/memmap/memmap.inf
-  $(EDK_SHELL_DIR)/mkdir/mkdir.inf
-  $(EDK_SHELL_DIR)/mm/mm.inf
-  $(EDK_SHELL_DIR)/mode/mode.inf
-  $(EDK_SHELL_DIR)/mount/mount.inf
-  $(EDK_SHELL_DIR)/mv/mv.inf
-  $(EDK_SHELL_DIR)/newshell/nshell.inf
-  $(EDK_SHELL_DIR)/openinfo/openinfo.inf
-  $(EDK_SHELL_DIR)/pci/pci.inf
-  $(EDK_SHELL_DIR)/Ping/Ping.inf
-  $(EDK_SHELL_DIR)/reset/reset.inf
-  $(EDK_SHELL_DIR)/rm/rm.inf
-  $(EDK_SHELL_DIR)/sermode/sermode.inf
-  $(EDK_SHELL_DIR)/SmbiosView/Smbiosview.inf
-  $(EDK_SHELL_DIR)/stall/stall.inf
-  $(EDK_SHELL_DIR)/TelnetMgmt/TelnetMgmt.inf
-  $(EDK_SHELL_DIR)/time/time.inf
-  $(EDK_SHELL_DIR)/touch/touch.inf
-  $(EDK_SHELL_DIR)/type/type.inf
-  $(EDK_SHELL_DIR)/tzone/timezone.inf
-  $(EDK_SHELL_DIR)/unload/unload.inf
-  $(EDK_SHELL_DIR)/ver/Ver.inf
-  $(EDK_SHELL_DIR)/vol/Vol.inf
-
-[BuildOptions]
-  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:*_*_IPF_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
-  MSFT:*_*_IPF_ASM_FLAGS   = 
-  MSFT:*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
-  MSFT:*_*_IPF_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
-  MSFT:*_*_IPF_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
-
-  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:*_*_IPF_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
-  INTEL:*_*_IPF_ASM_FLAGS   = 
-  INTEL:*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
-  INTEL:*_*_IPF_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
-  INTEL:*_*_IPF_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
-
-  INTEL:*_*_*_BUILD_FLAGS   = -s
-
-
+## @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 - 2018, Intel Corporation. All rights reserved.<BR>\r
+#\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
+#\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
+[Defines]\r
+  PLATFORM_NAME                  = EdkShellPkg\r
+  PLATFORM_GUID                  = 761BEE8B-58E3-4014-B8F5-0214A8DFA7EE\r
+  PLATFORM_VERSION               = 1.04\r
+  DSC_SPECIFICATION              = 0x00010005\r
+  OUTPUT_DIRECTORY               = Build/EdkShellPkg\r
+  SUPPORTED_ARCHITECTURES        = IA32|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           = 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
+  # Libraries common to PEI and DXE\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_Edk2.inf\r
+  EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf\r
+  #\r
+  # PEI libraries\r
+  #\r
+  EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf\r
+  EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf\r
+  #\r
+  # DXE libraries\r
+  #\r
+  EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf\r
+  EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf\r
+  EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf\r
+  EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiEfiIfrSupportLib.inf   \r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf\r
+  #\r
+  # Print/Graphics Library consume SetupBrowser Print Protocol\r
+  #\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf\r
+  #\r
+  # Shell Library\r
+  #\r
+  $(EDK_SHELL_DIR)/Library/EfiShellLib.inf\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.ARM, Libraries.AARCH64]\r
+  EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf\r
+  ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+\r
+###################################################################################################\r
+#\r
+# Components Section - list of the modules and components that will be processed by compilation\r
+#                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
+#\r
+# Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
+#       into firmware volume images. This section is just a list of modules to compile from\r
+#       source into UEFI-compliant binaries.\r
+#       It is the FDF file that contains information on combining binary files into firmware\r
+#       volume images, whose concept is beyond UEFI and is described in PI specification.\r
+#       Binary modules do not need to be listed in this section, as they should be\r
+#       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
+#       Logo (Logo.bmp), and etc.\r
+#       There may also be modules listed in this section that are not required in the FDF file,\r
+#       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
+#       generated for it, but the binary will not be put into any firmware volume.\r
+#\r
+###################################################################################################\r
+\r
+[Components]\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)/cp/cp.inf\r
+  $(EDK_SHELL_DIR)/date/date.inf\r
+  $(EDK_SHELL_DIR)/dblk/dblk.inf\r
+  $(EDK_SHELL_DIR)/devices/devices.inf\r
+  $(EDK_SHELL_DIR)/DeviceTree/devicetree.inf\r
+  $(EDK_SHELL_DIR)/dmem/dmem.inf\r
+  $(EDK_SHELL_DIR)/dmpstore/dmpstore.inf\r
+  $(EDK_SHELL_DIR)/drivers/drivers.inf\r
+  $(EDK_SHELL_DIR)/drvcfg/drvcfg.inf\r
+  $(EDK_SHELL_DIR)/drvdiag/drvdiag.inf\r
+  $(EDK_SHELL_DIR)/edit/edit.inf\r
+  $(EDK_SHELL_DIR)/EfiCompress/compress.inf\r
+  $(EDK_SHELL_DIR)/EfiDecompress/Decompress.inf\r
+  $(EDK_SHELL_DIR)/err/err.inf\r
+  $(EDK_SHELL_DIR)/guid/guid.inf\r
+  $(EDK_SHELL_DIR)/hexedit/hexedit.inf\r
+  $(EDK_SHELL_DIR)/IfConfig/IfConfig.inf\r
+  $(EDK_SHELL_DIR)/IpConfig/IpConfig.inf\r
+  $(EDK_SHELL_DIR)/load/load.inf\r
+  $(EDK_SHELL_DIR)/LoadPciRom/LoadPciRom.inf\r
+  $(EDK_SHELL_DIR)/ls/ls.inf\r
+  $(EDK_SHELL_DIR)/mem/mem.inf\r
+  $(EDK_SHELL_DIR)/memmap/memmap.inf\r
+  $(EDK_SHELL_DIR)/mkdir/mkdir.inf\r
+  $(EDK_SHELL_DIR)/mm/mm.inf\r
+  $(EDK_SHELL_DIR)/mode/mode.inf\r
+  $(EDK_SHELL_DIR)/mount/mount.inf\r
+  $(EDK_SHELL_DIR)/mv/mv.inf\r
+  $(EDK_SHELL_DIR)/newshell/nshell.inf\r
+  $(EDK_SHELL_DIR)/openinfo/openinfo.inf\r
+  $(EDK_SHELL_DIR)/pci/pci.inf\r
+  $(EDK_SHELL_DIR)/Ping/Ping.inf\r
+  $(EDK_SHELL_DIR)/reset/reset.inf\r
+  $(EDK_SHELL_DIR)/rm/rm.inf\r
+  $(EDK_SHELL_DIR)/sermode/sermode.inf\r
+  $(EDK_SHELL_DIR)/SmbiosView/Smbiosview.inf\r
+  $(EDK_SHELL_DIR)/stall/stall.inf\r
+  $(EDK_SHELL_DIR)/TelnetMgmt/TelnetMgmt.inf\r
+  $(EDK_SHELL_DIR)/time/time.inf\r
+  $(EDK_SHELL_DIR)/touch/touch.inf\r
+  $(EDK_SHELL_DIR)/type/type.inf\r
+  $(EDK_SHELL_DIR)/tzone/timezone.inf\r
+  $(EDK_SHELL_DIR)/unload/unload.inf\r
+  $(EDK_SHELL_DIR)/ver/Ver.inf\r
+  $(EDK_SHELL_DIR)/vol/Vol.inf\r
+\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:*_*_*_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:*_*_*_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:*_*_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