]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
kbuild: Add top-level target for building gen_init_cpio
authorNicolas Schier <nsc@kernel.org>
Fri, 28 Nov 2025 20:01:55 +0000 (21:01 +0100)
committerNathan Chancellor <nathan@kernel.org>
Fri, 19 Dec 2025 21:58:11 +0000 (14:58 -0700)
Add a top-level target for building gen_init_cpio to prevent re-entering
kbuild for 'modules-cpio-pkg'.

The recently introduced target 'modules-cpio-pkg' depends on
gen_init_cpio but there is no simple way to add this dependency as a
prerequisite that can be built in parallel to other recipes.

Introducing the top-level target, enables fixing this and also prepares
a possible move of gen_init_cpio from usr/ to scripts/.

Signed-off-by: Nicolas Schier <nsc@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Link: https://patch.msgid.link/20251128-kbuild-add-top-level-target-for-building-gen_init_cpio-v1-1-84c63a8fc8d4@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Makefile
scripts/Makefile.package

index e404e4767944ed158560228304fc862b7fbfd83e..ad91e6a936aa082dc5b0d0d1506070d2360cfc69 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1417,6 +1417,10 @@ ifdef CONFIG_HEADERS_INSTALL
 prepare: headers
 endif
 
+PHONY += usr_gen_init_cpio
+usr_gen_init_cpio: scripts_basic
+       $(Q)$(MAKE) $(build)=usr usr/gen_init_cpio
+
 PHONY += scripts_unifdef
 scripts_unifdef: scripts_basic
        $(Q)$(MAKE) $(build)=scripts scripts/unifdef
@@ -1669,6 +1673,8 @@ distclean: mrproper
 # Packaging of the kernel to various formats
 # ---------------------------------------------------------------------------
 
+modules-cpio-pkg: usr_gen_init_cpio
+
 %src-pkg: FORCE
        $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
 %pkg: include/config/kernel.release FORCE
index 83bfcf7cb09fd2d69b97e0c19a2b99c728835e8d..0ec946f9b905f74f8698d8d6967d22f5b76f64e0 100644 (file)
@@ -201,7 +201,6 @@ quiet_cmd_cpio = CPIO    $@
       cmd_cpio = $(CONFIG_SHELL) $(srctree)/usr/gen_initramfs.sh -o $@ $<
 
 modules-$(KERNELRELEASE)-$(ARCH).cpio: .tmp_modules_cpio
-       $(Q)$(MAKE) $(build)=usr usr/gen_init_cpio
        $(call cmd,cpio)
 
 PHONY += modules-cpio-pkg