diff options
| -rw-r--r-- | Documentation/kbuild/makefiles.txt | 7 | ||||
| -rw-r--r-- | Kbuild | 4 | ||||
| -rw-r--r-- | scripts/Makefile.clean | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt index 01351554df60..fcd1a981523a 100644 --- a/Documentation/kbuild/makefiles.txt +++ b/Documentation/kbuild/makefiles.txt | |||
| @@ -779,6 +779,13 @@ This will delete the directory debian, including all subdirectories. | |||
| 779 | Kbuild will assume the directories to be in the same relative path as the | 779 | Kbuild will assume the directories to be in the same relative path as the |
| 780 | Makefile if no absolute path is specified (path does not start with '/'). | 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 | Usually kbuild descends down in subdirectories due to "obj-* := dir/", | 789 | Usually kbuild descends down in subdirectories due to "obj-* := dir/", |
| 783 | but in the architecture makefiles where the kbuild infrastructure | 790 | but in the architecture makefiles where the kbuild infrastructure |
| 784 | is not sufficient this sometimes needs to be explicit. | 791 | is not sufficient this sometimes needs to be explicit. |
| @@ -94,5 +94,5 @@ PHONY += missing-syscalls | |||
| 94 | missing-syscalls: scripts/checksyscalls.sh FORCE | 94 | missing-syscalls: scripts/checksyscalls.sh FORCE |
| 95 | $(call cmd,syscalls) | 95 | $(call cmd,syscalls) |
| 96 | 96 | ||
| 97 | # Delete all targets during make clean | 97 | # Keep these two files during make clean |
| 98 | clean-files := $(addprefix $(objtree)/,$(filter-out $(bounds-file) $(offsets-file),$(targets))) | 98 | no-clean-files := $(bounds-file) $(offsets-file) |
diff --git a/scripts/Makefile.clean b/scripts/Makefile.clean index 6f89fbb56256..686cb0d31c7c 100644 --- a/scripts/Makefile.clean +++ b/scripts/Makefile.clean | |||
| @@ -45,6 +45,8 @@ __clean-files := $(extra-y) $(always) \ | |||
| 45 | $(host-progs) \ | 45 | $(host-progs) \ |
| 46 | $(hostprogs-y) $(hostprogs-m) $(hostprogs-) | 46 | $(hostprogs-y) $(hostprogs-m) $(hostprogs-) |
| 47 | 47 | ||
| 48 | __clean-files := $(filter-out $(no-clean-files), $(__clean-files)) | ||
| 49 | |||
| 48 | # as clean-files is given relative to the current directory, this adds | 50 | # as clean-files is given relative to the current directory, this adds |
| 49 | # a $(obj) prefix, except for absolute paths | 51 | # a $(obj) prefix, except for absolute paths |
| 50 | 52 | ||
