Author: rpaulo
Date: Sat Jul 12 00:54:34 2014
New Revision: 268541
URL: http://svnweb.freebsd.org/changeset/base/268541

Log:
  Automatically build and link DTrace USDT probes.
  
  This completely replaces bsd.dtrace.mk which never worked reliably.
  
  MFC after:    3 weeks

Deleted:
  head/share/mk/bsd.dtrace.mk
Modified:
  head/share/mk/bsd.dep.mk

Modified: head/share/mk/bsd.dep.mk
==============================================================================
--- head/share/mk/bsd.dep.mk    Fri Jul 11 23:41:56 2014        (r268540)
+++ head/share/mk/bsd.dep.mk    Sat Jul 12 00:54:34 2014        (r268541)
@@ -121,12 +121,26 @@ ${_YC:R}.o: ${_YC}
 .endfor
 
 # DTrace probe definitions
+# libelf is currently needed for drti.o
+.if ${SRCS:M*.d}
+LDFLAGS+=      -lelf
+LDADD+=                ${LIBELF}
+CFLAGS+=       -D_DTRACE_VERSION=1
+.endif
 .for _DSRC in ${SRCS:M*.d:N*/*}
-.for _DH in ${_DSRC:R}.h
-${_DH}: ${_DSRC}
-       ${DTRACE} -xnolibs -h -s ${.ALLSRC} 
-SRCS:= ${SRCS:S/${_DSRC}/${_DH}/}
-CLEANFILES+= ${_DH}
+.for _D in ${_DSRC:R}
+${_D}.h: ${_DSRC}
+       ${DTRACE} -xnolibs -h -s ${.ALLSRC}
+SRCS:= ${SRCS:S/${_DSRC}/${_D}.h/}
+${_D}.o: ${_D}.h ${_DSRC} ${OBJS} ${SOBJS}
+       ${DTRACE} -xnolibs -G -o ${.TARGET} -s ${_DSRC} \
+               ${OBJS:S/${_D}.o//} ${SOBJS:S/${_D}.o//}
+CLEANFILES+= ${_D}.h ${_D}.o
+.if defined(PROG)
+OBJS+= ${_D:R}.o
+.else
+SOBJS+=        ${_D:R}.o
+.endif
 .endfor
 .endfor
 .endif
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to