Commit 1634f2bf authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: remove clean-dirs syntax



The only the difference between clean-files and clean-dirs is the -r
option passed to the 'rm' command.

You can always pass -r, and then remove the clean-dirs syntax.

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 36de077b
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -750,7 +750,8 @@ Files matching the patterns "*.[oas]", "*.ko", plus some additional files
generated by kbuild are deleted all over the kernel src tree when
"make clean" is executed.

Additional files can be specified in kbuild makefiles by use of $(clean-files).
Additional files or directories can be specified in kbuild makefiles by use of
$(clean-files).

	Example::

@@ -761,17 +762,8 @@ When executing "make clean", the file "crc32table.h" will be deleted.
Kbuild will assume files to be in the same relative directory as the
Makefile, except if prefixed with $(objtree).

To delete a directory hierarchy use:

	Example::

		#scripts/package/Makefile
		clean-dirs := $(objtree)/debian/

This will delete the directory debian in the toplevel directory, including all
subdirectories.

To exclude certain files from make clean, use the $(no-clean-files) variable.
To exclude certain files or directories from make clean, use the
$(no-clean-files) variable.

Usually kbuild descends down in subdirectories due to "obj-* := dir/",
but in the architecture makefiles where the kbuild infrastructure
+2 −14
Original line number Diff line number Diff line
@@ -52,26 +52,14 @@ __clean-files := $(wildcard \
		   $(addprefix $(obj)/, $(filter-out $(objtree)/%, $(__clean-files))) \
		   $(filter $(objtree)/%, $(__clean-files)))

# same as clean-files

__clean-dirs    := $(wildcard                                               \
		   $(addprefix $(obj)/, $(filter-out $(objtree)/%, $(clean-dirs)))    \
		   $(filter $(objtree)/%, $(clean-dirs)))

# ==========================================================================

quiet_cmd_clean = CLEAN   $(obj)
      cmd_clean    = rm -f $(__clean-files)
quiet_cmd_cleandir = CLEAN   $(__clean-dirs)
      cmd_cleandir = rm -rf $(__clean-dirs)

      cmd_clean = rm -rf $(__clean-files)

__clean: $(subdir-ymn)
ifneq ($(strip $(__clean-files)),)
	+$(call cmd,clean)
endif
ifneq ($(strip $(__clean-dirs)),)
	+$(call cmd,cleandir)
endif
	@:

+1 −1
Original line number Diff line number Diff line
@@ -114,7 +114,7 @@ testconfig: $(obj)/conf
	$(PYTHON3) -B -m pytest $(srctree)/$(src)/tests \
	-o cache_dir=$(abspath $(obj)/tests/.cache) \
	$(if $(findstring 1,$(KBUILD_VERBOSE)),--capture=no)
clean-dirs += tests/.cache
clean-files += tests/.cache

# Help text used by make help
help:
+1 −3
Original line number Diff line number Diff line
@@ -115,6 +115,4 @@ header-test-y += $(filter-out $(header-test-), \
			$(patsubst $(obj)/%,%, $(wildcard \
			$(addprefix $(obj)/, *.h */*.h */*/*.h */*/*/*.h))))

# For GNU Make <= 4.2.1, $(wildcard $(obj)/*/) matches to not only directories
# but also regular files. Use $(filter %/, ...) just in case.
clean-dirs += $(patsubst $(obj)/%/,%,$(filter %/, $(wildcard $(obj)/*/)))
clean-files += $(filter-out Makefile, $(notdir $(wildcard $(obj)/*)))