Preprocess thumbnail frame PNG in GResource
[cheese.git] / Makefile.am
blobeb21b4b67771a992ba864095ffc3dc56840e5d74
1 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
3 SUBDIRS = po help
5 enum_data = \
6         libcheese/cheese-enums.c \
7         libcheese/cheese-enums.h
9 cheese_enum_headers = \
10         $(top_srcdir)/libcheese/cheese-widget.h
12 libcheese/cheese-enums.c: $(cheese_enum_headers) libcheese/cheese-enums.h
13         $(AM_V_GEN)$(GLIB_MKENUMS) \
14                 --fhead "#include \"cheese-enums.h\"\n\n" \
15                 --fprod "/* enumerations from \"@filename@\" */\n" \
16                 --fprod "#include \"@filename@\"\n" \
17                 --vhead "GType\n@enum_name@_get_type (void)\n{\n" \
18                 --vhead "  static GType type = 0;\n\n" \
19                 --vhead "  if (!type)\n  {\n" \
20                 --vhead "    static const G@Type@Value _@enum_name@_values[] = {" \
21                 --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
22                 --vtail "      { 0, NULL, NULL }\n    };\n\n" \
23                 --vtail "    type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n  }\n\n" \
24                 --vtail "  return type;\n}\n\n" \
25                 $(cheese_enum_headers) > $@
27 libcheese/cheese-enums.h: $(cheese_enum_headers)
28         $(AM_V_GEN)$(GLIB_MKENUMS) \
29                 --fhead "#ifndef CHEESE_ENUMS_H_\n" \
30                 --fhead "#define CHEESE_ENUMS_H_\n\n" \
31                 --fhead "#include <glib-object.h>\n\n" \
32                 --fhead "G_BEGIN_DECLS\n\n" \
33                 --fprod "/* enumerations from @filename@ */\n" \
34                 --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n" \
35                 --vhead "#define CHEESE_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
36                 --ftail "G_END_DECLS\n\n" \
37                 --ftail "#endif /* CHEESE_ENUMS_H_ */" \
38                 $(cheese_enum_headers) > $@
40 AM_CPPFLAGS = \
41         -DDATADIR=\"$(datadir)\" \
42         -DPREFIX=\""$(prefix)"\" \
43         -DSYSCONFDIR=\""$(sysconfdir)"\" \
44         -DLIBDIR=\""$(libdir)"\" \
45         -DPACKAGE_DATADIR=\""$(pkgdatadir)"\" \
46         -DPACKAGE_LOCALEDIR=\""$(datadir)/locale"\" \
47         -DGNOME_DESKTOP_USE_UNSTABLE_API=1 \
48         -I$(top_builddir) \
49         $(CHEESE_CFLAGS) \
50         $(CHEESE_GTK_FLAGS) \
51         $(CHEESE_WFLAGS) \
52         $(WARN_CFLAGS)
54 AM_VALAFLAGS = \
55         --target-glib=2.38 \
56         --thread \
57         --vapidir $(top_srcdir)/src/vapi \
58         --gresources $(top_srcdir)/data/cheese.gresource.xml \
59         --pkg config \
60         --pkg posix \
61         --pkg gtk+-3.0 \
62         --pkg gmodule-2.0 \
63         --pkg clutter-1.0 \
64         --pkg clutter-gtk-1.0 \
65         --pkg gstreamer-1.0 \
66         --pkg libcanberra-gtk \
67         --pkg libcanberra \
68         --pkg eogthumbnav \
69         --pkg cheese-thumbview \
70         --pkg cheese-common \
71         --pkg gdk-x11-3.0 \
72         --pkg gio-2.0
74 lib_LTLIBRARIES = libcheese.la libcheese-gtk.la
76 libcheese_gtk_la_CFLAGS = \
77         $(CHEESE_CFLAGS) \
78         $(CHEESE_GTK_CFLAGS) \
79         $(CHEESE_WFLAGS)
81 libcheese_gtk_la_CPPFLAGS = \
82         $(AM_CPPFLAGS) \
83         -DG_LOG_DOMAIN=\"cheese-gtk\" \
84         -I$(top_builddir)/libcheese \
85         -I$(top_srcdir)/libcheese \
86         -I$(top_srcdir)/src
88 libcheese_gtk_la_LIBADD = \
89         libcheese.la \
90         $(CHEESE_LIBS) \
91         $(CHEESE_GTK_LIBS)
93 libcheese_gtk_la_LDFLAGS = \
94         -version-info $(LIBCHEESE_GTK_LT_VERSION) \
95         -export-symbols $(top_srcdir)/libcheese/cheese-gtk.symbols \
96         -no-undefined \
97         $(AM_LDFLAGS)
99 libcheese_gtk_la_SOURCES = \
100         libcheese/cheese-avatar-chooser.c \
101         libcheese/cheese-avatar-widget.c \
102         libcheese/totem-aspect-frame.c \
103         libcheese/cheese-flash.c \
104         libcheese/cheese-gtk.c \
105         libcheese/cheese-widget.c \
106         libcheese/um-crop-area.c
108 noinst_libcheese_gtk_headers = \
109         libcheese/totem-aspect-frame.h \
110         libcheese/cheese-avatar-chooser.h \
111         libcheese/cheese-avatar-widget.h \
112         libcheese/cheese-flash.h \
113         libcheese/cheese-widget.h \
114         libcheese/cheese-widget-private.h \
115         libcheese/um-crop-area.h
117 libcheese_la_CFLAGS = \
118         $(CHEESE_CFLAGS) \
119         $(CHEESE_GTK_CFLAGS) \
120         $(CHEESE_WFLAGS)
122 libcheese_la_CPPFLAGS = \
123         $(AM_CPPFLAGS) \
124         -DG_LOG_DOMAIN=\"cheese\" \
125         -I$(top_builddir)/libcheese \
126         -I$(top_srcdir)/libcheese
128 libcheese_la_LIBADD = \
129         $(CHEESE_LIBS)
131 libcheese_la_LDFLAGS = \
132         -version-info $(LIBCHEESE_LT_VERSION) \
133         $(AM_LDFLAGS)
135 libcheese_la_SOURCES = \
136         libcheese/cheese-enums.c \
137         libcheese/cheese-camera.c \
138         libcheese/cheese-camera-device.c \
139         libcheese/cheese-camera-device-monitor.c \
140         libcheese/cheese-effect.c \
141         libcheese/cheese-fileutil.c \
142         libcheese/cheese.c
144 noinst_libcheese_headers = \
145         libcheese/cheese-camera.h \
146         libcheese/cheese-camera-device.h \
147         libcheese/cheese-camera-device-monitor.h \
148         libcheese/cheese-effect.h \
149         libcheese/cheese-fileutil.h
151 # FIXME when we have a .pc file, and sonames
152 cheesedir = $(includedir)/cheese
153 cheese_HEADERS = \
154         libcheese/cheese-avatar-widget.h \
155         libcheese/cheese-avatar-chooser.h \
156         libcheese/cheese-camera.h \
157         libcheese/cheese-camera-device.h \
158         libcheese/cheese-camera-device-monitor.h \
159         libcheese/cheese-effect.h \
160         libcheese/cheese-gtk.h \
161         libcheese/cheese.h \
162         libcheese/cheese-widget.h
164 if HAVE_INTROSPECTION
165 -include $(INTROSPECTION_MAKEFILE)
166 INTROSPECTION_COMPILER_ARGS = --includedir=$(top_srcdir)
167 INTROSPECTION_SCANNER_ARGS = --add-include-path=$(top_srcdir) --warn-all
169 INTROSPECTION_GIRS = Cheese-3.0.gir
171 Cheese-3.0.gir: libcheese.la
172 Cheese_3_0_gir_CFLAGS = \
173         -I$(top_srcdir)/libcheese \
174         -I$(top_builddir)/libcheese \
175         $(CHEESE_CFLAGS)
176 Cheese_3_0_gir_FILES = \
177         $(libcheese_la_SOURCES) \
178         $(noinst_libcheese_headers) \
179         libcheese/cheese-enums.h
180 Cheese_3_0_gir_INCLUDES = \
181         GObject-2.0 \
182         GLib-2.0 \
183         Gst-1.0 \
184         GstBase-1.0 \
185         cairo-1.0 \
186         Clutter-1.0 \
187         GdkPixbuf-2.0
188 Cheese_3_0_gir_LIBS = libcheese.la
189 Cheese_3_0_gir_SCANNERFLAGS = --verbose --warn-all --pkg-export cheese
191 girdir = $(datadir)/gir-1.0
192 gir_DATA = $(INTROSPECTION_GIRS)
194 typelibdir = $(libdir)/girepository-1.0
195 typelib_DATA = Cheese-3.0.typelib
196 endif
198 noinst_resource_files = \
199         data/cheese.css \
200         data/cheese-viewport.json \
201         data/cheese-appmenu.ui \
202         data/cheese-main-window.ui \
203         data/cheese-prefs.ui \
204         data/pixmaps/cheese-1.svg \
205         data/pixmaps/cheese-2.svg \
206         data/pixmaps/cheese-3.svg \
207         data/pixmaps/thumbnail-frame.png
209 src/cheese-resource.c src/cheese-resource.h: data/cheese.gresource.xml Makefile $(noinst_resource_files)
210         $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/data --generate --c-name cheese $<
212 bin_PROGRAMS = cheese
214 nodist_cheese_SOURCES = \
215         src/cheese-resource.c
217 # cheese-main.vala must go at the end of the Vala sources.
218 cheese_SOURCES = \
219         src/cheese-application.vala \
220         src/cheese-countdown.vala \
221         src/cheese-effects-manager.vala \
222         src/cheese-preferences.vala \
223         src/cheese-window.vala \
224         src/cheese-main.vala \
225         src/thumbview/cheese-thumb-view.c \
226         src/thumbview/cheese-thumbnail.c \
227         src/thumbview/eog-thumb-nav.c
229 nodist_cheese_HEADERS = \
230         src/cheese-resource.h
232 noinst_HEADERS = \
233         src/thumbview/cheese-thumb-view.h \
234         src/thumbview/cheese-thumbnail.h \
235         src/thumbview/eog-thumb-nav.h
237 cheese_CPPFLAGS = \
238         $(AM_CPPFLAGS) \
239         $(CHEESE_CFLAGS) \
240         $(CHEESE_GTK_CFLAGS) \
241         -include $(top_builddir)/$(CONFIG_HEADER) \
242         -I$(top_srcdir)/libcheese \
243         -I$(top_srcdir)/src
245 cheese_CFLAGS = -export-dynamic
247 cheese_LDADD = \
248         libcheese.la \
249         libcheese-gtk.la \
250         $(CHEESE_LIBS) \
251         $(CHEESE_GTK_LIBS)
253 EXAMPLES = \
254         tests/cheese-test-camera \
255         tests/cheese-test-chooser \
256         tests/cheese-test-flash \
257         tests/cheese-test-monitor \
258         tests/cheese-test-widget
260 if HAVE_XTEST
261 noinst_PROGRAMS = \
262         $(EXAMPLES) \
263         tests/test-webcam-button
264 else
265 noinst_PROGRAMS = $(EXAMPLES)
266 endif
268 EXAMPLES_CPPFLAGS = \
269         $(AM_CPPFLAGS) \
270         $(CHEESE_GTK_CFLAGS) \
271         -I$(top_srcdir)/libcheese
273 tests_cheese_test_camera_SOURCES = tests/cheese-test-camera.c
274 tests_cheese_test_chooser_SOURCES = tests/cheese-test-chooser.c
275 tests_cheese_test_flash_SOURCES = tests/cheese-test-flash.c
276 tests_cheese_test_monitor_SOURCES = tests/cheese-test-monitor.c
277 tests_cheese_test_widget_SOURCES = tests/cheese-test-widget.c
278 tests_test_webcam_button_SOURCES = tests/test-webcam-button.c
280 tests_cheese_test_camera_CPPFLAGS = $(EXAMPLES_CPPFLAGS)
281 tests_cheese_test_chooser_CPPFLAGS = $(EXAMPLES_CPPFLAGS)
282 tests_cheese_test_flash_CPPFLAGS = $(EXAMPLES_CPPFLAGS)
283 tests_cheese_test_monitor_CPPFLAGS = $(EXAMPLES_CPPFLAGS)
284 tests_cheese_test_widget_CPPFLAGS = $(EXAMPLES_CPPFLAGS)
285 tests_test_webcam_button_CPPFLAGS = $(EXAMPLES_CPPFLAGS)
287 tests_cheese_test_camera_LDADD = \
288         $(CHEESE_LIBS) \
289         $(CHEESE_GTK_LIBS) \
290         libcheese.la
291 tests_cheese_test_chooser_LDADD = \
292         $(CHEESE_LIBS) \
293         $(CHEESE_GTK_LIBS) \
294         libcheese.la \
295         libcheese-gtk.la
296 tests_cheese_test_flash_LDADD = \
297         $(CHEESE_LIBS) \
298         $(CHEESE_GTK_LIBS) \
299         libcheese.la \
300         libcheese-gtk.la
301 tests_cheese_test_monitor_LDADD = \
302         $(CHEESE_LIBS) \
303         $(CHEESE_GTK_LIBS) \
304         libcheese.la \
305         libcheese-gtk.la
306 tests_cheese_test_widget_LDADD = \
307         $(CHEESE_LIBS) \
308         $(CHEESE_GTK_LIBS) \
309         libcheese.la \
310         libcheese-gtk.la
311 tests_test_webcam_button_LDADD = $(XTEST_LIBS)
313 @INTLTOOL_DESKTOP_RULE@
314 desktopdir = $(datadir)/applications
315 desktop_in_files = data/cheese.desktop.in
316 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
318 gsettings_SCHEMAS = data/org.gnome.Cheese.gschema.xml
319 @GSETTINGS_RULES@
322 pkgconfigdir = $(libdir)/pkgconfig
323 pkgconfig_DATA = \
324         data/cheese.pc \
325         data/cheese-gtk.pc
327 iconthemedir = $(datadir)/icons/hicolor
329 appsicon16dir = $(iconthemedir)/16x16/apps
330 appsicon22dir = $(iconthemedir)/22x22/apps
331 appsicon24dir = $(iconthemedir)/24x24/apps
332 appsicon32dir = $(iconthemedir)/32x32/apps
333 appsicon48dir = $(iconthemedir)/48x48/apps
334 appsicon256dir = $(iconthemedir)/256x256/apps
336 dist_appsicon16_DATA = data/icons/16x16/cheese.png
337 dist_appsicon22_DATA = data/icons/22x22/cheese.png
338 dist_appsicon24_DATA = data/icons/24x24/cheese.png
339 dist_appsicon32_DATA = data/icons/32x32/cheese.png
340 dist_appsicon48_DATA = data/icons/48x48/cheese.png
341 dist_appsicon256_DATA = data/icons/256x256/cheese.png
343 update_icon_cache = gtk-update-icon-cache --ignore-theme-index --force
345 install-data-hook: install-update-icon-cache
346 uninstall-hook: uninstall-update-icon-cache
347         touch libcheese_la_vala.stamp
349 install-update-icon-cache:
350         $(AM_V_at)$(POST_INSTALL)
351         test -n "$(DESTDIR)" || $(update_icon_cache) "$(iconthemedir)"
353 uninstall-update-icon-cache:
354         $(AM_V_at)$(POST_UNINSTALL)
355         test -n "$(DESTDIR)" || $(update_icon_cache) "$(iconthemedir)"
357 # Tests.
358 check_PROGRAMS = \
359         tests/test-libcheese \
360         tests/test-libcheese-gtk
362 tests_test_libcheese_gtk_SOURCES = \
363         libcheese/um-crop-area.c \
364         tests/test-libcheese-gtk.c
365 tests_test_libcheese_gtk_CPPFLAGS = $(EXAMPLES_CPPFLAGS)
366 tests_test_libcheese_gtk_LDADD = \
367         $(CHEESE_LIBS) \
368         $(CHEESE_GTK_LIBS) \
369         libcheese-gtk.la \
370         libcheese.la
372 tests_test_libcheese_SOURCES = \
373         tests/test-libcheese.c
374 tests_test_libcheese_CPPFLAGS = $(EXAMPLES_CPPFLAGS)
375 tests_test_libcheese_LDADD = \
376         $(CHEESE_LIBS) \
377         libcheese.la
379 if CHEESE_ENABLE_TESTS
380 # Not automake built-in TESTS_ENVIRONMENT!
381 TEST_ENVIRONMENT = MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
383 # test: run all tests.
384 test: $(check_PROGRAMS)
385         $(AM_V_at)$(TEST_ENVIRONMENT) $(GTESTER) --verbose $(check_PROGRAMS)
387 # test-report: run tests and generate report.
388 # perf-report: run tests with -m perf and generate report.
389 # full-report: like test-report: with -m perf and -m slow.
390 test-report perf-report full-report: $(check_PROGRAMS)
391         $(AM_V_at)test -z "$(check_PROGRAMS)" || { \
392           case $@ in \
393           test-report) test_options="-k";; \
394           perf-report) test_options="-k -m=perf";; \
395           full-report) test_options="-k -m=perf -m=slow";; \
396           esac ; \
397           $(TEST_ENVIRONMENT) $(GTESTER) --verbose $$test_options -o test-log.xml $(check_PROGRAMS) ; \
398           if test -d "$(top_srcdir)/.git" ; then \
399             REVISION=`git describe` ; \
400           else \
401             REVISION=$(PACKAGE_VERSION) ; \
402           fi ; \
403           echo '<?xml version="1.0"?>' > $@.xml ; \
404           echo '<report-collection>' >> $@.xml ; \
405           echo '<info>' >> $@.xml ; \
406           echo '  <package>$(PACKAGE_NAME)</package>' >> $@.xml ; \
407           echo '  <version>$(PACKAGE_VERSION)</version>' >> $@.xml ; \
408           echo "  <revision>$$REVISION</revision>" >> $@.xml ; \
409           echo '</info>' >> $@.xml ; \
410           sed '1,1s/^<?xml\b[^>?]*?>//' < test-log.xml >> $@.xml ; \
411           rm test-log.xml ; \
412           echo >> $@.xml ; \
413           echo '</report-collection>' >> $@.xml ; \
414           $(GTESTER_REPORT) --version 2>/dev/null 1>&2 ; test "$$?" != 0 || $(GTESTER_REPORT) $@.xml >$@.html ; \
415         }
416 else # !CHEESE_ENABLE_TESTS
417 test:
418         echo "Test run disabled due to the lack of GLib testing utilities"
419 endif
421 # Code coverage reporting.
422 if CHEESE_ENABLE_LCOV
423 # Depend on full-report so that all the tests are run.
424 lcov: full-report
425         $(AM_V_at)$(LCOV) --base-directory $(top_builddir) \
426                 --directory $(top_builddir)/libcheese --capture \
427                 --output-file cheese-lcov.info --test-name CHEESE \
428                 --no-checksum --compat-libtool
429         $(AM_V_at)LANG=C $(LCOV_GENHTML) --prefix $(top_builddir) \
430                 --output-directory cheese-lcov --title "Cheese code coverage" \
431                 --legend --show-details cheese-lcov.info
433 lcov-clean:
434         $(AM_V_at)$(LCOV) --directory $(top_builddir) -z
435         $(AM_V_at)rm -rf cheese-lcov.info cheese-lcov
436         $(AM_V_at)find -name '*.gcda' -exec rm -f {} +
437 else # !CHEESE_ENABLE_LCOV
438 lcov:
439         $(AM_V_at)echo "Code coverage reporting not available"
441 lcov-clean:
442         $(AM_V_at)rm -rf cheese-lcov.info cheese-lcov
443         $(AM_V_at)find -name '*.gcda' -exec rm -f {} +
444 endif
446 # gtk-doc
447 gtkdoc_builddir = $(top_builddir)/docs/reference
448 gtkdoc_distdir = $(top_distdir)/docs/reference
449 gtkdoc_srcdir = $(top_srcdir)/docs/reference
451 all-local: $(bin_PROGRAMS)
452         cd $(gtkdoc_builddir) && $(MAKE) $(AM_MAKEFLAGS) all
453 # run make test as part of make check.
454 check-local: test
455         cd $(gtkdoc_builddir) && $(MAKE) $(AM_MAKEFlAGS) check
456 clean-local: lcov-clean
457         cd $(gtkdoc_builddir) && $(MAKE) $(AM_MAKEFLAGS) clean
458         find -name '*.gcno' -exec rm -f {} +
459 distclean-local:
460         cd $(gtkdoc_builddir) && $(MAKE) $(AM_MAKEFLAGS) distclean
461 docs: $(lib_LTLIBRARIES)
462         cd $(gtkdoc_builddir) && $(MAKE) $(AM_MAKEFLAGS) docs
463 install-data-local:
464         cd $(gtkdoc_builddir) && $(MAKE) $(AM_MAKEFLAGS) install-data
465 uninstall-local:
466         cd $(gtkdoc_builddir) && $(MAKE) $(AM_MAKEFLAGS) uninstall
468 dist-hook: git-changelog-hook
469         $(MKDIR_P) $(gtkdoc_distdir)
470         cp $(gtkdoc_srcdir)/Makefile.am $(gtkdoc_srcdir)/Makefile.in $(gtkdoc_distdir)
471         cd $(gtkdoc_builddir) && $(MAKE) $(AM_MAKEFLAGS) \
472           distdir="../../$(gtkdoc_distdir)" \
473           top_distdir="../../$(top_distdir)" \
474           dist-hook
476 dist_noinst_DATA = \
477         ChangeLog.pre-git \
478         $(desktop_in_files) \
479         $(gsettings_SCHEMAS) \
480         $(noinst_resource_files) \
481         data/cheese.gresource.xml \
482         build-aux/test-driver \
483         $(gtkdoc_srcdir)/cheese-docs.xml \
484         $(gtkdoc_srcdir)/cheese-sections.txt \
485         $(gtkdoc_srcdir)/cheese.xml \
486         $(gtkdoc_srcdir)/version.xml.in \
487         gtk-doc.make \
488         intltool-extract.in \
489         intltool-merge.in \
490         intltool-update.in \
491         $(noinst_libcheese_headers) \
492         $(noinst_libcheese_gtk_headers) \
493         libcheese/cheese-gtk.symbols \
494         m4/introspection.m4 \
495         src/vapi/cheese-common.deps \
496         src/vapi/cheese-common.vapi \
497         src/vapi/cheese-thumbview.vapi \
498         src/vapi/config.vapi \
499         src/vapi/eogthumbnav.vapi
501 dist_noinst_SCRIPTS = \
502         autogen.sh
504 CLEANFILES = \
505         $(desktop_DATA) \
506         $(pkgconfig_DATA) \
507         $(enum_data) \
508         $(gir_DATA) \
509         $(typelib_DATA) \
510         src/cheese-resource.c \
511         src/cheese-resource.h
513 DISTCLEANFILES = \
514         libcheese_la_vala.stamp \
515         intltool-extract \
516         intltool-merge \
517         intltool-update \
518         po/.intltool-merge-cache
520 MAINTAINERCLEANFILES = \
521         build-aux/compile \
522         build-aux/config.guess \
523         build-aux/config.sub \
524         build-aux/depcomp \
525         build-aux/install-sh \
526         build-aux/ltmain.sh \
527         build-aux/missing \
528         build-aux/test-driver \
529         aclocal.m4 \
530         config.h.n \
531         $(gsettings_SCHEMAS:.xml=.valid) \
532         mkinstalldirs \
533         omf.make \
534         xmldocs.make
536 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection --enable-man
538 CHANGELOG_START = 2.26.0
540 git-changelog-hook:
541         $(AM_V_at)if $(top_srcdir)/build-aux/missing --run git \
542                 --git-dir=$(top_srcdir)/.git --work-tree=$(top_srcdir) log \
543                 --stat -M -C --name-status --no-color $(CHANGELOG_START).. \
544                 | fmt --split-only >.ChangeLog.tmp; \
545         then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \
546         else rm -f .ChangeLog.tmp; exit 1; fi
548 .PHONY: docs git-changelog-hook test test-report perf-report full-report
549 .PHONY: lcov lcov-clean