From: Masahiro Yamada <masahiroy@kernel.org>
To: linux-kbuild@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
Masahiro Yamada <masahiroy@kernel.org>
Subject: [PATCH 00/15] kbuild: various cleanups
Date: Sun, 28 Aug 2022 11:39:48 +0900 [thread overview]
Message-ID: <20220828024003.28873-1-masahiroy@kernel.org> (raw)
- Avoid updating init/built-in.a twice
- Run modpost just once instead of twice
- Link vmlinux and modules in parallel
- Remove head-y syntax
These are ground works to make the further refactoring possible.
This patch set is applicable after the following series:
https://patchwork.kernel.org/project/linux-kbuild/list/?series=669437
Masahiro Yamada (15):
kbuild: remove duplicated dependency between modules and modules_check
kbuild: refactor single builds of *.ko
kbuild: move 'PHONY += modules_prepare' to the common part
init/version.c: remove #include <linux/version.h>
kbuild: build init/built-in.a just once
kbuild: generate include/generated/compile.h in top Makefile
scripts/mkcompile_h: move LC_ALL=C to '$LD -v'
Revert "kbuild: Make scripts/compile.h when sh != bash"
kbuild: rename modules.order in sub-directories to .modules.order
kbuild: move core-y in top Makefile to ./Kbuild
kbuild: move .vmlinux.objs rule to Makefile.modpost
kbuild: move vmlinux.o rule to the top Makefile
kbuild: unify two modpost invocations
kbuild: use obj-y instead extra-y for objects placed at the head
kbuild: remove head-y syntax
Documentation/kbuild/makefiles.rst | 27 +----
Kbuild | 16 +++
Makefile | 120 ++++++++++++--------
arch/alpha/Makefile | 2 -
arch/alpha/kernel/Makefile | 4 +-
arch/arc/Makefile | 2 -
arch/arc/kernel/Makefile | 4 +-
arch/arm/Makefile | 3 -
arch/arm/kernel/Makefile | 4 +-
arch/arm64/Makefile | 3 -
arch/arm64/kernel/Makefile | 4 +-
arch/csky/Makefile | 2 -
arch/csky/kernel/Makefile | 4 +-
arch/hexagon/Makefile | 2 -
arch/hexagon/kernel/Makefile | 3 +-
arch/ia64/Makefile | 1 -
arch/ia64/kernel/Makefile | 4 +-
arch/loongarch/Makefile | 2 -
arch/loongarch/kernel/Makefile | 4 +-
arch/m68k/68000/Makefile | 2 +-
arch/m68k/Makefile | 9 --
arch/m68k/coldfire/Makefile | 2 +-
arch/m68k/kernel/Makefile | 21 ++--
arch/microblaze/Makefile | 1 -
arch/microblaze/kernel/Makefile | 4 +-
arch/mips/Makefile | 2 -
arch/mips/kernel/Makefile | 4 +-
arch/nios2/Makefile | 1 -
arch/nios2/kernel/Makefile | 2 +-
arch/openrisc/Makefile | 2 -
arch/openrisc/kernel/Makefile | 4 +-
arch/parisc/Makefile | 2 -
arch/parisc/kernel/Makefile | 4 +-
arch/powerpc/Makefile | 12 --
arch/powerpc/kernel/Makefile | 22 ++--
arch/riscv/Makefile | 2 -
arch/riscv/kernel/Makefile | 2 +-
arch/s390/Makefile | 2 -
arch/s390/boot/version.c | 1 +
arch/s390/kernel/Makefile | 4 +-
arch/sh/Makefile | 2 -
arch/sh/kernel/Makefile | 4 +-
arch/sparc/Makefile | 2 -
arch/sparc/kernel/Makefile | 3 +-
arch/x86/Makefile | 5 -
arch/x86/boot/compressed/kaslr.c | 1 +
arch/x86/boot/version.c | 1 +
arch/x86/kernel/Makefile | 10 +-
arch/xtensa/Makefile | 2 -
arch/xtensa/kernel/Makefile | 4 +-
init/Makefile | 55 ++++++---
init/build-version | 10 ++
init/version-timestamp.c | 31 +++++
init/version.c | 37 +++---
scripts/Makefile.build | 20 ++--
scripts/Makefile.lib | 8 +-
scripts/Makefile.modfinal | 2 +-
scripts/Makefile.modpost | 112 ++++++++----------
scripts/Makefile.vmlinux_o | 6 +-
scripts/clang-tools/gen_compile_commands.py | 19 +---
scripts/head-object-list.txt | 53 +++++++++
scripts/link-vmlinux.sh | 51 ++-------
scripts/mkcompile_h | 96 ++--------------
63 files changed, 393 insertions(+), 457 deletions(-)
create mode 100755 init/build-version
create mode 100644 init/version-timestamp.c
create mode 100644 scripts/head-object-list.txt
--
2.34.1
next reply other threads:[~2022-08-28 2:40 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-28 2:39 Masahiro Yamada [this message]
2022-08-28 2:39 ` [PATCH 01/15] kbuild: remove duplicated dependency between modules and modules_check Masahiro Yamada
2022-08-28 2:39 ` [PATCH 02/15] kbuild: refactor single builds of *.ko Masahiro Yamada
2022-08-28 2:39 ` [PATCH 03/15] kbuild: move 'PHONY += modules_prepare' to the common part Masahiro Yamada
2022-08-28 2:39 ` [PATCH 04/15] init/version.c: remove #include <linux/version.h> Masahiro Yamada
2022-08-28 2:39 ` [PATCH 05/15] kbuild: build init/built-in.a just once Masahiro Yamada
2022-09-02 9:41 ` Masahiro Yamada
2022-09-13 8:32 ` Nathan Chancellor
2022-09-13 11:07 ` Masahiro Yamada
2022-09-14 9:46 ` David Laight
2022-09-14 13:00 ` Masahiro Yamada
2022-11-17 10:00 ` Jon Hunter
2022-11-17 11:08 ` Masahiro Yamada
2022-08-28 2:39 ` [PATCH 06/15] kbuild: generate include/generated/compile.h in top Makefile Masahiro Yamada
2022-08-28 2:39 ` [PATCH 07/15] scripts/mkcompile_h: move LC_ALL=C to '$LD -v' Masahiro Yamada
2022-08-28 2:39 ` [PATCH 08/15] Revert "kbuild: Make scripts/compile.h when sh != bash" Masahiro Yamada
2022-08-28 2:39 ` [PATCH 09/15] kbuild: rename modules.order in sub-directories to .modules.order Masahiro Yamada
2022-08-28 2:39 ` [PATCH 10/15] kbuild: move core-y in top Makefile to ./Kbuild Masahiro Yamada
2022-08-28 2:39 ` [PATCH 11/15] kbuild: move .vmlinux.objs rule to Makefile.modpost Masahiro Yamada
2022-08-28 2:40 ` [PATCH 12/15] kbuild: move vmlinux.o rule to the top Makefile Masahiro Yamada
2022-08-28 2:40 ` [PATCH 13/15] kbuild: unify two modpost invocations Masahiro Yamada
2022-08-28 2:40 ` [PATCH 14/15] kbuild: use obj-y instead extra-y for objects placed at the head Masahiro Yamada
2022-08-28 2:40 ` [PATCH 15/15] kbuild: remove head-y syntax Masahiro Yamada
2022-09-06 5:37 ` [PATCH 00/15] kbuild: various cleanups 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=20220828024003.28873-1-masahiroy@kernel.org \
--to=masahiroy@kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox