qemu-trivial
[Top][All Lists]
Advanced

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

Re: [Qemu-trivial] [Qemu-devel] [PATCH] Makefile: simpler/faster "make h


From: Paolo Bonzini
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH] Makefile: simpler/faster "make help"
Date: Thu, 9 Nov 2017 10:48:55 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

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 <address@hidden>
>> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
>> ---
>>
>> 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 <address@hidden>
> 
> So who is the maintainer to merge this patch?

I can do it.

Paolo



reply via email to

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