## @file
# Component description file for EFI Shell module.
#
# This is a binary module containing multiple binary shell applications.
#  All .efi file tagged with "ToolCode="DUMMY"" in following file list are raw EFI application
#  file, and they are can be run in shell environment.
# Copyright (c) 2006 - 2010, 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                      = Shell
  FILE_GUID                      = c57ad6b7-0515-40a8-9d21-551652854e37
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.2

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF
#

[Binaries.Ia32]
  PE32|Ia32/Shell.efi|*

[Binaries.X64]
  PE32|X64/Shell.efi|*
 
[Binaries.IPF]
  PE32|Ipf/Shell.efi|*
 