svn commit: r294737 - stable/10/share/mk
Bryan Drewery
bdrewery at FreeBSD.org
Mon Jan 25 17:38:22 UTC 2016
Author: bdrewery
Date: Mon Jan 25 17:38:20 2016
New Revision: 294737
URL: https://svnweb.freebsd.org/changeset/base/294737
Log:
MFC r294370:
mkdep: Fix -include not being added for .depend tracking.
Modified:
stable/10/share/mk/bsd.dep.mk
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/share/mk/bsd.dep.mk
==============================================================================
--- stable/10/share/mk/bsd.dep.mk Mon Jan 25 16:49:39 2016 (r294736)
+++ stable/10/share/mk/bsd.dep.mk Mon Jan 25 17:38:20 2016 (r294737)
@@ -160,12 +160,25 @@ depend: beforedepend ${DEPENDFILE} after
# Tell bmake not to look for generated files via .PATH
.NOPATH: ${DEPENDFILE}
+# Capture -include from CFLAGS.
+# This could be simpler with bmake :tW but needs to support fmake for MFC.
+_CFLAGS_INCLUDES= ${CFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g}
+_CXXFLAGS_INCLUDES= ${CXXFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g}
+# XXX: Temporary hack to workaround .depend files not tracking -include
+.if !empty(_CFLAGS_INCLUDES)
+${OBJS} ${POBJS} ${SOBJS}: ${_CFLAGS_INCLUDES:M*.h}
+.endif
+.if !empty(_CXXFLAGS_INCLUDES)
+${OBJS} ${POBJS} ${SOBJS}: ${_CXXFLAGS_INCLUDES:M*.h}
+.endif
+
# Different types of sources are compiled with slightly different flags.
# Split up the sources, and filter out headers and non-applicable flags.
MKDEP_CFLAGS= ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BIDU]*} ${CFLAGS:M-std=*} \
- ${CFLAGS:M-ansi}
+ ${CFLAGS:M-ansi} ${_CFLAGS_INCLUDES}
MKDEP_CXXFLAGS= ${CXXFLAGS:M-nostdinc*} ${CXXFLAGS:M-[BIDU]*} \
- ${CXXFLAGS:M-std=*} ${CXXFLAGS:M-ansi} ${CXXFLAGS:M-stdlib=*}
+ ${CXXFLAGS:M-std=*} ${CXXFLAGS:M-ansi} ${CXXFLAGS:M-stdlib=*} \
+ ${_CXXFLAGS_INCLUDES}
DPSRCS+= ${SRCS}
${DEPENDFILE}: ${DPSRCS}
More information about the svn-src-stable
mailing list