When hw/$DIR/Kconfig is changed, the corresponding generated hw/$DIR/config-devices.mak is not being updated. Fix this by including all the hw/*/Kconfig files to the prerequisite names of the rule generating the config-devices.mak files.
Fixes: e0e312f3525a (build: switch to Kconfig) Reported-by: Peter Maydell <[email protected]> Suggested-by: Daniel P. Berrangé <[email protected]> Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- v2: Simplify using the wildcard() function instead of calling `sed` (danpb) You can see this tread where Peter reported the failure: https://lists.gnu.org/archive/html/qemu-devel/2019-11/msg00125.html How to reproduce: $ git checkout branch_modifying_kconfig $ make i386-softmmu/all $ make clean $ git checkout prev_branch $ make clean $ make i386-softmmu/all # error If OK, I plan to include this fix in the "hw/i386/pc: Split PIIX3 southbridge from i440FX northbridge" pull request. --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0e994a275d..f4fca08cd7 100644 --- a/Makefile +++ b/Makefile @@ -384,7 +384,8 @@ MINIKCONF_ARGS = \ CONFIG_LINUX=$(CONFIG_LINUX) \ CONFIG_PVRDMA=$(CONFIG_PVRDMA) -MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig +MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig \ + $(wildcard $(SRC_PATH)/hw/*/Kconfig) MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \ $(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak $(MINIKCONF_INPUTS) $(BUILD_DIR)/config-host.mak -- 2.21.0
