Fix a few problems with the USDT probes:

* Include OBJDIR to make sure the generated file is found;
* Simplify the definition of OBJS;
* Add targets for shared objects and for profiled objects.

MFC after:	3 days
This commit is contained in:
rpaulo 2014-08-10 06:43:40 +00:00
parent 5dd648cc55
commit 336929ba09

View File

@ -125,21 +125,26 @@ ${_YC:R}.o: ${_YC}
.if ${SRCS:M*.d} .if ${SRCS:M*.d}
LDFLAGS+= -lelf LDFLAGS+= -lelf
LDADD+= ${LIBELF} LDADD+= ${LIBELF}
CFLAGS+= -D_DTRACE_VERSION=1 CFLAGS+= -D_DTRACE_VERSION=1 -I${.OBJDIR}
.endif .endif
.for _DSRC in ${SRCS:M*.d:N*/*} .for _DSRC in ${SRCS:M*.d:N*/*}
.for _D in ${_DSRC:R} .for _D in ${_DSRC:R}
${_D}.h: ${_DSRC} ${_D}.h: ${_DSRC}
${DTRACE} -xnolibs -h -s ${.ALLSRC} ${DTRACE} -xnolibs -h -s ${.ALLSRC}
SRCS:= ${SRCS:S/${_DSRC}/${_D}.h/} 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}.o OBJS+= ${_D}.o
.else CLEANFILES+= ${_D}.h ${_D}.o
SOBJS+= ${_D}.o ${_D}.o: ${_D.h} ${OBJS:S/${_D}.o//}
${DTRACE} -xnolibs -G -o ${.TARGET} -s ${.CURDIR}/${_DSRC} \
${OBJS:S/${_D}.o//}
.if defined(LIB)
CLEANFILES+= ${_D}.So ${_D}.po
${_D}.So: ${_D.h} ${SOBJS:S/${_D}.So//}
${DTRACE} -xnolibs -G -o ${.TARGET} -s ${.CURDIR}/${_DSRC} \
${SOBJS:S/${_D}.So//}
${_D}.po: ${_D}.h ${POBJS:S/${_D}.po//}
${DTRACE} -xnolibs -G -o ${.TARGET} -s ${.CURDIR}/${_DSRC} \
${POBJS:S/${_D}.po//}
.endif .endif
.endfor .endfor
.endfor .endfor