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