## @file
#  Module to manage the list of available table factories.
#
#  Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
##

[Defines]
  INF_VERSION                    = 0x00010019
  BASE_NAME                      = DynamicTableFactoryDxe
  FILE_GUID                      = FE846898-7403-4932-B8AD-A0491F0C2CBA
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = DynamicTableFactoryDxeInitialize

[Sources]
  AcpiTableFactory/AcpiTableFactory.c
  DeviceTreeTableFactory/DeviceTreeTableFactory.c
  DynamicTableFactoryDxe.c
  SmbiosTableFactory/SmbiosTableFactory.c
  DynamicTableFactory.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  DynamicTablesPkg/DynamicTablesPkg.dec

[LibraryClasses]
  BaseLib
  MemoryAllocationLib
  MetadataHandlerLib
  PrintLib
  TableHelperLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint

[FixedPcd]
  gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdMaxCustomACPIGenerators
  gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdMaxCustomSMBIOSGenerators
  gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdMaxCustomDTGenerators
  gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdMaxSmbiosHandleMapEntries

[Protocols]
  gEdkiiDynamicTableFactoryProtocolGuid         # PRODUCES

[Depex]
  TRUE
