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:
Rui Paulo 2014-08-10 06:43:40 +00:00
parent 4c4e50c591
commit 9b646f2533
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=269775

View File

@ -125,21 +125,26 @@ ${_YC:R}.o: ${_YC}
.if ${SRCS:M*.d}
LDFLAGS+= -lelf
LDADD+= ${LIBELF}
CFLAGS+= -D_DTRACE_VERSION=1
CFLAGS+= -D_DTRACE_VERSION=1 -I${.OBJDIR}
.endif
.for _DSRC in ${SRCS:M*.d:N*/*}
.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}.o
.else
SOBJS+= ${_D}.o
CLEANFILES+= ${_D}.h ${_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
.endfor
.endfor