[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Makefile: simpler/faster "make help"
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH] Makefile: simpler/faster "make help" |
Date: |
Thu, 9 Nov 2017 14:40:38 +0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
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?
Fam