r10041: Add 'gcov' make target. Run
authorJelmer Vernooij <jelmer@samba.org>
Mon, 5 Sep 2005 19:54:35 +0000 (19:54 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:36:32 +0000 (13:36 -0500)
'make clean gcov' to generate a set of files describing the test coverage
of the Samba 4 code.
(This used to be commit 72bb84add469ad4f027ddbd8d73bb846b0609fa2)

source4/build/m4/check_cc.m4
source4/build/smb_build/makefile.pm
source4/main.mk
source4/torture/config.mk

index 8e402f102cb9e1143a82e365d206c7564e33d476..eaf40f1b5304064d1217f333a88cc6a2f9598e07 100644 (file)
@@ -127,3 +127,5 @@ fi
 # allow for --with-hostcc=gcc
 AC_ARG_WITH(hostcc,[  --with-hostcc=compiler    choose host compiler],[HOSTCC=$withval],[HOSTCC=$CC])
 AC_SUBST(HOSTCC)
+
+AC_PATH_PROG(GCOV,gcov)
index 82bcd90b222515e5232655204dde1783ffe44067..f6619416ab11c4bc7baf56762c5dd4d553e8b660 100644 (file)
@@ -77,13 +77,14 @@ CC=$config{CC}
 CFLAGS=-I\$(srcdir)/include -I\$(srcdir) -D_SAMBA_BUILD_ -DHAVE_CONFIG_H -I\$(srcdir)/lib $config{CFLAGS} $config{CPPFLAGS}
 
 LD=$config{LD}
-LD_FLAGS=$config{LDFLAGS} -Lbin
+GCOV=$config{GCOV}
+LD_FLAGS=$config{LDFLAGS} 
 
 STLD=$config{AR}
 STLD_FLAGS=-rc
 
 SHLD=$config{CC}
-SHLD_FLAGS=$config{LDSHFLAGS} -Lbin
+SHLD_FLAGS=$config{LDSHFLAGS} 
 
 XSLTPROC=$config{XSLTPROC}
 
index fae77d49538336b000c5be706846f0c12ad9b17d..b87d875ce1959733d7280cc7e5a7f08324d0d637 100644 (file)
@@ -78,6 +78,7 @@ showflags:
        @echo "  LD_FLAGS = $(LD_FLAGS)"
        @echo "  STLD_FLAGS = $(STLD_FLAGS)"
        @echo "  SHLD_FLAGS = $(SHLD_FLAGS)"
+       @echo "  LIBS = $(LIBS)"
 
 install: showlayout installbin installdat installswat installmisc
 
index c0ce3dacd3adf81b3ecf36ebe3e0a498db9af6c1..a1fa5278b1ea0d3a460e3e28ecb33181d1671067 100644 (file)
@@ -281,3 +281,15 @@ REQUIRED_SUBSYSTEMS = \
 MANPAGE = torture/man/locktest.1
 # End BINARY locktest
 #################################
+
+GCOV_FLAGS = -ftest-coverage -fprofile-arcs
+GCOV_LIBS = -lgcov
+
+gcov: 
+       @$(MAKE) test \
+               CFLAGS="$(CFLAGS) $(GCOV_FLAGS)" \
+               LD_FLAGS="$(LD_FLAGS) $(GCOV_FLAGS)" \
+               LIBS="$(LIBS) $(GCOV_LIBS)"
+       for I in $(sort $(dir $(_ALL_OBJS_OBJS))); \
+               do $(GCOV) -p -o $$I $$I/*.c; \
+       done