aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2016-08-23 19:37:18 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2016-08-23 19:37:18 +0000
commitc30c436a5879b462837213b6095396f1ef6b9b32 (patch)
tree65ba62a947ff76e859e56a31f695d4c49b1b7c51 /share
parent1075729090ec910f4add45e731cd5a27c661110e (diff)
downloadsrc-c30c436a5879b462837213b6095396f1ef6b9b32.tar.gz
src-c30c436a5879b462837213b6095396f1ef6b9b32.zip
FAST_DEPEND: Fix 'make all install' not properly rebuilding based on .depend.* files.
An optimization is in place to skip reading the .depend.* files with 'make install'. This was too strong and broke 'make all install' and 'make foo.o foo install'. Now only skip reading the dependency files if all make targets ran are install targets. The problem comes about because headers are only added in as a guessed dependency if .depend.* files do not yet exist. If they do exist, even if being skipped from being read, then the header dependencies are not applied. This applies to all #included files, and not just headers. Reported by: kib MFC after: 1 day Sponsored by: EMC / Isilon Storage Division
Notes
Notes: svn path=/head/; revision=304697
Diffstat (limited to 'share')
-rw-r--r--share/mk/bsd.dep.mk7
1 files changed, 4 insertions, 3 deletions
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk
index bddf575699d9..064b829a3888 100644
--- a/share/mk/bsd.dep.mk
+++ b/share/mk/bsd.dep.mk
@@ -76,12 +76,13 @@ tags: ${SRCS}
_meta_filemon= 1
.endif
-# Skip reading .depend when not needed to speed up tree-walks
-# and simple lookups.
+# Skip reading .depend when not needed to speed up tree-walks and simple
+# lookups. For install, only do this if no other targets are specified.
# Also skip generating or including .depend.* files if in meta+filemon mode
# since it will track dependencies itself. OBJS_DEPEND_GUESS is still used.
.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \
- make(install*) || make(analyze) || defined(_meta_filemon)
+ ${.TARGETS:M*install*} == ${.TARGETS} || \
+ make(analyze) || defined(_meta_filemon)
_SKIP_READ_DEPEND= 1
.if ${MK_DIRDEPS_BUILD} == "no"
.MAKE.DEPENDFILE= /dev/null