## @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 - 2018, Intel Corporation. All rights reserved.<BR>
#
#    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|X64|ARM|AARCH64
  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) 

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]
  #
  # 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_Edk2.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
  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 {
    <BuildOptions>
      #
      # 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 {
    <BuildOptions>
      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
  $(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.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)
