Commit ef8ff89b58546055e238c3b521f83b440dfe8ef2
1 parent
2d74b2c62c
Exists in
master
and in
20 other branches
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. |
Kbuild
... | ... | @@ -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 |