1 all: 2 scons 3 4 clean: 5 scons -c 6 7 coverage: 8 rm -rf build coverage 9 10 # LCOV does not like the newer gcov format 11 scons CC=gcc-4.6 CXX=gcc-4.6 12 13 # We are only interested in pb_encode.o and pb_decode.o 14 find build -name '*.gcda' -and \! \( -name '*pb_encode*' -or -name '*pb_decode*' \) -exec rm '{}' \; 15 16 # Collect the data 17 mkdir build/coverage 18 lcov --base-directory . --directory build/ --gcov-tool gcov-4.6 -c -o build/coverage/nanopb.info 19 20 # Generate HTML 21 genhtml -o build/coverage build/coverage/nanopb.info 22