All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: linux-kbuild@vger.kernel.org
Cc: Dirk Gouders <dirk@gouders.net>,
	Ulf Magnusson <ulfalizer@gmail.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>,
	linux-kernel@vger.kernel.org
Subject: [PATCH v4 11/11] kbuild: remove auto.conf from prerequisite of phony targets
Date: Fri, 20 Jul 2018 16:46:36 +0900	[thread overview]
Message-ID: <1532072796-7947-12-git-send-email-yamada.masahiro@socionext.com> (raw)
In-Reply-To: <1532072796-7947-1-git-send-email-yamada.masahiro@socionext.com>

The top-level Makefile adds include/config/auto.conf as
prerequisites of 'scripts', 'prepare1', etc.

They were needed to terminate the build when include/config/auto.conf
is missing.

Now that the inclusion of include/config/auto.conf is mandatory
in the top-level Makefile if dot-config is 1 (Note 'include' directive
is used instead of '-include').

Make terminates the build by itself if it fails to create or update
include/config/auto.conf so we are sure that include/config/auto.conf
exists in the very first stage of make.

I am still keeping include/config/auto.conf as the prerequisite of
%/modules.builtin because modules.builtin is a real file.  According
to commit a6c366324cac ("kbuild: Do not unnecessarily regenerate
modules.builtin"), it is intentional to compare time-stamps between
%/modules.builtin and include/config/auto.conf .  I moved tristate.conf
here because it is only included from scripts/Makefile.modbuiltin.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

Changes in v4: None

 Makefile | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index 0ec1c27..ceb9c1e 100644
--- a/Makefile
+++ b/Makefile
@@ -650,10 +650,6 @@ include/config/auto.conf:
 	/bin/false)
 
 endif # may-sync-config
-
-else
-# Dummy target needed, because used as prerequisite
-include/config/auto.conf: ;
 endif # $(dot-config)
 
 KBUILD_CFLAGS	+= $(call cc-option,-fno-delete-null-pointer-checks,)
@@ -1048,15 +1044,14 @@ define filechk_kernel.release
 endef
 
 # Store (new) KERNELRELEASE string in include/config/kernel.release
-include/config/kernel.release: include/config/auto.conf FORCE
+include/config/kernel.release: $(srctree)/Makefile FORCE
 	$(call filechk,kernel.release)
 
 # Additional helpers built in scripts/
 # Carefully list dependencies so we do not try to build scripts twice
 # in parallel
 PHONY += scripts
-scripts: scripts_basic include/config/auto.conf include/config/tristate.conf \
-	 asm-generic gcc-plugins $(autoksyms_h)
+scripts: scripts_basic asm-generic gcc-plugins $(autoksyms_h)
 	$(Q)$(MAKE) $(build)=$(@)
 
 # Things we need to do before we recursively start building the kernel
@@ -1086,8 +1081,7 @@ endif
 # that need to depend on updated CONFIG_* values can be checked here.
 prepare2: prepare3 outputmakefile asm-generic
 
-prepare1: prepare2 $(version_h) $(autoksyms_h) include/generated/utsrelease.h \
-                   include/config/auto.conf
+prepare1: prepare2 $(version_h) $(autoksyms_h) include/generated/utsrelease.h
 	$(cmd_crmodverdir)
 
 archprepare: archheaders archscripts prepare1 scripts_basic
@@ -1225,7 +1219,7 @@ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
 modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
 	$(Q)$(AWK) '!x[$$0]++' $^ > $(objtree)/modules.builtin
 
-%/modules.builtin: include/config/auto.conf
+%/modules.builtin: include/config/auto.conf include/config/tristate.conf
 	$(Q)$(MAKE) $(modbuiltin)=$*
 
 
-- 
2.7.4


  parent reply	other threads:[~2018-07-20  7:48 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-20  7:46 [PATCH v4 00/11] kbuild/kconfig: do not update config during installation Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 01/11] kconfig: rename file_write_dep and move it to confdata.c Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 02/11] kconfig: split out useful helpers in confdata.c Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 03/11] kconfig: remove unneeded directory generation from local*config Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 04/11] kconfig: create directories needed for syncconfig by itself Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 05/11] kconfig: make syncconfig update .config regardless of sym_change_count Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 06/11] kconfig: allow all config targets to write auto.conf if missing Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 07/11] kbuild: use 'include' directive to load auto.conf from top Makefile Masahiro Yamada
2018-09-03  9:39   ` Borislav Petkov
2018-09-03  9:54     ` Masahiro Yamada
2018-09-03 10:00       ` Borislav Petkov
2018-09-05 22:53         ` Segher Boessenkool
2018-09-06  0:46           ` Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 08/11] kbuild: add .DELETE_ON_ERROR special target Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 09/11] kbuild: do not update config when running install targets Masahiro Yamada
2018-07-20  7:46 ` [PATCH v4 10/11] kbuild: do not update config for 'make kernelrelease' Masahiro Yamada
2018-07-20  7:46 ` Masahiro Yamada [this message]
2018-07-25 14:40 ` [PATCH v4 00/11] kbuild/kconfig: do not update config during installation Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1532072796-7947-12-git-send-email-yamada.masahiro@socionext.com \
    --to=yamada.masahiro@socionext.com \
    --cc=dirk@gouders.net \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=sam@ravnborg.org \
    --cc=ulfalizer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.