diff mbox series

[PULL,12/30] Makefile: Remove generated files when doing 'distclean'

Message ID 1570035113-56848-13-git-send-email-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show
Series [PULL,01/30] tests/migration: Add a test for auto converge | expand

Commit Message

Paolo Bonzini Oct. 2, 2019, 4:51 p.m. UTC
From: Thomas Huth <thuth@redhat.com>

When running "make distclean" we currently leave a lot of generated
files in the build directory. Fix that.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile               |  6 +++---
 tests/Makefile.include | 12 +++++++++++-
 2 files changed, 14 insertions(+), 4 deletions(-)

Comments

Peter Maydell Oct. 4, 2019, 12:20 p.m. UTC | #1
On Wed, 2 Oct 2019 at 18:07, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> From: Thomas Huth <thuth@redhat.com>
>
> When running "make distclean" we currently leave a lot of generated
> files in the build directory. Fix that.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: John Snow <jsnow@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---

> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 3543451..48b52da 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -1176,11 +1176,21 @@ check: check-block check-qapi-schema check-unit check-softfloat check-qtest chec
>  check-clean:
>         rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
>         rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
> -       rm -f tests/test-qapi-gen-timestamp
>         rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
> +       rm -f tests/qemu-iotests/common.env tests/qemu-iotests/check.*
> +       rm -f tests/test-qapi-gen-timestamp tests/qht-bench$(EXESUF) \
> +               tests/fp/fp-test tests/fp/*.out tests/qapi-schema/*.test.*
>
>  clean: check-clean

Hi; this change breaks the sequence
 'make clean; make; make check'

because now 'make clean' removes tests/qemu-iotests/common.env.
But this file is created by 'configure', not by 'make', so if there's
no other reason why 'make' needs to re-run configure then we get
to the 'make check' stage with the file not existing, and then
when we try to run the iotests they fail with:

./check: line 60:
/home/petmay01/linaro/qemu-for-merges/build/alldbg/tests/qemu-iotests/common.env:
No such file or directory
check: failed to source common.env (make sure the qemu-iotests are run
from tests/qemu-iotests in the build tree)
/home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:1102:
recipe for target 'check-tests/check-block.sh' failed

thanks
-- PMM
Paolo Bonzini Oct. 4, 2019, 4:48 p.m. UTC | #2
On 04/10/19 14:20, Peter Maydell wrote:
> On Wed, 2 Oct 2019 at 18:07, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>
>> From: Thomas Huth <thuth@redhat.com>
>>
>> When running "make distclean" we currently leave a lot of generated
>> files in the build directory. Fix that.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> Reviewed-by: John Snow <jsnow@redhat.com>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
> 
>> diff --git a/tests/Makefile.include b/tests/Makefile.include
>> index 3543451..48b52da 100644
>> --- a/tests/Makefile.include
>> +++ b/tests/Makefile.include
>> @@ -1176,11 +1176,21 @@ check: check-block check-qapi-schema check-unit check-softfloat check-qtest chec
>>  check-clean:
>>         rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
>>         rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
>> -       rm -f tests/test-qapi-gen-timestamp
>>         rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
>> +       rm -f tests/qemu-iotests/common.env tests/qemu-iotests/check.*
>> +       rm -f tests/test-qapi-gen-timestamp tests/qht-bench$(EXESUF) \
>> +               tests/fp/fp-test tests/fp/*.out tests/qapi-schema/*.test.*
>>
>>  clean: check-clean
> 
> Hi; this change breaks the sequence
>  'make clean; make; make check'
> 
> because now 'make clean' removes tests/qemu-iotests/common.env.
> But this file is created by 'configure', not by 'make', so if there's
> no other reason why 'make' needs to re-run configure then we get
> to the 'make check' stage with the file not existing, and then
> when we try to run the iotests they fail with:
> 
> ./check: line 60:
> /home/petmay01/linaro/qemu-for-merges/build/alldbg/tests/qemu-iotests/common.env:
> No such file or directory
> check: failed to source common.env (make sure the qemu-iotests are run
> from tests/qemu-iotests in the build tree)
> /home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:1102:
> recipe for target 'check-tests/check-block.sh' failed
> 
> thanks
> -- PMM
> 

I've dropped this patch and will send v3 that adds back the VMX patches.

Paolo
Thomas Huth Oct. 7, 2019, 6:28 a.m. UTC | #3
----- Original Message -----
> From: "Paolo Bonzini" <pbonzini@redhat.com>
> To: "Peter Maydell" <peter.maydell@linaro.org>
> Cc: "QEMU Developers" <qemu-devel@nongnu.org>, "Thomas Huth" <thuth@redhat.com>
> Sent: Friday, October 4, 2019 6:48:47 PM
> Subject: Re: [PULL 12/30] Makefile: Remove generated files when doing 'distclean'
> 
> On 04/10/19 14:20, Peter Maydell wrote:
> > On Wed, 2 Oct 2019 at 18:07, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >>
> >> From: Thomas Huth <thuth@redhat.com>
> >>
> >> When running "make distclean" we currently leave a lot of generated
> >> files in the build directory. Fix that.
> >>
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> Reviewed-by: John Snow <jsnow@redhat.com>
> >> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> >> ---
> > 
> >> diff --git a/tests/Makefile.include b/tests/Makefile.include
> >> index 3543451..48b52da 100644
> >> --- a/tests/Makefile.include
> >> +++ b/tests/Makefile.include
> >> @@ -1176,11 +1176,21 @@ check: check-block check-qapi-schema check-unit
> >> check-softfloat check-qtest chec
> >>  check-clean:
> >>         rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
> >>         rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST),
> >>         $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
> >> -       rm -f tests/test-qapi-gen-timestamp
> >>         rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
> >> +       rm -f tests/qemu-iotests/common.env tests/qemu-iotests/check.*
> >> +       rm -f tests/test-qapi-gen-timestamp tests/qht-bench$(EXESUF) \
> >> +               tests/fp/fp-test tests/fp/*.out tests/qapi-schema/*.test.*
> >>
> >>  clean: check-clean
> > 
> > Hi; this change breaks the sequence
> >  'make clean; make; make check'
> > 
> > because now 'make clean' removes tests/qemu-iotests/common.env.
> > But this file is created by 'configure', not by 'make', so if there's
> > no other reason why 'make' needs to re-run configure then we get
> > to the 'make check' stage with the file not existing, and then
> > when we try to run the iotests they fail with:
> > 
> > ./check: line 60:
> > /home/petmay01/linaro/qemu-for-merges/build/alldbg/tests/qemu-iotests/common.env:
> > No such file or directory
> > check: failed to source common.env (make sure the qemu-iotests are run
> > from tests/qemu-iotests in the build tree)
> > /home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:1102:
> > recipe for target 'check-tests/check-block.sh' failed
> 
> I've dropped this patch and will send v3 that adds back the VMX patches.

Thanks, and I will rework the patch to only remove that file during "make distclean",
and not already during "make clean".

 Thomas
Aleksandar Markovic Oct. 7, 2019, 7:13 a.m. UTC | #4
On Monday, October 7, 2019, Thomas Huth <thuth@redhat.com> wrote:

> ----- Original Message -----
> > From: "Paolo Bonzini" <pbonzini@redhat.com>
> > To: "Peter Maydell" <peter.maydell@linaro.org>
> > Cc: "QEMU Developers" <qemu-devel@nongnu.org>, "Thomas Huth" <
> thuth@redhat.com>
> > Sent: Friday, October 4, 2019 6:48:47 PM
> > Subject: Re: [PULL 12/30] Makefile: Remove generated files when doing
> 'distclean'
> >
> > On 04/10/19 14:20, Peter Maydell wrote:
> > > On Wed, 2 Oct 2019 at 18:07, Paolo Bonzini <pbonzini@redhat.com>
> wrote:
> > >>
> > >> From: Thomas Huth <thuth@redhat.com>
> > >>
> > >> When running "make distclean" we currently leave a lot of generated
> > >> files in the build directory. Fix that.
> > >>
> > >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> > >> Reviewed-by: John Snow <jsnow@redhat.com>
> > >> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > >> ---
> > >
> > >> diff --git a/tests/Makefile.include b/tests/Makefile.include
> > >> index 3543451..48b52da 100644
> > >> --- a/tests/Makefile.include
> > >> +++ b/tests/Makefile.include
> > >> @@ -1176,11 +1176,21 @@ check: check-block check-qapi-schema
> check-unit
> > >> check-softfloat check-qtest chec
> > >>  check-clean:
> > >>         rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
> > >>         rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST),
> > >>         $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
> > >> -       rm -f tests/test-qapi-gen-timestamp
> > >>         rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
> > >> +       rm -f tests/qemu-iotests/common.env tests/qemu-iotests/check.*
> > >> +       rm -f tests/test-qapi-gen-timestamp tests/qht-bench$(EXESUF) \
> > >> +               tests/fp/fp-test tests/fp/*.out
> tests/qapi-schema/*.test.*
> > >>
> > >>  clean: check-clean
> > >
> > > Hi; this change breaks the sequence
> > >  'make clean; make; make check'
> > >
> > > because now 'make clean' removes tests/qemu-iotests/common.env.
> > > But this file is created by 'configure', not by 'make', so if there's
> > > no other reason why 'make' needs to re-run configure then we get
> > > to the 'make check' stage with the file not existing, and then
> > > when we try to run the iotests they fail with:
> > >
> > > ./check: line 60:
> > > /home/petmay01/linaro/qemu-for-merges/build/alldbg/tests/
> qemu-iotests/common.env:
> > > No such file or directory
> > > check: failed to source common.env (make sure the qemu-iotests are run
> > > from tests/qemu-iotests in the build tree)
> > > /home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:1102:
> > > recipe for target 'check-tests/check-block.sh' failed
> >
> > I've dropped this patch and will send v3 that adds back the VMX patches.
>
> Thanks, and I will rework the patch to only remove that file during "make
> distclean",
> and not already during "make clean".
>
>  Thomas
>
>
The commit message says that it affects "make distclean". It does not
mention "make clean", while the change obviously affects "make clean" too.
It looks to me that the commit message was misleading. It would be good if
the new version of the patch has clearer (not misleading) commit message,
specifying what exactly is affected by the change. Or, alteratively, this
patch could be split into several ones.

Thanks,
Aleksandar
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 8da3359..47b1e1f 100644
--- a/Makefile
+++ b/Makefile
@@ -696,14 +696,14 @@  clean: recurse-clean
 		-exec rm {} +
 	rm -f $(edk2-decompressed)
 	rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) TAGS cscope.* *.pod *~ */*~
