Still use |.efi Rule for INF file with binary EFI image, because the binary EFI image specified INF file is not in output directory. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10150 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/OvmfPkg/OvmfPkg.fdf b/OvmfPkg/OvmfPkg.fdf
index 1c5d82d..47f8518 100644
--- a/OvmfPkg/OvmfPkg.fdf
+++ b/OvmfPkg/OvmfPkg.fdf
@@ -197,9 +197,9 @@
 INF  MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf

 INF  RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf

 

-INF  FatBinPkg/EnhancedFatDxe/Fat.inf

+INF  RuleOverride=BINARY FatBinPkg/EnhancedFatDxe/Fat.inf

 

-INF  EdkShellBinPkg/FullShell/FullShell.inf

+INF  RuleOverride=BINARY EdkShellBinPkg/FullShell/FullShell.inf

 

 FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {

     SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { # LzmaCompress

@@ -330,6 +330,21 @@
     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)

   }

 

+[Rule.Common.UEFI_DRIVER.BINARY]

+  FILE DRIVER = $(NAMED_GUID) {

+    DXE_DEPEX    DXE_DEPEX Optional      |.depex

+    PE32     PE32                        |.efi

+    UI       STRING="$(MODULE_NAME)" Optional

+    VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)

+  }

+

+[Rule.Common.UEFI_APPLICATION.BINARY]

+  FILE APPLICATION = $(NAMED_GUID) {

+    PE32     PE32                    |.efi

+    UI       STRING="$(MODULE_NAME)" Optional

+    VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)

+  }

+

 [Rule.Common.USER_DEFINED.ACPITABLE]

   FILE FREEFORM = $(NAMED_GUID) {

     RAW ACPI               |.acpi