Makefile.am 7.5 KB
Newer Older
1
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
2

3
# note: keep in sync with configure.ac
4
ACLOCAL_AMFLAGS = -I m4 -I common/m4
David Schleef's avatar
David Schleef committed
5

6
aclocaldir = $(datadir)/aclocal
7
aclocal_DATA = gst-element-check-1.0.m4
8

9
SUBDIRS = pkgconfig \
10
	gst libs plugins tests \
11
	docs \
12
	po \
13
	m4 \
14 15
	common \
	data
16

17 18 19 20
if BUILD_TOOLS
SUBDIRS += tools
endif

21
# These are all the possible subdirs
22
DIST_SUBDIRS = pkgconfig \
23
	gst libs plugins tools tests \
24
	docs \
25
	po \
26
	m4 \
27 28
	common \
	data
29

30
EXTRA_DIST = \
31
	gst-element-check-1.0.m4 \
32
	configure.ac autogen.sh depcomp \
33
	MAINTAINERS ABOUT-NLS RELEASE gstreamer.doap \
34
	scripts/gst-uninstalled \
35
	$(shell find "$(top_srcdir)" -type f -name meson.build ! -path "$(top_srcdir)/gstreamer-*" ) \
36
	meson_options.txt \
37
	gst/parse/gen_lex.py.in gst/parse/gen_grammar.py.in
38

39 40
DISTCLEANFILES = _stdint.h

41
include $(top_srcdir)/common/release.mak
42
include $(top_srcdir)/common/po.mak
43

44 45 46 47 48 49 50 51 52 53
if GST_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=gst libs

## .PHONY so it always rebuilds it
54
.PHONY: coverage-report.txt
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
55

56
coverage-report.txt:
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
57 58 59 60 61 62 63 64 65 66 67 68 69 70
	BBG_FILES=`find $(GCOV_DIRS) -name "*.bbg"` ;			  \
	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'` ;		  \
		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 ;						  \
71 72 73 74 75 76 77 78 79 80 81 82
	$(top_builddir)/testsuite/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
83

84
if HAVE_CHECK
85
check-valgrind:
86
	$(MAKE) -C tests/check check-valgrind
87

88
check-torture:
89
	$(MAKE) -C tests/check torture
90 91

build-checks:
92
	$(MAKE) -C tests/check build-checks
93 94
else
check-valgrind:
95
	echo "'check' library not installed, skipping"
96 97

check-torture:
98
	echo "'check' library not installed, skipping"
99 100 101

build-checks:
	echo "'check' library not installed, skipping"
102
endif
103

104
check-enum-gettypes: $(top_builddir)/gst/gstenumtypes.h
105
	@echo 'Checking if all enum and flag _get_type() funcs are inited in gst_init()';                        \
106 107 108
	FUNCS=`grep '_get_type (' gst/gstenumtypes.h | sed -e 's/^.*gst_/gst_/' -e 's/_get_type.*$$/_get_type/'`;\
	MISSING_FUNCS='';                                                                                        \
	for f in $$FUNCS; do                                                                                     \
109
	  INIT_LINE=`grep $$f $(top_srcdir)/gst/*.c | grep g_type_class_ref`;                                    \
