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