[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-trivial] [PATCH] Makefile: simpler/faster "make h
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [Qemu-trivial] [PATCH] Makefile: simpler/faster "make help" |
Date: |
Wed, 8 Nov 2017 11:52:30 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 |
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 <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),)
>
Reviewed-by: Laurent Vivier <address@hidden>