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.PEI_CORE]
43 FILE PEI_CORE = $(NAMED_GUID) FIXED {
44 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
45 UI STRING ="$(MODULE_NAME)" Optional
49 FILE PEIM = $(NAMED_GUID) FIXED {
50 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
51 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
52 UI STRING="$(MODULE_NAME)" Optional
55 [Rule.Common.PEIM.TIANOCOMPRESSED]
56 FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
57 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
58 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
59 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
60 UI STRING="$(MODULE_NAME)" Optional
64 [Rule.Common.DXE_CORE]
65 FILE DXE_CORE = $(NAMED_GUID) {
66 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
67 UI STRING="$(MODULE_NAME)" Optional
70 [Rule.Common.UEFI_DRIVER]
71 FILE DRIVER = $(NAMED_GUID) {
72 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
73 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
74 UI STRING="$(MODULE_NAME)" Optional
77 [Rule.Common.DXE_DRIVER]
78 FILE DRIVER = $(NAMED_GUID) {
79 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
80 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
81 UI STRING="$(MODULE_NAME)" Optional
82 RAW ACPI Optional |.acpi
83 RAW ASL Optional |.aml
86 [Rule.Common.DXE_RUNTIME_DRIVER]
87 FILE DRIVER = $(NAMED_GUID) {
88 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
89 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
90 UI STRING="$(MODULE_NAME)" Optional
93 [Rule.Common.UEFI_APPLICATION]
94 FILE APPLICATION = $(NAMED_GUID) {
95 UI STRING ="$(MODULE_NAME)" Optional
96 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
99 [Rule.Common.UEFI_DRIVER.BINARY]
100 FILE DRIVER = $(NAMED_GUID) {
101 DXE_DEPEX DXE_DEPEX Optional |.depex
103 UI STRING="$(MODULE_NAME)" Optional
104 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
107 [Rule.Common.UEFI_APPLICATION.BINARY]
108 FILE APPLICATION = $(NAMED_GUID) {
110 UI STRING="$(MODULE_NAME)" Optional
111 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
114 [Rule.Common.USER_DEFINED.ACPITABLE]
115 FILE FREEFORM = $(NAMED_GUID) {
118 UI STRING="$(MODULE_NAME)" Optional