From 46ca543e198d96598521ac809db9c21ff467e588 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 5 Sep 2005 19:54:35 +0000 Subject: r10041: Add 'gcov' make target. Run '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 | 2 ++ source4/build/smb_build/makefile.pm | 5 +++-- source4/main.mk | 1 + source4/torture/config.mk | 12 ++++++++++++ 4 files changed, 18 insertions(+), 2 deletions(-) (limited to 'source4') diff --git a/source4/build/m4/check_cc.m4 b/source4/build/m4/check_cc.m4 index 8e402f102c..eaf40f1b53 100644 --- a/source4/build/m4/check_cc.m4 +++ b/source4/build/m4/check_cc.m4 @@ -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) diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm index 82bcd90b22..f6619416ab 100644 --- a/source4/build/smb_build/makefile.pm +++ b/source4/build/smb_build/makefile.pm @@ -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} diff --git a/source4/main.mk b/source4/main.mk index fae77d4953..b87d875ce1 100644 --- a/source4/main.mk +++ b/source4/main.mk @@ -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 diff --git a/source4/torture/config.mk b/source4/torture/config.mk index c0ce3dacd3..a1fa5278b1 100644 --- a/source4/torture/config.mk +++ b/source4/torture/config.mk @@ -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 -- cgit