## @file
#  File explorer DXE driver that produces File explorer Protocol.
#
#  This driver produces File explorerprotocol layered on top of the FileExplorerLib
#  from the MdeModulePkg.
#
#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = FileExplorerDxe
  MODULE_UNI_FILE                = FileExplorerDxe.uni
  FILE_GUID                      = 405DA936-3737-4C0C-8E3F-E6172A568592
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = FileExplorerEntryPoint

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  FileExplorerDxe.c

[Packages]
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec

[LibraryClasses]
  FileExplorerLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  DebugLib

[Protocols]
  gEfiFileExplorerProtocolGuid    ## PRODUCES

[Depex]
  TRUE

[UserExtensions.TianoCore."ExtraFiles"]
  FileExplorerDxeExtra.uni
