svn commit: r268541 - head/share/mk
Rui Paulo
rpaulo at FreeBSD.org
Sat Jul 12 00:54:35 UTC 2014
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
More information about the svn-src-head
mailing list