## @file
#
#  Copyright (c) 2014, ARM Ltd. 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                    = 0x00010006
  BASE_NAME                      = ArmShellCmdRunAxf
  FILE_GUID                      = 1f78349d-7fba-4686-8098-fa017eda35fb
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = ArmShellCmdRunAxfLib

[Sources.common]
  ArmShellCmdRunAxf.c
  ArmShellCmdRunAxf.uni
  RunAxf.c
  BootMonFsLoader.h
  BootMonFsLoader.c
  ElfLoader.h
  ElfLoader.c
  # ELF definitions taken from BaseTools
  elf32.h
  elf64.h
  elf_common.h

[Packages]
  ArmPkg/ArmPkg.dec
  ArmPlatformPkg/ArmPlatformPkg.dec
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  ShellPkg/ShellPkg.dec

[LibraryClasses]
  ArmLib
  BaseLib
  DebugLib
  HiiLib
  ShellLib

[Protocols]
  gEfiShellDynamicCommandProtocolGuid

[Guids]
  gArmBootMonFsFileInfoGuid
