Home | History | Annotate | Download | only in ArmVirtPkg
      1 #
      2 #  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
      3 #  Copyright (c) 2014-2016, Linaro Limited. All rights reserved.
      4 #  Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.
      5 #
      6 #  This program and the accompanying materials
      7 #  are licensed and made available under the terms and conditions of the BSD License
      8 #  which accompanies this distribution.  The full text of the license may be found at
      9 #  http://opensource.org/licenses/bsd-license.php
     10 #
     11 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     12 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     13 #
     14 
     15 ################################################################################
     16 #
     17 # Rules are use with the [FV] section's module INF type to define
     18 # how an FFS file is created for a given INF file. The following Rule are the default
     19 # rules for the different module type. User can add the customized rules to define the
     20 # content of the FFS file.
     21 #
     22 ################################################################################
     23 
     24 
     25 ############################################################################
     26 # Example of a DXE_DRIVER FFS file with a Checksum encapsulation section   #
     27 ############################################################################
     28 #
     29 #[Rule.Common.DXE_DRIVER]
     30 #  FILE DRIVER = $(NAMED_GUID) {
     31 #    DXE_DEPEX    DXE_DEPEX               Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
     32 #    COMPRESS PI_STD {
     33 #      GUIDED {
     34 #        PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
     35 #        UI       STRING="$(MODULE_NAME)" Optional
     36 #        VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
     37 #      }
     38 #    }
     39 #  }
     40 #
     41 ############################################################################
     42 
     43 [Rule.Common.SEC]
     44   FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED {
     45     TE  TE Align = Auto                 $(INF_OUTPUT)/$(MODULE_NAME).efi
     46   }
     47 
     48 [Rule.Common.PEI_CORE]
     49   FILE PEI_CORE = $(NAMED_GUID) FIXED {
     50     TE     TE Align = Auto              $(INF_OUTPUT)/$(MODULE_NAME).efi
     51     UI     STRING ="$(MODULE_NAME)" Optional
     52   }
     53 
     54 [Rule.Common.PEIM]
     55   FILE PEIM = $(NAMED_GUID) FIXED {
     56      PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex
     57      TE       TE Align = Auto           $(INF_OUTPUT)/$(MODULE_NAME).efi
     58      UI       STRING="$(MODULE_NAME)" Optional
     59   }
     60 
     61 [Rule.Common.PEIM.TIANOCOMPRESSED]
     62   FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
     63     PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex
     64     GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
     65       PE32      PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
     66       UI        STRING="$(MODULE_NAME)" Optional
     67     }
     68   }
     69 
     70 [Rule.Common.DXE_CORE]
     71   FILE DXE_CORE = $(NAMED_GUID) {
     72     PE32     PE32                       $(INF_OUTPUT)/$(MODULE_NAME).efi
     73     UI       STRING="$(MODULE_NAME)" Optional
     74   }
     75 
     76 [Rule.Common.UEFI_DRIVER]
     77   FILE DRIVER = $(NAMED_GUID) {
     78     DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
     79     PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
     80     UI           STRING="$(MODULE_NAME)" Optional
     81   }
     82 
     83 [Rule.Common.DXE_DRIVER]
     84   FILE DRIVER = $(NAMED_GUID) {
     85     DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
     86     PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
     87     UI           STRING="$(MODULE_NAME)" Optional
     88     RAW          ACPI  Optional               |.acpi
     89     RAW          ASL   Optional               |.aml
     90   }
     91 
     92 [Rule.Common.DXE_RUNTIME_DRIVER]
     93   FILE DRIVER = $(NAMED_GUID) {
     94     DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
     95     PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
     96     UI           STRING="$(MODULE_NAME)" Optional
     97   }
     98 
     99 [Rule.Common.UEFI_APPLICATION]
    100   FILE APPLICATION = $(NAMED_GUID) {
    101     UI     STRING ="$(MODULE_NAME)"     Optional
    102     PE32   PE32                         $(INF_OUTPUT)/$(MODULE_NAME).efi
    103   }
    104 
    105 [Rule.Common.UEFI_DRIVER.BINARY]
    106   FILE DRIVER = $(NAMED_GUID) {
    107     DXE_DEPEX DXE_DEPEX Optional      |.depex
    108     PE32      PE32                    |.efi
    109     UI        STRING="$(MODULE_NAME)" Optional
    110     VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    111   }
    112 
    113 [Rule.Common.UEFI_APPLICATION.BINARY]
    114   FILE APPLICATION = $(NAMED_GUID) {
    115     PE32      PE32                    |.efi
    116     UI        STRING="$(MODULE_NAME)" Optional
    117     VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
    118   }
    119 
    120 [Rule.Common.USER_DEFINED.ACPITABLE]
    121   FILE FREEFORM = $(NAMED_GUID) {
    122     RAW       ACPI                    |.acpi
    123     RAW       ASL                     |.aml
    124     UI        STRING="$(MODULE_NAME)" Optional
    125   }
    126