Re: [PATCH 00/15] kbuild: various cleanups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Aug 28, 2022 at 11:40 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
>   - 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



I moved 01-08 to for-next.

10 broke single target builds.

I will send v2 for the rest.






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


-- 
Best Regards
Masahiro Yamada



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux