• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#/** @file
2#
3#    Copyright (c) 2016, Hisilicon Limited. All rights reserved.
4#    Copyright (c) 2016, Linaro Limited. 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################################################################################
18#
19# Rules are use with the [FV] section's module INF type to define
20# how an FFS file is created for a given INF file. The following Rule are the default
21# rules for the different module type. User can add the customized rules to define the
22# content of the FFS file.
23#
24################################################################################
25
26
27############################################################################
28# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section   #
29############################################################################
30#
31#[Rule.Common.DXE_DRIVER]
32#  FILE DRIVER = $(NAMED_GUID) {
33#    DXE_DEPEX    DXE_DEPEX               Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
34#    COMPRESS PI_STD {
35#      GUIDED {
36#        PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
37#        UI       STRING="$(MODULE_NAME)" Optional
38#        VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
39#      }
40#    }
41#  }
42#
43############################################################################
44
45[Rule.Common.SEC]
46  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
47    TE  TE Align = 4K                  $(INF_OUTPUT)/$(MODULE_NAME).efi
48  }
49
50[Rule.Common.PEI_CORE]
51  FILE PEI_CORE = $(NAMED_GUID) {
52    TE     TE Align = Auto             $(INF_OUTPUT)/$(MODULE_NAME).efi
53    UI     STRING ="$(MODULE_NAME)" Optional
54  }
55
56[Rule.Common.PEIM]
57  FILE PEIM = $(NAMED_GUID) {
58     PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex
59     TE       TE Align = Auto           $(INF_OUTPUT)/$(MODULE_NAME).efi
60     UI       STRING="$(MODULE_NAME)" Optional
61  }
62
63[Rule.Common.PEIM.BINARY]
64  FILE PEIM = $(NAMED_GUID) {
65     PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex
66     TE       TE Align = Auto           |.efi
67     UI       STRING="$(MODULE_NAME)" Optional
68  }
69
70[Rule.Common.PEIM.TIANOCOMPRESSED]
71  FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
72    PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex
73    GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
74      PE32      PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
75      UI        STRING="$(MODULE_NAME)" Optional
76    }
77  }
78
79[Rule.Common.DXE_CORE]
80  FILE DXE_CORE = $(NAMED_GUID) {
81    PE32     PE32                       $(INF_OUTPUT)/$(MODULE_NAME).efi
82    UI       STRING="$(MODULE_NAME)" Optional
83  }
84
85[Rule.Common.UEFI_DRIVER]
86  FILE DRIVER = $(NAMED_GUID) {
87    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
88    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
89    UI           STRING="$(MODULE_NAME)" Optional
90  }
91
92[Rule.Common.DXE_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.DXE_DRIVER.BINARY]
100  FILE DRIVER = $(NAMED_GUID) {
101    DXE_DEPEX DXE_DEPEX Optional      |.depex
102    PE32      PE32                    |.efi
103    UI        STRING="$(MODULE_NAME)" Optional
104  }
105
106[Rule.Common.DXE_RUNTIME_DRIVER]
107  FILE DRIVER = $(NAMED_GUID) {
108    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
109    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
110    UI           STRING="$(MODULE_NAME)" Optional
111  }
112
113[Rule.Common.UEFI_APPLICATION]
114  FILE APPLICATION = $(NAMED_GUID) {
115    UI     STRING ="$(MODULE_NAME)" Optional
116    PE32   PE32                         $(INF_OUTPUT)/$(MODULE_NAME).efi
117  }
118
119[Rule.Common.UEFI_DRIVER.BINARY]
120  FILE DRIVER = $(NAMED_GUID) {
121    DXE_DEPEX DXE_DEPEX Optional      |.depex
122    PE32      PE32                    |.efi
123    UI        STRING="$(MODULE_NAME)" Optional
124    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
125  }
126
127[Rule.Common.UEFI_APPLICATION.BINARY]
128  FILE APPLICATION = $(NAMED_GUID) {
129    PE32      PE32                    |.efi
130    UI        STRING="$(MODULE_NAME)" Optional
131    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
132  }
133
134[Rule.Common.USER_DEFINED.ACPITABLE]
135  FILE FREEFORM = $(NAMED_GUID) {
136    RAW ACPI               |.acpi
137    RAW ASL                |.aml
138  }
139
140