svn commit: r300343 - in head: share/mk sys/conf

Bryan Drewery bdrewery at FreeBSD.org
Sat May 21 01:31:50 UTC 2016


Author: bdrewery
Date: Sat May 21 01:31:48 2016
New Revision: 300343
URL: https://svnweb.freebsd.org/changeset/base/300343

Log:
  WITH_META_MODE: Fix suffix transformation rules with guessed dependencies.
  
  This is the same problem as r290629.  With META_MODE we do not generate
  .depend files, so there is no proper dependency to lookup.  Guessed
  dependencies must be used.  If this proves to be a problem then we will
  have to generate and use .depend files even with META_MODE.
  
  Sponsored by:	EMC / Isilon Storage Division

Modified:
  head/share/mk/bsd.dep.mk
  head/sys/conf/kern.post.mk

Modified: head/share/mk/bsd.dep.mk
==============================================================================
--- head/share/mk/bsd.dep.mk	Sat May 21 01:31:44 2016	(r300342)
+++ head/share/mk/bsd.dep.mk	Sat May 21 01:31:48 2016	(r300343)
@@ -216,6 +216,12 @@ afterdepend: beforedepend
     (!defined(_meta_filemon) && !exists(${.OBJDIR}/${DEPENDFILE}.${__obj}))
 ${__obj}: ${OBJS_DEPEND_GUESS}
 ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}}
+.elif defined(_meta_filemon)
+# For meta mode we still need to know which file to depend on to avoid
+# ambiguous suffix transformation rules from .PATH.  Meta mode does not
+# use .depend files.  We really only need source files, not headers.
+${__obj}: ${OBJS_DEPEND_GUESS:N*.h}
+${__obj}: ${OBJS_DEPEND_GUESS.${__obj}:N*.h}
 .endif
 .endfor
 

Modified: head/sys/conf/kern.post.mk
==============================================================================
--- head/sys/conf/kern.post.mk	Sat May 21 01:31:44 2016	(r300342)
+++ head/sys/conf/kern.post.mk	Sat May 21 01:31:48 2016	(r300343)
@@ -247,6 +247,14 @@ beforebuild: kernel-depend
 ${__obj}: ${OBJS_DEPEND_GUESS}
 .endif
 ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}}
+.elif defined(_meta_filemon)
+# For meta mode we still need to know which file to depend on to avoid
+# ambiguous suffix transformation rules from .PATH.  Meta mode does not
+# use .depend files.  We really only need source files, not headers.
+.if ${SYSTEM_OBJS:M${__obj}}
+${__obj}: ${OBJS_DEPEND_GUESS:N*.h}
+.endif
+${__obj}: ${OBJS_DEPEND_GUESS.${__obj}:N*.h}
 .endif
 .endfor
 


More information about the svn-src-all mailing list