110 111 112 113 114 115 116 117 118 119
	  if test "x$$INIT_LINE" = "x"; then                                                                     \
	    MISSING_FUNCS="$$MISSING_FUNCS $$f";                                                                 \
	  fi;                                                                                                    \
	done;                                                                                                    \
	if test "x$$MISSING_FUNCS" != "x"; then                                                                  \
	  echo "FIXME: please add to the following to gst/gst.c init_post():";                                   \
	  for f in $$MISSING_FUNCS; do                                                                           \
	    echo "  g_type_class_ref ($$f ());";                                                                 \
	  done;                                                                                                  \
	  exit 1;                                                                                                \
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
	fi;                                                                                                      \
	echo 'Checking if all enum and flag _get_type() funcs are deinited in gst_deinit()';                     \
	MISSING_FUNCS='';                                                                                        \
	for f in $$FUNCS; do                                                                                     \
	  INIT_LINE=`grep $$f $(top_srcdir)/gst/*.c | grep g_type_class_unref`;                                  \
	  if test "x$$INIT_LINE" = "x"; then                                                                     \
	    MISSING_FUNCS="$$MISSING_FUNCS $$f";                                                                 \
	  fi;                                                                                                    \
	done;                                                                                                    \
	if test "x$$MISSING_FUNCS" != "x"; then                                                                  \
	  echo "FIXME: please add to the following to gst/gst.c gst_deinit():";                                  \
	  for f in $$MISSING_FUNCS; do                                                                           \
	    echo "  g_type_class_unref (g_type_class_peek ($$f ()));";                                           \
	  done;                                                                                                  \
	  exit 1;                                                                                                \
135 136
	fi

137
include $(top_srcdir)/common/coverage/lcov.mak
138

139
check: check-enum-gettypes
140 141 142 143

# cruft: plugins that have been merged or moved or renamed

CRUFT_FILES = \
144
	$(top_builddir)/win32/common/config.h-new \
145
	$(top_builddir)/common/shave \
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
	$(top_builddir)/common/shave-libtool \
	$(top_builddir)/common/m4/codeset.m4 \
	$(top_builddir)/common/m4/gettext.m4 \
	$(top_builddir)/common/m4/glibc2.m4 \
	$(top_builddir)/common/m4/glibc21.m4 \
	$(top_builddir)/common/m4/iconv.m4 \
	$(top_builddir)/common/m4/intdiv0.m4 \
	$(top_builddir)/common/m4/intl.m4 \
	$(top_builddir)/common/m4/intldir.m4 \
	$(top_builddir)/common/m4/intlmacosx.m4 \
	$(top_builddir)/common/m4/intmax.m4 \
	$(top_builddir)/common/m4/inttypes-pri.m4 \
	$(top_builddir)/common/m4/inttypes_h.m4 \
	$(top_builddir)/common/m4/lcmessage.m4 \
	$(top_builddir)/common/m4/lib-ld.m4 \
	$(top_builddir)/common/m4/lib-link.m4 \
	$(top_builddir)/common/m4/lib-prefix.m4 \
	$(top_builddir)/common/m4/libtool.m4 \
	$(top_builddir)/common/m4/lock.m4 \
	$(top_builddir)/common/m4/longlong.m4 \
	$(top_builddir)/common/m4/ltoptions.m4 \
	$(top_builddir)/common/m4/ltsugar.m4 \
	$(top_builddir)/common/m4/ltversion.m4 \
	$(top_builddir)/common/m4/lt~obsolete.m4 \
	$(top_builddir)/common/m4/nls.m4 \
	$(top_builddir)/common/m4/po.m4 \
	$(top_builddir)/common/m4/printf-posix.m4 \
	$(top_builddir)/common/m4/progtest.m4 \
	$(top_builddir)/common/m4/size_max.m4 \
	$(top_builddir)/common/m4/stdint_h.m4 \
	$(top_builddir)/common/m4/uintmax_t.m4 \
	$(top_builddir)/common/m4/visibility.m4 \
	$(top_builddir)/common/m4/wchar_t.m4 \
	$(top_builddir)/common/m4/wint_t.m4 \
	$(top_builddir)/common/m4/xsize.m4
181

182
CRUFT_DIRS = \
183
	$(top_builddir)/tests/examples/xml \
184 185 186 187
	$(top_builddir)/tests/examples/launch \
	$(top_builddir)/tests/examples/metadata \
	$(top_builddir)/tests/examples/queue \
	$(top_builddir)/tests/examples/typefind \
188
	$(top_builddir)/gst/tmp-introspect* \
189 190
	$(top_builddir)/libs/gst/*/tmp-introspect* \
	$(top_srcdir)/docs/plugins/tmpl
191

192 193
include $(top_srcdir)/common/cruft.mak

194
all-local: check-cruft