linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/15] kbuild: various cleanups
@ 2022-08-28  2:39 Masahiro Yamada
  2022-08-28  2:39 ` [PATCH 01/15] kbuild: remove duplicated dependency between modules and modules_check Masahiro Yamada
                   ` (15 more replies)
  0 siblings, 16 replies; 24+ messages in thread
From: Masahiro Yamada @ 2022-08-28  2:39 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-kernel, linux-arch, Masahiro Yamada

  - 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


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2022-11-17 11:17 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-28  2:39 [PATCH 00/15] kbuild: various cleanups Masahiro Yamada
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

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).