1#/** @file 2# 3# Copyright (c) 2016, Hisilicon Limited. All rights reserved. 4# Copyright (c) 2016, Linaro Limited. 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################################################################################ 18# 19# Rules are use with the [FV] section's module INF type to define 20# how an FFS file is created for a given INF file. The following Rule are the default 21# rules for the different module type. User can add the customized rules to define the 22# content of the FFS file. 23# 24################################################################################ 25 26 27############################################################################ 28# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section # 29############################################################################ 30# 31#[Rule.Common.DXE_DRIVER] 32# FILE DRIVER = $(NAMED_GUID) { 33# DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 34# COMPRESS PI_STD { 35# GUIDED { 36# PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 37# UI STRING="$(MODULE_NAME)" Optional 38# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 39# } 40# } 41# } 42# 43############################################################################ 44 45[Rule.Common.SEC] 46 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED { 47 TE TE Align = 4K $(INF_OUTPUT)/$(MODULE_NAME).efi 48 } 49 50[Rule.Common.PEI_CORE] 51 FILE PEI_CORE = $(NAMED_GUID) { 52 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi 53 UI STRING ="$(MODULE_NAME)" Optional 54 } 55 56[Rule.Common.PEIM] 57 FILE PEIM = $(NAMED_GUID) { 58 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 59 TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi 60 UI STRING="$(MODULE_NAME)" Optional 61 } 62 63[Rule.Common.PEIM.BINARY] 64 FILE PEIM = $(NAMED_GUID) { 65 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 66 TE TE Align = Auto |.efi 67 UI STRING="$(MODULE_NAME)" Optional 68 } 69 70[Rule.Common.PEIM.TIANOCOMPRESSED] 71 FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 { 72 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 73 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE { 74 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 75 UI STRING="$(MODULE_NAME)" Optional 76 } 77 } 78 79[Rule.Common.DXE_CORE] 80 FILE DXE_CORE = $(NAMED_GUID) { 81 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 82 UI STRING="$(MODULE_NAME)" Optional 83 } 84 85[Rule.Common.UEFI_DRIVER] 86 FILE DRIVER = $(NAMED_GUID) { 87 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 88 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 89 UI STRING="$(MODULE_NAME)" Optional 90 } 91 92[Rule.Common.DXE_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.DXE_DRIVER.BINARY] 100 FILE DRIVER = $(NAMED_GUID) { 101 DXE_DEPEX DXE_DEPEX Optional |.depex 102 PE32 PE32 |.efi 103 UI STRING="$(MODULE_NAME)" Optional 104 } 105 106[Rule.Common.DXE_RUNTIME_DRIVER] 107 FILE DRIVER = $(NAMED_GUID) { 108 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 109 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 110 UI STRING="$(MODULE_NAME)" Optional 111 } 112 113[Rule.Common.UEFI_APPLICATION] 114 FILE APPLICATION = $(NAMED_GUID) { 115 UI STRING ="$(MODULE_NAME)" Optional 116 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 117 } 118 119[Rule.Common.UEFI_DRIVER.BINARY] 120 FILE DRIVER = $(NAMED_GUID) { 121 DXE_DEPEX DXE_DEPEX Optional |.depex 122 PE32 PE32 |.efi 123 UI STRING="$(MODULE_NAME)" Optional 124 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 125 } 126 127[Rule.Common.UEFI_APPLICATION.BINARY] 128 FILE APPLICATION = $(NAMED_GUID) { 129 PE32 PE32 |.efi 130 UI STRING="$(MODULE_NAME)" Optional 131 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 132 } 133 134[Rule.Common.USER_DEFINED.ACPITABLE] 135 FILE FREEFORM = $(NAMED_GUID) { 136 RAW ACPI |.acpi 137 RAW ASL |.aml 138 } 139 140