path: root/Makefile
diff options
authorMichal Marek <>2014-11-27 16:13:17 +0100
committerMichal Marek <>2014-11-28 16:39:05 +0100
commit223c24a7dba9db1f5ec2ae501b7d342396e83a9a (patch)
tree7278ff181f43f71e21005365eedb41e5891f3258 /Makefile
parent2d560306096739e2251329ab5c16059311a151b0 (diff)
kbuild: Automatically remove stale <linux/version.h> file
In 3.7, the file moved from include/linux/ to include/generated/uapi/linux/. The path in the #include directive remained the same for compatibility reasons, but this created a problem when bisecting. Commit 9c8cdb71 (kbuild: unconditionally clobber include/linux/version.h on distclean) fixes this, provided the user does make distclean between builds. Better not rely on the user and delete the stale file each time make is invoked. Cc: Paul Gortmaker <> Cc: David Howells <> Signed-off-by: Michal Marek <>
Diffstat (limited to 'Makefile')
1 files changed, 3 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 88b7fa50f619..107eb9ed648f 100644
--- a/Makefile
+++ b/Makefile
@@ -480,6 +480,7 @@ asm-generic:
# of make so .config is not included in this case either (for *config).
version_h := include/generated/uapi/linux/version.h
+old_version_h := include/linux/version.h
no-dot-config-targets := clean mrproper distclean \
cscope gtags TAGS tags help %docs check% coccicheck \
@@ -1004,6 +1005,7 @@ endef
$(version_h): $(srctree)/Makefile FORCE
$(call filechk,version.h)
+ $(Q)rm -f $(old_version_h)
include/generated/utsrelease.h: include/config/kernel.release FORCE
$(call filechk,utsrelease.h)
@@ -1172,7 +1174,7 @@ MRPROPER_FILES += .config .config.old .version .old_version $(version_h) \
Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \
signing_key.priv signing_key.x509 x509.genkey \
extra_certificates signing_key.x509.keyid \
- signing_key.x509.signer include/linux/version.h
+ signing_key.x509.signer
# clean - Delete most, but leave enough to build external modules