File: Makefile.gcov

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (62 lines) | stat: -rw-r--r-- 1,604 bytes parent folder | download
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
#
# GCOV
#

LTP = lcov
LTP_GENHTML = genhtml

LCOV_EXCLUDES = \
	'$(top_srcdir)/ext/bcmath/libbcmath/*' \
	'$(top_srcdir)/ext/date/lib/*' \
	'$(top_srcdir)/ext/fileinfo/libmagic/*' \
	'$(top_srcdir)/ext/gd/libgd/*' \
	'$(top_srcdir)/ext/hash/sha3/*' \
	'$(top_srcdir)/ext/mbstring/libmbfl/*' \
	'$(top_srcdir)/ext/pcre/pcre2lib/*' \
	'$(top_srcdir)/parse_date.re' \
	'$(top_srcdir)/parse_iso_intervals.re'

GCOVR_EXCLUDES = \
	'ext/bcmath/libbcmath/.*' \
	'ext/date/lib/.*' \
	'ext/fileinfo/libmagic/.*' \
	'ext/gd/libgd/.*' \
	'ext/hash/sha3/.*' \
	'ext/mbstring/libmbfl/.*' \
	'ext/pcre/pcre2lib/.*'

lcov: lcov-html

php_lcov.info:
	@echo "Generating lcov data for $@"
	$(LTP) --capture --no-external --directory . --output-file $@
	@echo "Stripping bundled libraries from $@"
	$(LTP) --output-file $@ --remove $@ '*/<stdout>' $(LCOV_EXCLUDES)

lcov-html: php_lcov.info
	@echo "Generating lcov HTML"
	$(LTP_GENHTML) --legend --output-directory lcov_html/ --title "PHP Code Coverage" php_lcov.info

lcov-clean:
	rm -f php_lcov.info
	rm -rf lcov_html/

lcov-clean-data:
	@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f

gcovr-html:
	@echo "Generating gcovr HTML"
	@rm -rf gcovr_html/
	@mkdir gcovr_html
	gcovr -sr . -o gcovr_html/index.html --html --html-details \
		--exclude-directories 'ext/date/lib$$' \
		$(foreach lib, $(GCOVR_EXCLUDES), -e $(lib))

gcovr-xml:
	@echo "Generating gcovr XML"
	@rm -f gcovr.xml
	gcovr -sr . -o gcovr.xml --xml \
		--exclude-directories 'ext/date/lib$$' \
		$(foreach lib, $(GCOVR_EXCLUDES), -e $(lib))

.PHONY: gcovr-html lcov-html php_lcov.info