LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: linux-kbuild@vger.kernel.org
Cc: Joe Lawrence <joe.lawrence@redhat.com>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Michal Marek <michal.lkml@markovi.net>,
linux-kernel@vger.kernel.org
Subject: [PATCH v3 01/12] kbuild: do not create empty modules.order in the prepare stage
Date: Wed, 17 Jul 2019 15:17:49 +0900 [thread overview]
Message-ID: <20190717061800.10018-2-yamada.masahiro@socionext.com> (raw)
In-Reply-To: <20190717061800.10018-1-yamada.masahiro@socionext.com>
Currently, $(objtree)/modules.order is touched in two places.
In the 'prepare0' rule, scripts/Makefile.build creates an empty
modules.order while processing 'obj=.'
In the 'modules' rule, the top-level Makefile overwrites it with
the correct list of modules.
While this might be a good side-effect that modules.order is made
empty every time (probably this is not intended functionality),
I personally do not like this behavior.
Create modules.order only when it is sensible to do so.
This avoids creating the following pointless files:
scripts/basic/modules.order
scripts/dtc/modules.order
scripts/gcc-plugins/modules.order
scripts/genksyms/modules.order
scripts/mod/modules.order
scripts/modules.order
scripts/selinux/genheaders/modules.order
scripts/selinux/mdp/modules.order
scripts/selinux/modules.order
Going forward, $(objtree)/modules.order lists the modules that
was built in the last successful build.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
Changes in v3: None
Changes in v2:
- inverted the logic "preparing" -> need-modorder
Makefile | 4 ++--
scripts/Makefile.build | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index e43285786102..b74a6e9cefc8 100644
--- a/Makefile
+++ b/Makefile
@@ -1072,7 +1072,7 @@ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ;
PHONY += $(vmlinux-dirs)
$(vmlinux-dirs): prepare
- $(Q)$(MAKE) $(build)=$@ need-builtin=1
+ $(Q)$(MAKE) $(build)=$@ need-builtin=1 need-modorder=1
filechk_kernel.release = \
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
@@ -1616,7 +1616,7 @@ $(objtree)/Module.symvers:
module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD))
PHONY += $(module-dirs) modules
$(module-dirs): prepare $(objtree)/Module.symvers
- $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
+ $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) need-modorder=1
modules: $(module-dirs)
@$(kecho) ' Building modules, stage 2.';
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 5829ccbc7dd0..631bb89524de 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -63,7 +63,7 @@ ifneq ($(strip $(real-obj-y) $(need-builtin)),)
builtin-target := $(obj)/built-in.a
endif
-ifdef CONFIG_MODULES
+ifeq ($(CONFIG_MODULES)$(need-modorder),y1)
modorder-target := $(obj)/modules.order
endif
--
2.17.1
next prev parent reply other threads:[~2019-07-17 6:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-17 6:17 [PATCH v3 00/12] kbuild: create *.mod with directory path and remove MODVERDIR Masahiro Yamada
2019-07-17 6:17 ` Masahiro Yamada [this message]
2019-07-17 6:17 ` [PATCH v3 02/12] kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin} Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 03/12] kbuild: remove duplication from modules.order in sub-directories Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 04/12] scsi: remove pointless $(MODVERDIR)/$(obj)/53c700.ver Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 05/12] kbuild: modinst: read modules.order instead of $(MODVERDIR)/*.mod Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 06/12] kbuild: modsign: " Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 07/12] kbuild: modpost: " Masahiro Yamada
2019-07-25 8:39 ` Jan Kiszka
2019-07-25 15:18 ` Masahiro Yamada
2019-07-25 15:27 ` Jan Kiszka
2019-07-25 15:49 ` Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 08/12] kbuild: export_report: read modules.order instead of .tmp_versions/*.mod Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 09/12] kbuild: create *.mod with full directory path and remove MODVERDIR Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 10/12] kbuild: remove the first line of *.mod files Masahiro Yamada
2019-07-17 6:17 ` [PATCH v3 11/12] kbuild: remove 'prepare1' target Masahiro Yamada
2019-07-17 6:18 ` [PATCH v3 12/12] kbuild: split out *.mod out of {single,multi}-used-m rules 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=20190717061800.10018-2-yamada.masahiro@socionext.com \
--to=yamada.masahiro@socionext.com \
--cc=joe.lawrence@redhat.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.lkml@markovi.net \
--subject='Re: [PATCH v3 01/12] kbuild: do not create empty modules.order in the prepare stage' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).