On Fri, 17 Jul 2020 at 12:20, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il ven 17 lug 2020, 13:03 Peter Maydell <peter.mayd...@linaro.org> ha scritto: >> There doesn't seem to be any machinery for creating .d >> files for make to include to tell it that Kconfig has a >> dependency on hw/Kconfig which has a dependency on hw/i2c/Kconfig etc. >> How is this intended to work ? > > > I cannot look at a build tree right now, but shouldn't that be in the .d file > produced by minikconf.py Those are passed to minikconf.py as the second > argument and included with "include $(SUBDIR_DEVICES_MAK_DEP)".
When you do a "make clean" those .d files get deleted (but the config-devices.mak files do not). There is no rule for rebuilding a config-devices.mak.d: $ make -C build/x86 -n arm-softmmu/config-devices.mak.d make: Entering directory '/home/petmay01/linaro/qemu-from-laptop/qemu/build/x86' make[1]: Entering directory '/home/petmay01/linaro/qemu-from-laptop/qemu/slirp' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/petmay01/linaro/qemu-from-laptop/qemu/slirp' make: *** No rule to make target 'arm-softmmu/config-devices.mak.d'. Stop. make: Leaving directory '/home/petmay01/linaro/qemu-from-laptop/qemu/build/x86' and we include them with "-include", so Make silently proceeds without the dependency information. My guess is that we need to tell make that this rule: $(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak $(SRC_PATH)/Kconfig $(BUILD_DIR)/config-host.mak also produces the .mak.d file somehow. thanks -- PMM