forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kbuild: add a script to remove stale generated files
We maintain .gitignore and Makefiles so build artifacts are properly ignored by Git, and cleaned up by 'make clean'. However, the code is always changing; generated files are often moved to another directory, or removed when they become unnecessary. Such garbage files tend to be left over in the source tree because people usually git-pull without cleaning the tree. This is not only the noise for 'git status', but also a build issue in some cases. One solution is to remove a stale file like commit 223c24a ("kbuild: Automatically remove stale <linux/version.h> file") did. Such workaround should be removed after a while, but we forget about that if we scatter the workaround code in random places. So, this commit adds a new script to collect cleanings of stale files. As a start point, move the code in arch/arm/boot/compressed/Makefile into this script. Signed-off-by: Masahiro Yamada <[email protected]>
- Loading branch information
Showing
3 changed files
with
36 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
# When you move, remove or rename generated files, you probably also update | ||
# .gitignore and cleaning rules in the Makefile. This is the right thing | ||
# to do. However, people usually do 'git pull', 'git bisect', etc. without | ||
# running 'make clean'. Then, the stale generated files are left over, often | ||
# causing build issues. | ||
# | ||
# Also, 'git status' shows such stale build artifacts as untracked files. | ||
# What is worse, some people send a wrong patch to get them back to .gitignore | ||
# without checking the commit history. | ||
# | ||
# So, when you (re)move generated files, please move the cleaning rules from | ||
# the Makefile to this script. This is run before Kbuild starts building | ||
# anything, so people will not be annoyed by such garbage files. | ||
# | ||
# This script is not intended to grow endlessly. Rather, it is a temporary scrap | ||
# yard. Stale files stay in this file for a while (for some release cycles?), | ||
# then will be really dead and removed from the code base entirely. | ||
|
||
# These were previously generated source files. When you are building the kernel | ||
# with O=, make sure to remove the stale files in the output tree. Otherwise, | ||
# the build system wrongly compiles the stale ones. | ||
if [ -n "${building_out_of_srctree}" ]; then | ||
for f in fdt_rw.c fdt_ro.c fdt_wip.c fdt.c | ||
do | ||
rm -f arch/arm/boot/compressed/${f} | ||
done | ||
fi |