Thanks, Konstantin,

I approve this version.

Thanks,
Jake

From: Konstantin Aladyshev <aladyshev22@gmail.com>
Sent: Tuesday, December 13, 2022 11:22 AM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
Subject: [PATCH] Fix cyclic dependency error on OptionROM build
 
External email: Use caution opening links or attachments


EDKII build system supports OptionROM generation if particular PCI_*
defines are present in the module INF file:
```
[Defines]
  ...
  PCI_VENDOR_ID                  = <...>
  PCI_DEVICE_ID                  = <...>
  PCI_CLASS_CODE                 = <...>
  PCI_REVISION                   = <...>
```
Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
("BaseTools/Conf: Fix Dynamic-Library-File template") it is no longer
possible.
The build system fails with the error:
```
Cyclic dependency detected while generating rule for
"<...>/DEBUG/<...>.efi" file
```
Remove "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" from the 'dll' output files
to fix the cyclic dependency.
---
 BaseTools/Conf/build_rule.template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index af4819de92..21ccd864fa 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -342,7 +342,6 @@


     <OutputFile>

         $(OUTPUT_DIR)(+)$(MODULE_NAME).efi

-        $(DEBUG_DIR)(+)$(MODULE_NAME).efi

         $(OUTPUT_DIR)(+)$(MODULE_NAME).map



     <Command.MSFT, Command.INTEL, Command.CLANGPDB>

--
2.34.1