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# SPDX-License-Identifier: BSD-2-Clause-Patent
9################################################################################
11# Rules are use with the [FV] section's module INF type to define
12# how an FFS file is created for a given INF file. The following Rule are the default
13# rules for the different module type. User can add the customized rules to define the
14# content of the FFS file.
16################################################################################
19############################################################################
20# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section #
21############################################################################
23#[Rule.Common.DXE_DRIVER]
24# FILE DRIVER = $(NAMED_GUID) {
25# DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
28# PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
29# UI STRING="$(MODULE_NAME)" Optional
30# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
35############################################################################
38 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED {
39 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
42[Rule.Common.SEC.SELF_RELOC]
43 FILE SEC = $(NAMED_GUID) {
44 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
48 FILE PEI_CORE = $(NAMED_GUID) FIXED {
49 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
50 UI STRING =
"$(MODULE_NAME)" Optional
54 FILE PEIM = $(NAMED_GUID) FIXED {
55 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
56 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
57 UI STRING=
"$(MODULE_NAME)" Optional
61 FILE DXE_CORE = $(NAMED_GUID) {
62 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
63 UI STRING=
"$(MODULE_NAME)" Optional
66[Rule.Common.UEFI_DRIVER]
67 FILE DRIVER = $(NAMED_GUID) {
68 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
69 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
70 UI STRING=
"$(MODULE_NAME)" Optional
73[Rule.Common.DXE_DRIVER]
74 FILE DRIVER = $(NAMED_GUID) {
75 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
76 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
77 UI STRING=
"$(MODULE_NAME)" Optional
78 RAW ACPI Optional |.acpi
79 RAW ASL Optional |.aml
82[Rule.Common.DXE_RUNTIME_DRIVER]
83 FILE DRIVER = $(NAMED_GUID) {
84 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
85 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
86 UI STRING=
"$(MODULE_NAME)" Optional
89[Rule.Common.UEFI_APPLICATION]
90 FILE APPLICATION = $(NAMED_GUID) {
91 UI STRING =
"$(MODULE_NAME)" Optional
92 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
95[Rule.Common.UEFI_DRIVER.BINARY]
96 FILE DRIVER = $(NAMED_GUID) {
97 DXE_DEPEX DXE_DEPEX Optional |.depex
99 UI STRING=
"$(MODULE_NAME)" Optional
100 VERSION STRING=
"$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
103[Rule.Common.UEFI_APPLICATION.BINARY]
104 FILE APPLICATION = $(NAMED_GUID) {
106 UI STRING=
"$(MODULE_NAME)" Optional
107 VERSION STRING=
"$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
110[Rule.Common.USER_DEFINED.ACPITABLE]
111 FILE FREEFORM = $(NAMED_GUID) {
114 UI STRING=
"$(MODULE_NAME)" Optional