## @file
# 
# Copyright (c) 2006 - 2011, 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                      = BootSector
  FILE_GUID                      = C89D72CE-E21A-4c71-BA79-770EF373D6DA
  MODULE_TYPE                    = USER_DEFINED
  VERSION_STRING                 = 1.0
  CUSTOM_MAKEFILE                = MSFT|Makefile
  CUSTOM_MAKEFILE                = GCC|GNUmakefile

[Packages]
  MdePkg/MdePkg.dec
  DuetPkg/DuetPkg.dec

[Sources]
  bootsect.asm | INTEL
  bootsect.asm | MSFT
  bootsect.S   | GCC 

  bs16.asm     | INTEL
  bs16.asm     | MSFT
  bs16.S       | GCC 

  bs32.asm     | INTEL
  bs32.asm     | MSFT
  bs32.S       | GCC
 
  Gpt.asm      | INTEL
  Gpt.asm      | MSFT
  Gpt.S        | GCC

  Mbr.asm      | INTEL
  Mbr.asm      | MSFT
  Mbr.S        | GCC

  start.asm    | INTEL
  start.asm    | MSFT
  start.S      | GCC

  start16.asm  | INTEL
  start16.asm  | MSFT
  start16.S    | GCC

  start32.asm  | INTEL
  start32.asm  | MSFT
  start32.S    | GCC

  efi32.asm    | INTEL
  efi32.asm    | MSFT
  efi32.S      | GCC

  start64.asm  | INTEL
  start64.asm  | MSFT
  start64.S    | GCC

  st16_64.asm  | INTEL
  st16_64.asm  | MSFT
  st16_64.S    | GCC

  st32_64.asm  | INTEL
  st32_64.asm  | MSFT
  st32_64.S    | GCC

  efi64.asm    | INTEL
  efi64.asm    | MSFT
  efi64.S      | GCC

