1# 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. 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# 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. 21# 22################################################################################ 23 24 25############################################################################ 26# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section # 27############################################################################ 28# 29#[Rule.Common.DXE_DRIVER] 30# FILE DRIVER = $(NAMED_GUID) { 31# DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 32# COMPRESS PI_STD { 33# GUIDED { 34# PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 35# UI STRING="$(MODULE_NAME)" Optional 36# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 37# } 38# } 39# } 40# 41############################################################################ 42 43[Rule.Common.SEC] 44 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED { 45 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi 46 } 47 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 52 } 53 54[Rule.Common.PEIM] 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 59 } 60 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 67 } 68 } 69 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 74 } 75 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 81 } 82 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 90 } 91 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 97 } 98 99[Rule.Common.UEFI_APPLICATION] 100 FILE APPLICATION = $(NAMED_GUID) { 101 UI STRING ="$(MODULE_NAME)" Optional 102 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 103 } 104 105[Rule.Common.UEFI_DRIVER.BINARY] 106 FILE DRIVER = $(NAMED_GUID) { 107 DXE_DEPEX DXE_DEPEX Optional |.depex 108 PE32 PE32 |.efi 109 UI STRING="$(MODULE_NAME)" Optional 110 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 111 } 112 113[Rule.Common.UEFI_APPLICATION.BINARY] 114 FILE APPLICATION = $(NAMED_GUID) { 115 PE32 PE32 |.efi 116 UI STRING="$(MODULE_NAME)" Optional 117 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 118 } 119 120[Rule.Common.USER_DEFINED.ACPITABLE] 121 FILE FREEFORM = $(NAMED_GUID) { 122 RAW ACPI |.acpi 123 RAW ASL |.aml 124 UI STRING="$(MODULE_NAME)" Optional 125 } 126