Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

kbuild: Really don't clean bounds.h and asm-offsets.h

Commit 7d3cc8b tried to keep bounds.h and asm-offsets.h during make
clean by filtering these out of $(clean-files), but they are listed in
$(targets) and $(always) and thus removed automatically. Introduce a new
$(no-clean-files) variable to really skip such files in Makefile.clean.

Signed-off-by: Michal Marek <mmarek@suse.cz>

+11 -2
+7
Documentation/kbuild/makefiles.txt
··· 779 779 Kbuild will assume the directories to be in the same relative path as the 780 780 Makefile if no absolute path is specified (path does not start with '/'). 781 781 782 + To exclude certain files from make clean, use the $(no-clean-files) variable. 783 + This is only a special case used in the top level Kbuild file: 784 + 785 + Example: 786 + #Kbuild 787 + no-clean-files := $(bounds-file) $(offsets-file) 788 + 782 789 Usually kbuild descends down in subdirectories due to "obj-* := dir/", 783 790 but in the architecture makefiles where the kbuild infrastructure 784 791 is not sufficient this sometimes needs to be explicit.
+2 -2
Kbuild
··· 94 94 missing-syscalls: scripts/checksyscalls.sh FORCE 95 95 $(call cmd,syscalls) 96 96 97 - # Delete all targets during make clean 98 - clean-files := $(addprefix $(objtree)/,$(filter-out $(bounds-file) $(offsets-file),$(targets))) 97 + # Keep these two files during make clean 98 + no-clean-files := $(bounds-file) $(offsets-file)
+2
scripts/Makefile.clean
··· 45 45 $(host-progs) \ 46 46 $(hostprogs-y) $(hostprogs-m) $(hostprogs-) 47 47 48 + __clean-files := $(filter-out $(no-clean-files), $(__clean-files)) 49 + 48 50 # as clean-files is given relative to the current directory, this adds 49 51 # a $(obj) prefix, except for absolute paths 50 52