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
47 [Rule.Common.PEI_CORE]
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
60 [Rule.Common.DXE_CORE]
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