-	rm -f fsdev/*.pod scsi/*.pod
+	rm -f fsdev/*.pod scsi/*.pod docs/*.pod docs/*/*.pod docs/*/.buildinfo
 	rm -f qemu-img-cmds.h
 	rm -f ui/shader/*-vert.h ui/shader/*-frag.h
 	@# May not be present in generated-files-y
 	rm -f trace/generated-tracers-dtrace.dtrace*
 	rm -f trace/generated-tracers-dtrace.h*
 	rm -f $(foreach f,$(generated-files-y),$(f) $(f)-timestamp)
-	rm -f qapi-gen-timestamp
+	rm -f qapi-gen-timestamp vhost-user-input
 	rm -rf qga/qapi-generated
 	rm -f config-all-devices.mak
 
@@ -724,7 +724,7 @@  distclean: clean
 	rm -f tests/tcg/config-*.mak
 	rm -f config-all-devices.mak config-all-disas.mak config.status
 	rm -f $(SUBDIR_DEVICES_MAK)
-	rm -f po/*.mo tests/qemu-iotests/common.env
+	rm -f po/*.mo
 	rm -f roms/seabios/config.mak roms/vgabios/config.mak
 	rm -f qemu-doc.info qemu-doc.aux qemu-doc.cp qemu-doc.cps
 	rm -f qemu-doc.fn qemu-doc.fns qemu-doc.info qemu-doc.ky qemu-doc.kys
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 3543451..48b52da 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -1176,11 +1176,21 @@  check: check-block check-qapi-schema check-unit check-softfloat check-qtest chec
 check-clean:
 	rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y)
 	rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y))
-	rm -f tests/test-qapi-gen-timestamp
 	rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
+	rm -f tests/qemu-iotests/common.env tests/qemu-iotests/check.*
+	rm -f tests/test-qapi-gen-timestamp tests/qht-bench$(EXESUF) \
+		tests/fp/fp-test tests/fp/*.out tests/qapi-schema/*.test.*
 
 clean: check-clean
 
+check-distclean:
+	rm -f tests/test-qapi-types*.c tests/test-qapi-visit*.c \
+		tests/test-qapi-commands*.c tests/test-qapi-events*.c \
+		tests/test-qapi-emit-events.[ch] tests/test-qapi-introspect.c \
+		tests/include/test-qapi-*.c
+
+distclean: check-distclean
+
 # Build the help program automatically
 
 all: $(QEMU_IOTESTS_HELPERS-y)