## @file
# This is common IPMI Command Library.
#
# Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR>
# Copyright (C) 2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = IpmiCommandLib
  FILE_GUID                      = 96FC1989-CB7F-489B-9D3B-68DCA2C2DADC
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = IpmiCommandLib

[sources]
  IpmiCommandLibNetFnApp.c
  IpmiCommandLibNetFnTransport.c
  IpmiCommandLibNetFnChassis.c
  IpmiCommandLibNetFnStorage.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  ManageabilityPkg/ManageabilityPkg.dec

[LibraryClasses]
  BaseMemoryLib
  DebugLib
  IpmiLib
  MemoryAllocationLib
