Disable clean, scripts, oldconfig, prepare targets for kernel-devel rpms Signed-off-by: Thomas Backlund <tmb@mageia.org> --- Makefile | 57 ++++++++++++++++++--------------------------------------- 1 file changed, 18 insertions(+), 39 deletions(-) diff -Nurp linux-6.5.orig/Makefile linux-6.5/Makefile --- linux-6.5.orig/Makefile 2023-09-15 21:42:31.265415046 +0300 +++ linux-6.5/Makefile 2023-09-15 22:25:22.137226714 +0300 @@ -698,11 +698,14 @@ ifdef config-build include $(srctree)/arch/$(SRCARCH)/Makefile export KBUILD_DEFCONFIG KBUILD_KCONFIG CC_VERSION_TEXT -config: outputmakefile scripts_basic FORCE - $(Q)$(MAKE) $(build)=scripts/kconfig $@ +config: -%config: outputmakefile scripts_basic FORCE - $(Q)$(MAKE) $(build)=scripts/kconfig $@ +%config: + +# empty targets to keep dkms happy without need for depending on +# bison and flex as kernel-devel rpms are already fully prepared +oldconfig: +syncconfig: else #!config-build # =========================================================================== @@ -801,7 +804,7 @@ $(KCONFIG_CONFIG): # # Do not use $(call cmd,...) here. That would suppress prompts from syncconfig, # so you cannot notice that Kconfig is waiting for the user input. -%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h %/generated/rustc_cfg: $(KCONFIG_CONFIG) +%/config/auto.conf %/generated/autoconf.h %/generated/rustc_cfg: $(KCONFIG_CONFIG) $(Q)$(kecho) " SYNC $@" $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig else # !may-sync-config @@ -1267,8 +1270,7 @@ include/config/kernel.release: FORCE # Carefully list dependencies so we do not try to build scripts twice # in parallel PHONY += scripts -scripts: scripts_basic scripts_dtc - $(Q)$(MAKE) $(build)=$(@) +scripts: # Things we need to do before we recursively start building the kernel # or the modules are listed in "prepare". @@ -1282,16 +1284,10 @@ archprepare: outputmakefile archheaders asm-generic $(version_h) include/generated/utsrelease.h \ include/generated/compile.h include/generated/autoconf.h remove-stale-files -prepare0: archprepare - $(Q)$(MAKE) $(build)=scripts/mod - $(Q)$(MAKE) $(build)=. prepare +prepare0: # All the preparing.. -prepare: prepare0 -ifdef CONFIG_RUST - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/rust_is_available.sh - $(Q)$(MAKE) $(build)=rust -endif +prepare: PHONY += remove-stale-files remove-stale-files: @@ -1406,7 +1402,7 @@ quiet_cmd_install = INSTALL $(INSTALL_PA # Tools ifdef CONFIG_OBJTOOL -prepare: tools/objtool +prepare: endif ifdef CONFIG_BPF @@ -1544,8 +1540,7 @@ endif modules: modules_prepare # Target to prepare building external modules -modules_prepare: prepare - $(Q)$(MAKE) $(build)=scripts scripts/module.lds +modules_prepare: export modules_sign_only := @@ -1593,22 +1588,10 @@ endif # make distclean Remove editor backup files, patch leftover files and the like # Directories & files removed with 'make clean' -CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \ - modules.builtin modules.builtin.modinfo modules.nsdeps \ - compile_commands.json .thinlto-cache rust/test \ - rust-project.json .vmlinux.objs .vmlinux.export.c +CLEAN_FILES += "" # Directories & files removed with 'make mrproper' -MRPROPER_FILES += include/config include/generated \ - arch/$(SRCARCH)/include/generated .objdiff \ - debian snap tar-install \ - .config .config.old .version \ - Module.symvers \ - certs/signing_key.pem \ - certs/x509.genkey \ - vmlinux-gdb.py \ - *.spec rpmbuild \ - rust/libmacros.so +MRPROPER_FILES += "" # clean - Delete most, but leave enough to build external modules # @@ -1624,18 +1607,14 @@ clean: archclean vmlinuxclean resolve_bt # mrproper - Delete all generated files, including .config # -mrproper: rm-files := $(wildcard $(MRPROPER_FILES)) -mrproper-dirs := $(addprefix _mrproper_,scripts) +mrproper: +mrproper-dirs := PHONY += $(mrproper-dirs) mrproper $(mrproper-dirs): $(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@) -mrproper: clean $(mrproper-dirs) - $(call cmd,rmfiles) - @find . $(RCS_FIND_IGNORE) \ - \( -name '*.rmeta' \) \ - -type f -print | xargs rm -f +mrproper: # distclean #