## @file
#
#  Binary FAT32 EFI Driver for IA32, X64, IPF and EBC arch.
#
#  This UEFI driver detects the FAT file system in the disk.
#  It also produces the Simple File System protocol for the consumer to
#  perform file and directory operations on the disk.
#
#  Copyright (c) 2007 - 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]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = Fat
  FILE_GUID                      = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0


#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Binaries.Ia32]
  PE32|Ia32/Fat.efi|*

[Binaries.X64]
  PE32|X64/Fat.efi|*

[Binaries.EBC]
  PE32|Ebc/Fat.efi|*

[Binaries.ARM]
  PE32|Arm/Fat.efi|*

[Binaries.AArch64]
  PE32|AArch64/Fat.efi|*
