svn commit: r321777 - projects/runtime-coverage/share/mk

Ngie Cooper ngie at FreeBSD.org
Mon Jul 31 09:50:49 UTC 2017


Author: ngie
Date: Mon Jul 31 09:50:47 2017
New Revision: 321777
URL: https://svnweb.freebsd.org/changeset/base/321777

Log:
  This Makefile snippet needs more work -- it tries to install .gcno files
  for .asm, .s files and it shouldn't

Modified:
  projects/runtime-coverage/share/mk/bsd.cov.mk

Modified: projects/runtime-coverage/share/mk/bsd.cov.mk
==============================================================================
--- projects/runtime-coverage/share/mk/bsd.cov.mk	Mon Jul 31 09:46:48 2017	(r321776)
+++ projects/runtime-coverage/share/mk/bsd.cov.mk	Mon Jul 31 09:50:47 2017	(r321777)
@@ -1,21 +1,31 @@
 # $FreeBSD$
 
+.ifdef notyet
 .include <bsd.own.mk>
 
 FILESGROUPS?=	FILES
-FILESGROUPS+=	GCNOS
-_GCNO_FILES=	${OBJS:.o=.gcno}
-CLEANFILES+=	${_GCNO_FILES}
-GCNOS+=		${_GCNO_FILES}
+_GCNOGROUPS=
 
-.for _gcno_file in ${_GCNO_FILES}
-_gcno_dir=	${COVERAGEDIR}${_gcno_file:tA:H}
-_gcno_fulldir=	${DESTDIR}${_gcno_dir}
-GCNOSDIR_${_gcno_file:T}=	${_gcno_dir}
+.for _obj in ${OBJS}
+# XXX (ngie): this is pretty hamfisted
+.if !empty(SRCS:T:M${obj:.o=.asm}) || !empty(SRCS:T:M${obj:.o=.s})
+_gcno=		${_obj:.o=.gcno}
+_gcno_prefix=	${_gcno:H:tA}
+_gcno_dir=	${COVERAGEDIR}${_gcno_prefix}
 
-.if !target(${_gcno_fulldir})
-beforeinstall: ${_gcno_fulldir}
-${_gcno_fulldir}:
-	${INSTALL} ${TAG_ARGS:D${TAG_ARGS},coverage} -d ${.TARGET}
+_GCNO_GROUPS+=	${_gcno_prefix}
+CLEANFILES+=	${_gcno}
+${_gcno_prefix}+=	${_gcno}
+${_gcno_prefix}DIR=	${_gcno_dir}
+${_gcno}: ${_obj}
 .endif
 .endfor
+
+_GCNO_GROUPS:=	${_GCNO_GROUPS:O:u}
+FILESGROUPS+=	${_GCNO_GROUPS}
+.for _gcno_group in ${_GCNO_GROUPS}
+beforeinstall: ${DESTDIR}${${_gcno_group}DIR}
+${DESTDIR}${${_gcno_group}DIR}:
+	${INSTALL} ${TAG_ARGS:D${TAG_ARGS},coverage} -d ${.TARGET}
+.endfor
+.endif


More information about the svn-src-projects mailing list