Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756355Ab3C1Ha2 (ORCPT ); Thu, 28 Mar 2013 03:30:28 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:64029 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1754507Ab3C1Ha1 (ORCPT ); Thu, 28 Mar 2013 03:30:27 -0400 X-IronPort-AV: E=Sophos;i="4.87,364,1363104000"; d="scan'208";a="6961689" From: liguang To: mmarek@suse.cz, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org Cc: liguang Subject: [PATCH] Makefile: allow no update .config build Date: Thu, 28 Mar 2013 15:28:06 +0800 Message-Id: <1364455686-18930-1-git-send-email-lig.fnst@cn.fujitsu.com> X-Mailer: git-send-email 1.7.2.5 X-MIMETrack: Itemize by SMTP Server on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2013/03/28 15:29:30, Serialize by Router on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2013/03/28 15:29:36, Serialize complete at 2013/03/28 15:29:36 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2137 Lines: 56 if we pull some commits from other git repo which bring in a few CONFIG_* options, then we have to build all again, but we do assure these options are not interesting for us, so the long waiting build will be offending. this change help us to avoid all-build. Signed-off-by: liguang --- Makefile | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/Makefile b/Makefile index 54d2b2a..d10e505 100644 --- a/Makefile +++ b/Makefile @@ -106,6 +106,12 @@ ifeq ("$(origin W)", "command line") export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W) endif +# KBUILD_NCU is set to do not update .config even +# a few new CONFIG_* options appeared +ifeq ("$(origin NCU)", "command line") + KBUILD_NCU := $(NCU) +endif + # That's our default target when none is given on the command line PHONY := _all _all: @@ -540,8 +546,10 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ; # with it and forgot to run make oldconfig. # if auto.conf.cmd is missing then we are probably in a cleaned tree so # we execute the config step to be sure to catch updated Kconfig files +ifneq ($(KBUILD_NCU), 1) include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig +endif # $(KBUILD_NCU) else # external modules needs include/generated/autoconf.h and include/config/auto.conf # but do not care if they are up-to-date. Use auto.conf to trigger the test @@ -1157,6 +1165,7 @@ help: @echo ' 2: warnings which occur quite often but may still be relevant' @echo ' 3: more obscure warnings, can most likely be ignored' @echo ' Multiple levels can be combined with W=12 or W=123' + @echo ' make NCU=1 [targets] no .config udate' @echo '' @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info see the ./README file' -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/