xref: /linux/scripts/remove-stale-files (revision 2d17bd24b0169d3fdbf003dfd55af600e9a30553)
1#!/bin/sh
2
3set -e
4
5# When you move, remove or rename generated files, you probably also update
6# .gitignore and cleaning rules in the Makefile. This is the right thing
7# to do. However, people usually do 'git pull', 'git bisect', etc. without
8# running 'make clean'. Then, the stale generated files are left over, often
9# causing build issues.
10#
11# Also, 'git status' shows such stale build artifacts as untracked files.
12# What is worse, some people send a wrong patch to get them back to .gitignore
13# without checking the commit history.
14#
15# So, when you (re)move generated files, please move the cleaning rules from
16# the Makefile to this script. This is run before Kbuild starts building
17# anything, so people will not be annoyed by such garbage files.
18#
19# This script is not intended to grow endlessly. Rather, it is a temporary scrap
20# yard. Stale files stay in this file for a while (for some release cycles?),
21# then will be really dead and removed from the code base entirely.
22
23# These were previously generated source files. When you are building the kernel
24# with O=, make sure to remove the stale files in the output tree. Otherwise,
25# the build system wrongly compiles the stale ones.
26if [ -n "${building_out_of_srctree}" ]; then
27	for f in fdt_rw.c fdt_ro.c fdt_wip.c fdt.c ashldi3.S bswapsdi2.S font.c lib1funcs.S hyp-stub.S
28	do
29		rm -f arch/arm/boot/compressed/${f}
30	done
31
32	for f in uart-ath79.c ashldi3.c bswapdi.c bswapsi.c
33	do
34		rm -f arch/mips/boot/compressed/${f}
35	done
36
37	for f in firmware.c real2.S
38	do
39		rm -f arch/parisc/boot/compressed/${f}
40	done
41fi
42
43rm -f scripts/extract-cert
44
45rm -f arch/x86/purgatory/kexec-purgatory.c
46