48c54cbc90
Add GCNOS{GRP,MODE,OWN} for parity with FILES{GRP,MODE,OWN}. The defaults are based on BIN{GRP,MODE,OWN}. GCNOSDIRMODE is added, strictly for configurability, if need be.
39 lines
915 B
Makefile
39 lines
915 B
Makefile
# $FreeBSD$
|
|
#
|
|
# Snippet for dealing with runtime coverage logic.
|
|
#
|
|
# .gcno files are generated from files that are compiled from source, e.g.,
|
|
# foo.gcno is foo.c or foo.cpp's file. In order for the libraries and programs
|
|
# to be properly instrumented, the .gcno files must be installed to a prefix
|
|
# common to the object files.
|
|
#
|
|
# See gcov(1) for more details.
|
|
|
|
.include <bsd.own.mk>
|
|
|
|
FILESGROUPS?= FILES
|
|
|
|
.if !empty(GCNOS)
|
|
|
|
GCNOSOWN?= ${BINOWN}
|
|
GCNOSGRP?= ${BINGRP}
|
|
GCNOSMODE?= 0644
|
|
GCNOSDIRMODE?= 0755
|
|
|
|
GCNOS:= ${GCNOS:O:u}
|
|
FILESGROUPS+= GCNOS
|
|
CLEANFILES+= ${GCNOS}
|
|
|
|
.for _gcno in ${GCNOS}
|
|
_gcno_dir= ${COVERAGEDIR}${_gcno:H:tA}
|
|
GCNOSDIR_${_gcno:T}= ${_gcno_dir}
|
|
# Create _gcno_dir if it doesn't already exist.
|
|
.if !target(${DESTDIR}${_gcno_dir})
|
|
${DESTDIR}${_gcno_dir}:
|
|
${INSTALL} -d -o ${GCNOSOWN} -g ${GCNOSGRP} -m ${GCNOSDIRMODE} \
|
|
${.TARGET}/
|
|
.endif
|
|
${_gcno}: ${DESTDIR}${_gcno_dir}
|
|
.endfor
|
|
.endif
|