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.
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
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.
15 ################################################################################
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.
22 ################################################################################
25 ############################################################################
26 # Example of a DXE_DRIVER FFS file with a Checksum encapsulation section #
27 ############################################################################
29 #[Rule.Common.DXE_DRIVER]
30 # FILE DRIVER = $(NAMED_GUID) {
31 # DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
34 # PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
35 # UI STRING="$(MODULE_NAME)" Optional
36 # VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
41 ############################################################################
44 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED {
45 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
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
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
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
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
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
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
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
99 [Rule.Common.UEFI_APPLICATION]
100 FILE APPLICATION = $(NAMED_GUID) {
101 UI STRING ="$(MODULE_NAME)" Optional
102 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
105 [Rule.Common.UEFI_DRIVER.BINARY]
106 FILE DRIVER = $(NAMED_GUID) {
107 DXE_DEPEX DXE_DEPEX Optional |.depex
109 UI STRING="$(MODULE_NAME)" Optional
110 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
113 [Rule.Common.UEFI_APPLICATION.BINARY]
114 FILE APPLICATION = $(NAMED_GUID) {
116 UI STRING="$(MODULE_NAME)" Optional
117 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
120 [Rule.Common.USER_DEFINED.ACPITABLE]
121 FILE FREEFORM = $(NAMED_GUID) {
124 UI STRING="$(MODULE_NAME)" Optional