Commit ef8ff89b58546055e238c3b521f83b440dfe8ef2

Authored by Michal Marek
1 parent 2d74b2c62c

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>

Showing 3 changed files with 11 additions and 2 deletions Side-by-side Diff

Documentation/kbuild/makefiles.txt
... ... @@ -779,6 +779,13 @@
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.
... ... @@ -94,6 +94,6 @@
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)
scripts/Makefile.clean
... ... @@ -45,6 +45,8 @@
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