## @file
#  System Firmware descriptor.
#
#  Copyright (c) 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                      = SystemFirmwareDescriptor
  FILE_GUID                      = 90B2B846-CA6D-4D6E-A8D3-C140A8E110AC
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = SystemFirmwareDescriptorPeimEntry

[Sources]
  SystemFirmwareDescriptorPei.c
  SystemFirmwareDescriptor.aslc

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  SignedCapsulePkg/SignedCapsulePkg.dec
  Vlv2TbltDevicePkg/PlatformPkg.dec

[LibraryClasses]
  PcdLib
  PeiServicesLib
  DebugLib
  PeimEntryPoint

[FixedPcd]
  gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize

[Pcd]
  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor

[Depex]
  TRUE
