On Mon, 6 Jul 2020 at 18:03, Paolo Bonzini <pbonz...@redhat.com> wrote: > > There is no reason to write MINIKCONF_DEPS manually, since minikconf.py > emits a dependency file, and also no reason to list multiple Kconfig > files on the command line since they can be included from a master file > in the top-level source directory. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
Hi Paolo. With this change Make seems no longer to realise that a change to a Kconfig file means it needs to rebuild the config-devices.mak, which means that we tend to get weird compile failures for changes which update Kconfig files. Specifically, this is preventing me getting a clean set of builds for Corey's latest i2c pullreq. Reverting this commit allows the pullreq to build on all configs. > --- a/Makefile > +++ b/Makefile > @@ -404,7 +404,7 @@ endif > # This has to be kept in sync with Kconfig.host. > MINIKCONF_ARGS = \ > $(CONFIG_MINIKCONF_MODE) \ > - $@ $*/config-devices.mak.d $< $(MINIKCONF_INPUTS) \ > + $@ $*/config-devices.mak.d $< $(SRC_PATH)/Kconfig \ > CONFIG_TCG=$(CONFIG_TCG) \ > CONFIG_KVM=$(CONFIG_KVM) \ > CONFIG_SPICE=$(CONFIG_SPICE) \ > @@ -419,15 +419,9 @@ MINIKCONF_ARGS = \ > CONFIG_LINUX=$(CONFIG_LINUX) \ > CONFIG_PVRDMA=$(CONFIG_PVRDMA) > > -MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host \ > - $(SRC_PATH)/backends/Kconfig \ > - $(SRC_PATH)/accel/Kconfig \ > - $(SRC_PATH)/hw/Kconfig > -MINIKCONF_DEPS = $(MINIKCONF_INPUTS) \ > - $(wildcard $(SRC_PATH)/hw/*/Kconfig) > MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py > > -$(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak > $(MINIKCONF_DEPS) $(BUILD_DIR)/config-host.mak > +$(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak > $(SRC_PATH)/Kconfig $(BUILD_DIR)/config-host.mak Specifically here, the $(MINIKCONF_DEPS) long list of Kconfig files has been removed from the dependency list of config-devices.mak. 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 ? For 5.1, should we just revert this commit ? thanks -- PMM