* Re: [Qemu-devel] [PATCH] Makefile: simpler/faster "make help"
2017-11-08 3:20 [Qemu-devel] [PATCH] Makefile: simpler/faster "make help" Philippe Mathieu-Daudé
@ 2017-11-08 9:19 ` Daniel P. Berrange
2017-11-08 10:52 ` [Qemu-devel] [Qemu-trivial] " Laurent Vivier
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Daniel P. Berrange @ 2017-11-08 9:19 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Richard Henderson, Fam Zheng, Eric Blake,
qemu-devel, qemu-trivial, Markus Armbruster, Paolo Bonzini,
Stefan Hajnoczi
On Wed, Nov 08, 2017 at 12:20:52AM -0300, Philippe Mathieu-Daudé wrote:
> Using obscure black magic introduced in eaa2ddbb767 :)
>
> In an out-of-tree directory, running "../configure && make help" will generate
> some required files (.mak), then clone some submodules, compile at least
> the capstone submodule, generate QMP and Trace files, and finally display
> the help.
>
> On an outdated computer (Sun Blade workstation), running "make help" took
> more than 5h :) With this patch it took roughly 37min.
Wow, that's some seriously slow hardware :-)
>
> Suggested-by: Daniel P. Berrange <berrange@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>
> before:
>
> $ make help
> GEN config-host.h
> CC cs.o
> CC utils.o
> CC SStream.o
> CC MCInstrDesc.o
> CC MCRegisterInfo.o
> CC arch/ARM/ARMDisassembler.o
> CC arch/ARM/ARMInstPrinter.o
> CC arch/ARM/ARMMapping.o
> CC arch/ARM/ARMModule.o
> CC arch/AArch64/AArch64BaseInfo.o
> CC arch/AArch64/AArch64Disassembler.o
> CC arch/AArch64/AArch64InstPrinter.o
> CC arch/AArch64/AArch64Mapping.o
> CC arch/AArch64/AArch64Module.o
> CC arch/Mips/MipsDisassembler.o
> CC arch/Mips/MipsInstPrinter.o
> CC arch/Mips/MipsMapping.o
> CC arch/Mips/MipsModule.o
> CC arch/PowerPC/PPCDisassembler.o
> CC arch/PowerPC/PPCInstPrinter.o
> CC arch/PowerPC/PPCMapping.o
> CC arch/PowerPC/PPCModule.o
> CC arch/Sparc/SparcDisassembler.o
> CC arch/Sparc/SparcInstPrinter.o
> CC arch/Sparc/SparcMapping.o
> CC arch/Sparc/SparcModule.o
> CC arch/SystemZ/SystemZDisassembler.o
> CC arch/SystemZ/SystemZInstPrinter.o
> CC arch/SystemZ/SystemZMapping.o
> CC arch/SystemZ/SystemZModule.o
> CC arch/SystemZ/SystemZMCTargetDesc.o
> CC arch/X86/X86DisassemblerDecoder.o
> CC arch/X86/X86Disassembler.o
> CC arch/X86/X86IntelInstPrinter.o
> CC arch/X86/X86ATTInstPrinter.o
> CC arch/X86/X86Mapping.o
> CC arch/X86/X86Module.o
> CC arch/XCore/XCoreDisassembler.o
> CC arch/XCore/XCoreInstPrinter.o
> CC arch/XCore/XCoreMapping.o
> CC arch/XCore/XCoreModule.o
> CC MCInst.o
> AR libcapstone.a
> ar: creating capstone/libcapstone.a
> GEN trace/generated-tcg-tracers.h
> GEN trace/generated-helpers-wrappers.h
> GEN trace/generated-helpers.h
> GEN trace/generated-helpers.c
> GEN module_block.h
> make[1]: 'capstone/libcapstone.a' is up to date.
> Generic targets:
> all - Build all
> dir/file.o - Build specified target only
> install - Install QEMU, documentation and tools
> ctags/TAGS - Generate tags file for editors
> cscope - Generate cscope index
> [...]
>
> after:
>
> $ make help
> Generic targets:
> all - Build all
> dir/file.o - Build specified target only
> install - Install QEMU, documentation and tools
> ctags/TAGS - Generate tags file for editors
> cscope - Generate cscope index
> [...]
>
> Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 0496c5057a..7850ca5928 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -6,7 +6,7 @@ BUILD_DIR=$(CURDIR)
> # Before including a proper config-host.mak, assume we are in the source tree
> SRC_PATH=.
>
> -UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-%
> +UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-% help
>
> # All following code might depend on configuration variables
> ifneq ($(wildcard config-host.mak),)
Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [Qemu-trivial] [PATCH] Makefile: simpler/faster "make help"
2017-11-08 3:20 [Qemu-devel] [PATCH] Makefile: simpler/faster "make help" Philippe Mathieu-Daudé
2017-11-08 9:19 ` Daniel P. Berrange
@ 2017-11-08 10:52 ` Laurent Vivier
2017-11-08 14:43 ` [Qemu-devel] " Stefan Hajnoczi
2017-11-09 6:40 ` Fam Zheng
3 siblings, 0 replies; 6+ messages in thread
From: Laurent Vivier @ 2017-11-08 10:52 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Peter Maydell, Richard Henderson,
Daniel P . Berrange, Fam Zheng, Eric Blake
Cc: qemu-devel, qemu-trivial, Markus Armbruster, Stefan Hajnoczi,
Paolo Bonzini
On 08/11/2017 04:20, Philippe Mathieu-Daudé wrote:
> Using obscure black magic introduced in eaa2ddbb767 :)
>
> In an out-of-tree directory, running "../configure && make help" will generate
> some required files (.mak), then clone some submodules, compile at least
> the capstone submodule, generate QMP and Trace files, and finally display
> the help.
>
> On an outdated computer (Sun Blade workstation), running "make help" took
> more than 5h :) With this patch it took roughly 37min.
>
> Suggested-by: Daniel P. Berrange <berrange@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>
> before:
>
> $ make help
> GEN config-host.h
> CC cs.o
> CC utils.o
> CC SStream.o
> CC MCInstrDesc.o
> CC MCRegisterInfo.o
> CC arch/ARM/ARMDisassembler.o
> CC arch/ARM/ARMInstPrinter.o
> CC arch/ARM/ARMMapping.o
> CC arch/ARM/ARMModule.o
> CC arch/AArch64/AArch64BaseInfo.o
> CC arch/AArch64/AArch64Disassembler.o
> CC arch/AArch64/AArch64InstPrinter.o
> CC arch/AArch64/AArch64Mapping.o
> CC arch/AArch64/AArch64Module.o
> CC arch/Mips/MipsDisassembler.o
> CC arch/Mips/MipsInstPrinter.o
> CC arch/Mips/MipsMapping.o
> CC arch/Mips/MipsModule.o
> CC arch/PowerPC/PPCDisassembler.o
> CC arch/PowerPC/PPCInstPrinter.o
> CC arch/PowerPC/PPCMapping.o
> CC arch/PowerPC/PPCModule.o
> CC arch/Sparc/SparcDisassembler.o
> CC arch/Sparc/SparcInstPrinter.o
> CC arch/Sparc/SparcMapping.o
> CC arch/Sparc/SparcModule.o
> CC arch/SystemZ/SystemZDisassembler.o
> CC arch/SystemZ/SystemZInstPrinter.o
> CC arch/SystemZ/SystemZMapping.o
> CC arch/SystemZ/SystemZModule.o
> CC arch/SystemZ/SystemZMCTargetDesc.o
> CC arch/X86/X86DisassemblerDecoder.o
> CC arch/X86/X86Disassembler.o
> CC arch/X86/X86IntelInstPrinter.o
> CC arch/X86/X86ATTInstPrinter.o
> CC arch/X86/X86Mapping.o
> CC arch/X86/X86Module.o
> CC arch/XCore/XCoreDisassembler.o
> CC arch/XCore/XCoreInstPrinter.o
> CC arch/XCore/XCoreMapping.o
> CC arch/XCore/XCoreModule.o
> CC MCInst.o
> AR libcapstone.a
> ar: creating capstone/libcapstone.a
> GEN trace/generated-tcg-tracers.h
> GEN trace/generated-helpers-wrappers.h
> GEN trace/generated-helpers.h
> GEN trace/generated-helpers.c
> GEN module_block.h
> make[1]: 'capstone/libcapstone.a' is up to date.
> Generic targets:
> all - Build all
> dir/file.o - Build specified target only
> install - Install QEMU, documentation and tools
> ctags/TAGS - Generate tags file for editors
> cscope - Generate cscope index
> [...]
>
> after:
>
> $ make help
> Generic targets:
> all - Build all
> dir/file.o - Build specified target only
> install - Install QEMU, documentation and tools
> ctags/TAGS - Generate tags file for editors
> cscope - Generate cscope index
> [...]
>
> Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 0496c5057a..7850ca5928 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -6,7 +6,7 @@ BUILD_DIR=$(CURDIR)
> # Before including a proper config-host.mak, assume we are in the source tree
> SRC_PATH=.
>
> -UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-%
> +UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-% help
>
> # All following code might depend on configuration variables
> ifneq ($(wildcard config-host.mak),)
>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH] Makefile: simpler/faster "make help"
2017-11-08 3:20 [Qemu-devel] [PATCH] Makefile: simpler/faster "make help" Philippe Mathieu-Daudé
2017-11-08 9:19 ` Daniel P. Berrange
2017-11-08 10:52 ` [Qemu-devel] [Qemu-trivial] " Laurent Vivier
@ 2017-11-08 14:43 ` Stefan Hajnoczi
2017-11-09 6:40 ` Fam Zheng
3 siblings, 0 replies; 6+ messages in thread
From: Stefan Hajnoczi @ 2017-11-08 14:43 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Richard Henderson, Daniel P . Berrange, Fam Zheng,
Eric Blake, qemu-devel, qemu-trivial, Markus Armbruster,
Paolo Bonzini
[-- Attachment #1: Type: text/plain, Size: 576 bytes --]
On Wed, Nov 08, 2017 at 12:20:52AM -0300, Philippe Mathieu-Daudé wrote:
> Using obscure black magic introduced in eaa2ddbb767 :)
>
> In an out-of-tree directory, running "../configure && make help" will generate
> some required files (.mak), then clone some submodules, compile at least
> the capstone submodule, generate QMP and Trace files, and finally display
> the help.
>
> On an outdated computer (Sun Blade workstation), running "make help" took
> more than 5h :) With this patch it took roughly 37min.
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH] Makefile: simpler/faster "make help"
2017-11-08 3:20 [Qemu-devel] [PATCH] Makefile: simpler/faster "make help" Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2017-11-08 14:43 ` [Qemu-devel] " Stefan Hajnoczi
@ 2017-11-09 6:40 ` Fam Zheng
2017-11-09 9:48 ` Paolo Bonzini
3 siblings, 1 reply; 6+ messages in thread
From: Fam Zheng @ 2017-11-09 6:40 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Richard Henderson, Daniel P . Berrange, Eric Blake,
qemu-devel, qemu-trivial, Markus Armbruster, Stefan Hajnoczi,
Paolo Bonzini
On Wed, 11/08 00:20, Philippe Mathieu-Daudé wrote:
> Using obscure black magic introduced in eaa2ddbb767 :)
That is a pretty boring one compared to the rest of our build system.
>
> In an out-of-tree directory, running "../configure && make help" will generate
> some required files (.mak), then clone some submodules, compile at least
> the capstone submodule, generate QMP and Trace files, and finally display
> the help.
>
> On an outdated computer (Sun Blade workstation), running "make help" took
> more than 5h :) With this patch it took roughly 37min.
>
> Suggested-by: Daniel P. Berrange <berrange@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>
> before:
>
> $ make help
> GEN config-host.h
> CC cs.o
> CC utils.o
> CC SStream.o
> CC MCInstrDesc.o
> CC MCRegisterInfo.o
> CC arch/ARM/ARMDisassembler.o
> CC arch/ARM/ARMInstPrinter.o
> CC arch/ARM/ARMMapping.o
> CC arch/ARM/ARMModule.o
> CC arch/AArch64/AArch64BaseInfo.o
> CC arch/AArch64/AArch64Disassembler.o
> CC arch/AArch64/AArch64InstPrinter.o
> CC arch/AArch64/AArch64Mapping.o
> CC arch/AArch64/AArch64Module.o
> CC arch/Mips/MipsDisassembler.o
> CC arch/Mips/MipsInstPrinter.o
> CC arch/Mips/MipsMapping.o
> CC arch/Mips/MipsModule.o
> CC arch/PowerPC/PPCDisassembler.o
> CC arch/PowerPC/PPCInstPrinter.o
> CC arch/PowerPC/PPCMapping.o
> CC arch/PowerPC/PPCModule.o
> CC arch/Sparc/SparcDisassembler.o
> CC arch/Sparc/SparcInstPrinter.o
> CC arch/Sparc/SparcMapping.o
> CC arch/Sparc/SparcModule.o
> CC arch/SystemZ/SystemZDisassembler.o
> CC arch/SystemZ/SystemZInstPrinter.o
> CC arch/SystemZ/SystemZMapping.o
> CC arch/SystemZ/SystemZModule.o
> CC arch/SystemZ/SystemZMCTargetDesc.o
> CC arch/X86/X86DisassemblerDecoder.o
> CC arch/X86/X86Disassembler.o
> CC arch/X86/X86IntelInstPrinter.o
> CC arch/X86/X86ATTInstPrinter.o
> CC arch/X86/X86Mapping.o
> CC arch/X86/X86Module.o
> CC arch/XCore/XCoreDisassembler.o
> CC arch/XCore/XCoreInstPrinter.o
> CC arch/XCore/XCoreMapping.o
> CC arch/XCore/XCoreModule.o
> CC MCInst.o
> AR libcapstone.a
> ar: creating capstone/libcapstone.a
> GEN trace/generated-tcg-tracers.h
> GEN trace/generated-helpers-wrappers.h
> GEN trace/generated-helpers.h
> GEN trace/generated-helpers.c
> GEN module_block.h
> make[1]: 'capstone/libcapstone.a' is up to date.
> Generic targets:
> all - Build all
> dir/file.o - Build specified target only
> install - Install QEMU, documentation and tools
> ctags/TAGS - Generate tags file for editors
> cscope - Generate cscope index
> [...]
>
> after:
>
> $ make help
> Generic targets:
> all - Build all
> dir/file.o - Build specified target only
> install - Install QEMU, documentation and tools
> ctags/TAGS - Generate tags file for editors
> cscope - Generate cscope index
> [...]
>
> Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 0496c5057a..7850ca5928 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -6,7 +6,7 @@ BUILD_DIR=$(CURDIR)
> # Before including a proper config-host.mak, assume we are in the source tree
> SRC_PATH=.
>
> -UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-%
> +UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-% help
>
> # All following code might depend on configuration variables
> ifneq ($(wildcard config-host.mak),)
> --
> 2.15.0
>
>
I think there are more targets that can be added to this list (vm-test for one)
but this is already an improvement:
Reviewed-by: Fam Zheng <famz@redhat.com>
So who is the maintainer to merge this patch?
Fam
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH] Makefile: simpler/faster "make help"
2017-11-09 6:40 ` Fam Zheng
@ 2017-11-09 9:48 ` Paolo Bonzini
0 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2017-11-09 9:48 UTC (permalink / raw)
To: Fam Zheng, Philippe Mathieu-Daudé
Cc: Peter Maydell, Richard Henderson, Daniel P . Berrange, Eric Blake,
qemu-devel, qemu-trivial, Markus Armbruster, Stefan Hajnoczi
On 09/11/2017 07:40, Fam Zheng wrote:
> On Wed, 11/08 00:20, Philippe Mathieu-Daudé wrote:
>> Using obscure black magic introduced in eaa2ddbb767 :)
>
> That is a pretty boring one compared to the rest of our build system.
>
>>
>> In an out-of-tree directory, running "../configure && make help" will generate
>> some required files (.mak), then clone some submodules, compile at least
>> the capstone submodule, generate QMP and Trace files, and finally display
>> the help.
>>
>> On an outdated computer (Sun Blade workstation), running "make help" took
>> more than 5h :) With this patch it took roughly 37min.
>>
>> Suggested-by: Daniel P. Berrange <berrange@redhat.com>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>>
>> before:
>>
>> $ make help
>> GEN config-host.h
>> CC cs.o
>> CC utils.o
>> CC SStream.o
>> CC MCInstrDesc.o
>> CC MCRegisterInfo.o
>> CC arch/ARM/ARMDisassembler.o
>> CC arch/ARM/ARMInstPrinter.o
>> CC arch/ARM/ARMMapping.o
>> CC arch/ARM/ARMModule.o
>> CC arch/AArch64/AArch64BaseInfo.o
>> CC arch/AArch64/AArch64Disassembler.o
>> CC arch/AArch64/AArch64InstPrinter.o
>> CC arch/AArch64/AArch64Mapping.o
>> CC arch/AArch64/AArch64Module.o
>> CC arch/Mips/MipsDisassembler.o
>> CC arch/Mips/MipsInstPrinter.o
>> CC arch/Mips/MipsMapping.o
>> CC arch/Mips/MipsModule.o
>> CC arch/PowerPC/PPCDisassembler.o
>> CC arch/PowerPC/PPCInstPrinter.o
>> CC arch/PowerPC/PPCMapping.o
>> CC arch/PowerPC/PPCModule.o
>> CC arch/Sparc/SparcDisassembler.o
>> CC arch/Sparc/SparcInstPrinter.o
>> CC arch/Sparc/SparcMapping.o
>> CC arch/Sparc/SparcModule.o
>> CC arch/SystemZ/SystemZDisassembler.o
>> CC arch/SystemZ/SystemZInstPrinter.o
>> CC arch/SystemZ/SystemZMapping.o
>> CC arch/SystemZ/SystemZModule.o
>> CC arch/SystemZ/SystemZMCTargetDesc.o
>> CC arch/X86/X86DisassemblerDecoder.o
>> CC arch/X86/X86Disassembler.o
>> CC arch/X86/X86IntelInstPrinter.o
>> CC arch/X86/X86ATTInstPrinter.o
>> CC arch/X86/X86Mapping.o
>> CC arch/X86/X86Module.o
>> CC arch/XCore/XCoreDisassembler.o
>> CC arch/XCore/XCoreInstPrinter.o
>> CC arch/XCore/XCoreMapping.o
>> CC arch/XCore/XCoreModule.o
>> CC MCInst.o
>> AR libcapstone.a
>> ar: creating capstone/libcapstone.a
>> GEN trace/generated-tcg-tracers.h
>> GEN trace/generated-helpers-wrappers.h
>> GEN trace/generated-helpers.h
>> GEN trace/generated-helpers.c
>> GEN module_block.h
>> make[1]: 'capstone/libcapstone.a' is up to date.
>> Generic targets:
>> all - Build all
>> dir/file.o - Build specified target only
>> install - Install QEMU, documentation and tools
>> ctags/TAGS - Generate tags file for editors
>> cscope - Generate cscope index
>> [...]
>>
>> after:
>>
>> $ make help
>> Generic targets:
>> all - Build all
>> dir/file.o - Build specified target only
>> install - Install QEMU, documentation and tools
>> ctags/TAGS - Generate tags file for editors
>> cscope - Generate cscope index
>> [...]
>>
>> Makefile | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/Makefile b/Makefile
>> index 0496c5057a..7850ca5928 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -6,7 +6,7 @@ BUILD_DIR=$(CURDIR)
>> # Before including a proper config-host.mak, assume we are in the source tree
>> SRC_PATH=.
>>
>> -UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-%
>> +UNCHECKED_GOALS := %clean TAGS cscope ctags docker docker-% help
>>
>> # All following code might depend on configuration variables
>> ifneq ($(wildcard config-host.mak),)
>> --
>> 2.15.0
>>
>>
>
> I think there are more targets that can be added to this list (vm-test for one)
> but this is already an improvement:
>
> Reviewed-by: Fam Zheng <famz@redhat.com>
>
> So who is the maintainer to merge this patch?
I can do it.
Paolo
^ permalink raw reply [flat|nested] 6+ messages in thread