Reviewed-by: Bob Feng <bob.c.feng@intel.com>
From: Jake Garver <jake@nvidia.com>
Sent: Wednesday, December 14, 2022 2:48 AM
To: Konstantin Aladyshev <aladyshev22@gmail.com>; devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>
Subject: Re: [PATCH] Fix cyclic dependency error on OptionROM build
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