Author: bdrewery
Date: Fri Jan 15 22:08:51 2016
New Revision: 294104
URL: https://svnweb.freebsd.org/changeset/base/294104

Log:
  FAST_DEPEND: Rework optimization for r290524.
  
  The .MAKEFLAGS check inside of the .for loop is extremely slow for some
  reason.  Just moving it out of the loop trimmed -V lookup time from 11
  seconds to 1 second in the kernel obj directory.
  
  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    Fri Jan 15 21:59:18 2016        (r294103)
+++ head/share/mk/bsd.dep.mk    Fri Jan 15 22:08:51 2016        (r294104)
@@ -170,12 +170,12 @@ DEPENDSRCS=       ${SRCS:M*.[cSC]} ${SRCS:M*.c
 .if !empty(DEPENDSRCS)
 DEPENDOBJS+=   ${DEPENDSRCS:R:S,$,.o,}
 .endif
-.for __obj in ${DEPENDOBJS:O:u}
+DEPENDFILES_OBJS=      ${DEPENDOBJS:O:u:${DEPEND_FILTER}:C/^/${DEPENDFILE}./}
 .if ${.MAKEFLAGS:M-V} == ""
-.sinclude "${DEPENDFILE}.${__obj:${DEPEND_FILTER}}"
-.endif
-DEPENDFILES_OBJS+=     ${DEPENDFILE}.${__obj:${DEPEND_FILTER}}
+.for __depend_obj in ${DEPENDFILES_OBJS}
+.sinclude "${__depend_obj}"
 .endfor
+.endif
 .endif # ${MK_FAST_DEPEND} == "yes"
 .endif # defined(SRCS)
 

Modified: head/sys/conf/kern.post.mk
==============================================================================
--- head/sys/conf/kern.post.mk  Fri Jan 15 21:59:18 2016        (r294103)
+++ head/sys/conf/kern.post.mk  Fri Jan 15 22:08:51 2016        (r294104)
@@ -206,12 +206,12 @@ DEPEND_CFLAGS+=   -MD -MP -MF.depend.${.TA
 DEPEND_CFLAGS+=        -MT${.TARGET}
 CFLAGS+=       ${DEPEND_CFLAGS}
 DEPENDOBJS+=   ${SYSTEM_OBJS}
-.for __obj in ${DEPENDOBJS:O:u}
+DEPENDFILES_OBJS=      ${DEPENDOBJS:O:u:C/^/.depend./}
 .if ${.MAKEFLAGS:M-V} == ""
-.sinclude ".depend.${__obj}"
-.endif
-DEPENDFILES_OBJS+=     .depend.${__obj}
+.for __depend_obj in ${DEPENDFILES_OBJS}
+.sinclude "${__depend_obj}"
 .endfor
+.endif
 .endif # ${MK_FAST_DEPEND} == "yes"
 
 .NOPATH: .depend ${DEPENDFILES_OBJS}
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to