qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 28/53] Makefile: simplify MINIKCONF rules


From: Peter Maydell
Subject: Re: [PULL 28/53] Makefile: simplify MINIKCONF rules
Date: Fri, 17 Jul 2020 12:02:54 +0100

On Mon, 6 Jul 2020 at 18:03, Paolo Bonzini <pbonzini@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 <pbonzini@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]