## @file
#  EBC Debugger configuration application.
#
#  Copyright (c) 2007 - 2016, 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]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = EdbCfg
  MODULE_UNI_FILE                = EbcDebuggerConfig.uni
  FILE_GUID                      = 8CFC5233-23C6-49e3-8A2D-7E581AB305BA
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = InitializeEbcDebuggerConfig

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF AARCH64
#

[Sources]
  EbcDebugger/EbcDebuggerConfig.c
  EbcDebugger/EdbCommon.h
  EbcDebugger/EdbSupportString.c
  EbcDebugger/EdbSupport.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  UefiLib
  BaseLib
  DebugLib
  UefiApplicationEntryPoint

[Protocols]
  gEfiDebuggerConfigurationProtocolGuid     ## CONSUMES
  gEfiShellParametersProtocolGuid           ## CONSUMES

[Depex]
  TRUE

[UserExtensions.TianoCore."ExtraFiles"]
  EbcDebuggerConfigExtra.uni
