diff --git a/share/mk/Makefile b/share/mk/Makefile index a98bcef4a04c..2c6608050284 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -69,6 +69,10 @@ FILES= \ FILESDIR= ${BINDIR}/mk +.if ${MK_COVERAGE} != "no" +FILES+= bsd.cov.mk +.endif + .if ${MK_TESTS} != "no" FILES+= atf.test.mk FILES+= plain.test.mk diff --git a/share/mk/bsd.cov.mk b/share/mk/bsd.cov.mk new file mode 100644 index 000000000000..fa0e67120532 --- /dev/null +++ b/share/mk/bsd.cov.mk @@ -0,0 +1,21 @@ +# $FreeBSD$ + +.include + +FILESGROUPS?= FILES +FILESGROUPS+= GCNOS +_GCNO_FILES= ${OBJS:.o=.gcno} +CLEANFILES+= ${_GCNO_FILES} +GCNOS+= ${_GCNO_FILES} + +.for _gcno_file in ${_GCNO_FILES} +_gcno_dir= ${COVERAGEDIR}${_gcno_file:tA:H} +_gcno_fulldir= ${DESTDIR}${_gcno_dir} +GCNOSDIR_${_gcno_file:T}= ${_gcno_dir} + +.if !target(${_gcno_fulldir}) +beforeinstall: ${_gcno_fulldir} +${_gcno_fulldir}: + ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},coverage} -d ${.TARGET} +.endif +.endfor