##  @file
#  Create a Firmware Volume based Grub Bootloader
#
#  Copyright (C) 2020 James Bottomley, IBM Corporation.
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010006
  BASE_NAME                      = Grub
  # This is gGrubFileGuid
  FILE_GUID                      = b5ae312c-bc8a-43b1-9c62-ebb826dd5d07
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = UefiMain

[Packages]
  OvmfPkg/OvmfPkg.dec

#
# The following information is for reference only and not required by
# the build tools.
#
#  VALID_ARCHITECTURES           = X64
#

##
# Note: The version of grub.efi this picks up can be generated by
# grub.sh which must be specified as a PREBUILD in the .dsc file. If
# grub.efi is newer than either grub.sh or grub.cfg then grub.sh will
# exit with success meaning that if you move your own version of grub
# in here (after checking out grub.sh and grub.cfg), PREBUILD won't
# overwrite it.
##
[Binaries]
   PE32|grub.efi|*

