174 lines
5.9 KiB
Plaintext
174 lines
5.9 KiB
Plaintext
################################################################################
|
|
#
|
|
# Rules are use with the [FV] section's module INF type to define
|
|
# how an FFS file is created for a given INF file. The following Rule are the default
|
|
# rules for the different module type. User can add the customized rules to define the
|
|
# content of the FFS file.
|
|
#
|
|
################################################################################
|
|
|
|
[Rule.Common.SEC]
|
|
FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
|
|
$(UNCOMPRESSED_PEI_EXECUTABLE_SECTION) $(SEC_CORE_EXECUTABLE_ALIGNMENT) |.efi
|
|
RAW RAW Optional Align = 16 |.com
|
|
}
|
|
|
|
[Rule.Common.PEI_CORE]
|
|
FILE PEI_CORE = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
$(UNCOMPRESSED_PEI_EXECUTABLE_SECTION) $(UNCOMPRESSED_PEI_EXECUTABLES_ALIGNMENT) |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
|
|
[Rule.Common.PEIM]
|
|
FILE PEIM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
PEI_DEPEX PEI_DEPEX Optional |.depex
|
|
$(UNCOMPRESSED_PEI_EXECUTABLE_SECTION) $(UNCOMPRESSED_PEI_EXECUTABLES_ALIGNMENT) |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
|
|
[Rule.Common.PEIM.NORELOC]
|
|
FILE PEIM = $(NAMED_GUID) RELOCS_STRIPPED $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
PEI_DEPEX PEI_DEPEX Optional |.depex
|
|
$(UNCOMPRESSED_PEI_EXECUTABLE_SECTION) |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
|
|
[Rule.Common.PEIM.Compressed]
|
|
FILE PEIM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
PEI_DEPEX PEI_DEPEX Optional |.depex
|
|
$(PEI_COMPRESSION_SECTION) {
|
|
PE32 PE32 |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
}
|
|
|
|
[Rule.Common.DXE_CORE]
|
|
FILE DXE_CORE = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
# Since DXE Core is decompressed by the PEI code, we are using $(PEI_COMPRESSION_SECTION) here.
|
|
$(PEI_COMPRESSION_SECTION) {
|
|
PE32 PE32 |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
}
|
|
|
|
[Rule.Common.DXE_DRIVER]
|
|
FILE DRIVER = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
DXE_DEPEX DXE_DEPEX Optional |.depex
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
PE32 PE32 |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
}
|
|
|
|
[Rule.Common.SMM_CORE]
|
|
FILE SMM_CORE = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
PE32 PE32 |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
}
|
|
|
|
[Rule.Common.DXE_SMM_DRIVER]
|
|
FILE SMM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
SMM_DEPEX SMM_DEPEX Optional |.depex
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
PE32 PE32 |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
}
|
|
|
|
[Rule.Common.UEFI_DRIVER]
|
|
FILE DRIVER = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
DXE_DEPEX DXE_DEPEX Optional |.depex
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
PE32 PE32 |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
}
|
|
|
|
[Rule.Common.DXE_RUNTIME_DRIVER]
|
|
FILE DRIVER = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
DXE_DEPEX DXE_DEPEX Optional |.depex
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
PE32 PE32 |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
}
|
|
|
|
[Rule.Common.UEFI_APPLICATION]
|
|
FILE APPLICATION = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
PE32 PE32 |.efi
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
}
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED]
|
|
FILE FREEFORM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
RAW BIN Optional |.bin
|
|
RAW RAW Optional |.com
|
|
RAW ASL Optional |.aml
|
|
}
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.Uncompressed]
|
|
FILE FREEFORM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
RAW BIN Optional |.bin
|
|
RAW RAW Optional |.com
|
|
RAW ASL Optional |.aml
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.UncompressedNoChecksum]
|
|
FILE FREEFORM = $(NAMED_GUID) {
|
|
RAW BIN Optional |.bin
|
|
RAW RAW Optional |.com
|
|
RAW ASL Optional |.aml
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.BINARY]
|
|
FILE FREEFORM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
RAW BIN
|
|
}
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.UncompressedBinary]
|
|
FILE FREEFORM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
RAW BIN
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.UncompressedBinaryNoChecksum]
|
|
FILE FREEFORM = $(NAMED_GUID) {
|
|
RAW BIN
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.SubtypeGuidCompressed]
|
|
FILE FREEFORM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
$(DXE_COMPRESSION_SECTION) {
|
|
SUBTYPE_GUID GUID=$(SECTION_GUID) BIN Optional |.bin
|
|
SUBTYPE_GUID GUID=$(SECTION_GUID) RAW Optional |.com
|
|
}
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.SubtypeGuidUncompressed]
|
|
FILE FREEFORM = $(NAMED_GUID) $(FFS_FILE_CHECKSUM_KEYWORD) {
|
|
SUBTYPE_GUID GUID=$(SECTION_GUID) BIN |.bin
|
|
}
|
|
|
|
[Rule.Common.USER_DEFINED.SubtypeGuidUncompressedNoChecksum]
|
|
FILE FREEFORM = $(NAMED_GUID) {
|
|
SUBTYPE_GUID GUID=$(SECTION_GUID) BIN |.bin
|
|
}
|