## @file
#  fdf include file for Dynamic Tables Framework.
#
#  Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

  #
  # Dynamic Table Factory Dxe
  #
  INF DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf

  #
  # Dynamic Tables Dxe
  #
  INF DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
