17ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohenall:
27ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	scons
37ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen
47ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohenclean:
57ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	scons -c
67ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen
77ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohencoverage:
87ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	rm -rf build coverage
97ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen
107ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	# LCOV does not like the newer gcov format
117ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	scons CC=gcc-4.6 CXX=gcc-4.6
127ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen
137ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	# We are only interested in pb_encode.o and pb_decode.o
147ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	find build -name '*.gcda' -and \! \( -name '*pb_encode*' -or -name '*pb_decode*' \) -exec rm '{}' \;
157ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen
167ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	# Collect the data
177ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	mkdir build/coverage
187ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	lcov --base-directory . --directory build/ --gcov-tool gcov-4.6 -c -o build/coverage/nanopb.info
197ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen
207ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	# Generate HTML
217ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen	genhtml -o build/coverage build/coverage/nanopb.info
22