[PATCH for-5.1] Makefile: Remove config-devices.mak on "make clean"

Peter Maydell posted 1 patch 5 years, 4 months ago
Test checkpatch passed
Test docker-mingw@fedora failed
Test FreeBSD passed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200717152508.10272-1-peter.maydell@linaro.org
There is a newer version of this series
Makefile | 1 +
1 file changed, 1 insertion(+)
[PATCH for-5.1] Makefile: Remove config-devices.mak on "make clean"
Posted by Peter Maydell 5 years, 4 months ago
The config-devices.mak files are generated by "make", and so they
should be deleted by "make clean".

(This is different from config-host.mak and config-all-disas.mak,
which are created by "configure" and so only deleted by
"make distclen".)

If we don't delete these files on "make clean", then the build
tree is left in a state where it has the config-devices.mak
file but not the config-devices.mak.d file, and make will not
realize that it needs to rebuild config-devices.mak if, for
instance, hw/sd/Kconfig changes.

NB: config-all-devices.mak is also generated by "make", but we
already remove it on "make clean".

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
I didn't remove the existing 'rm -f $(SUBDIR_DEVICES_MAK)'
from the 'distclean' rules on the basis that config-all-devices.mak
is explicitly removed in both 'distclean' and 'clean', despite
'distclean' depending on 'clean'...
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index 32345c610ee..c2120d8d48d 100644
--- a/Makefile
+++ b/Makefile
@@ -775,6 +775,7 @@ clean: recurse-clean
 	rm -f storage-daemon/qapi/qapi-gen-timestamp
 	rm -rf qga/qapi-generated
 	rm -f config-all-devices.mak
+	rm -f $(SUBDIR_DEVICES_MAK)
 
 VERSION ?= $(shell cat VERSION)
 
-- 
2.20.1


Re: [PATCH for-5.1] Makefile: Remove config-devices.mak on "make clean"
Posted by Philippe Mathieu-Daudé 5 years, 4 months ago
On 7/17/20 5:25 PM, Peter Maydell wrote:
> The config-devices.mak files are generated by "make", and so they
> should be deleted by "make clean".
> 
> (This is different from config-host.mak and config-all-disas.mak,
> which are created by "configure" and so only deleted by
> "make distclen".)

typo "distclean"

> 
> If we don't delete these files on "make clean", then the build
> tree is left in a state where it has the config-devices.mak
> file but not the config-devices.mak.d file, and make will not
> realize that it needs to rebuild config-devices.mak if, for
> instance, hw/sd/Kconfig changes.
> 
> NB: config-all-devices.mak is also generated by "make", but we
> already remove it on "make clean".
> 

Suggested-by: Paolo Bonzini <pbonzini@redhat.com> ?

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> I didn't remove the existing 'rm -f $(SUBDIR_DEVICES_MAK)'
> from the 'distclean' rules on the basis that config-all-devices.mak
> is explicitly removed in both 'distclean' and 'clean', despite
> 'distclean' depending on 'clean'...
> ---
>  Makefile | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Makefile b/Makefile
> index 32345c610ee..c2120d8d48d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -775,6 +775,7 @@ clean: recurse-clean
>  	rm -f storage-daemon/qapi/qapi-gen-timestamp
>  	rm -rf qga/qapi-generated
>  	rm -f config-all-devices.mak
> +	rm -f $(SUBDIR_DEVICES_MAK)
>  
>  VERSION ?= $(shell cat VERSION)
>  
> 


Re: [PATCH for-5.1] Makefile: Remove config-devices.mak on "make clean"
Posted by Peter Maydell 5 years, 3 months ago
On Fri, 17 Jul 2020 at 16:30, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> On 7/17/20 5:25 PM, Peter Maydell wrote:
> > The config-devices.mak files are generated by "make", and so they
> > should be deleted by "make clean".
> >
> > (This is different from config-host.mak and config-all-disas.mak,
> > which are created by "configure" and so only deleted by
> > "make distclen".)
>
> typo "distclean"
>
> >
> > If we don't delete these files on "make clean", then the build
> > tree is left in a state where it has the config-devices.mak
> > file but not the config-devices.mak.d file, and make will not
> > realize that it needs to rebuild config-devices.mak if, for
> > instance, hw/sd/Kconfig changes.
> >
> > NB: config-all-devices.mak is also generated by "make", but we
> > already remove it on "make clean".
> >
>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com> ?
>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Applied to master with the commit-message fixes so I could merge
the i2c pullreq.

thanks
-- PMM