All of lore.kernel.org
 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 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.