summaryrefslogtreecommitdiffstats
path: root/Makefile.am
blob: 886618b9448ded7765bf462c43ad2993e7ca6ad1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88

if HAVE_GLIB
    GLIB_SUBDIR=glib
    GLIB_PC=dbus-glib-1.pc
endif

if HAVE_QT
   QT_SUBDIR=qt
endif

if DBUS_USE_GCJ
   GCJ_SUBDIR=gcj
endif

if DBUS_USE_CSC
   MONO_SUBDIR=mono
   MONO_PC=dbus-sharp.pc
endif

if HAVE_PYTHON
   PYTHON_SUBDIR=python
endif

## really we should require gcj/mcs/python also but since they are 
## annoying to install, we don't for now
dist-local:
	if test -z "$(QT_SUBDIR)" || test -z "$(GLIB_SUBDIR)" ; then		\
		echo "You have to build with Qt and GLib to make dist" ;	\
	fi 

SUBDIRS=dbus bus doc $(GLIB_SUBDIR) $(GCJ_SUBDIR) $(MONO_SUBDIR) $(QT_SUBDIR) $(PYTHON_SUBDIR) test tools
DIST_SUBDIRS=dbus bus doc glib qt gcj mono python test tools

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = dbus-1.pc $(GLIB_PC) $(MONO_PC)

DISTCLEANFILES = 		\
	dbus-1.pc		\
	$(GLIB_PC)		\
	$(MONO_PC)

EXTRA_DIST =			\
	HACKING			\
	dbus-1.pc.in		\
	dbus-glib-1.pc.in	\
	dbus-sharp.pc.in

all-local: Doxyfile

if DBUS_GCOV_ENABLED
clean-gcov:
	find -name "*.da" -o -name "*.gcov" | xargs rm || true

clean-bbg:
	find -name "*.bbg" -o -name "*.bb" | xargs rm || true

GCOV_DIRS=dbus bus $(GLIB_SUBDIR) $(QT_SUBDIR)

## .PHONY so it always rebuilds it
.PHONY: coverage-report.txt
coverage-report.txt:
	BBG_FILES=`find $(GCOV_DIRS) -name "*.bbg" -o -name "*.gcno"` ;			\
	C_FILES= ;									\
	for F in $$BBG_FILES ; do							\
		F_nolibs=`echo $$F | sed -e 's/.libs\///g'` ;				\
		C=`echo $$F_nolibs | sed -e 's/.bbg/.c/g' | sed -e 's/.gcno/.c/g'`  ;	\
		B=`basename $$F .bbg` ;							\
		D=`dirname $$F` ;							\
		DA=`echo $$F | sed -e 's/.bbg/.da/g'` ;					\
		DA_libs=`echo $$D/.libs/$$B/.da` ;					\
		if test -e $$DA || test -e $$DA_libs; then				\
			C_FILES="$$C_FILES $$C" ;					\
		fi ;									\
	done ;										\
	echo $$C_FILES ;								\
	$(top_builddir)/test/decode-gcov --report $$C_FILES > coverage-report.txt

check-coverage: clean-gcov all check coverage-report.txt
	cat coverage-report.txt

else
coverage-report.txt:
	echo "Need to reconfigure with --enable-gcov"

check-coverage:
	echo "Need to reconfigure with --enable-gcov"

endif