1ee9e11d0d4e3361533860bf04896abb86a291bfbElliott HughesCFLAGS=-O
2ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes
3ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughespuff: puff.o pufftest.o
4ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes
5ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughespuff.o: puff.h
6ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes
7ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughespufftest.o: puff.h
89e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
99e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttest: puff
109e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project	puff zeros.raw
119e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
12ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughespuft: puff.c puff.h pufftest.o
13ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	cc -fprofile-arcs -ftest-coverage -o puft puff.c pufftest.o
14ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes
15ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes# puff full coverage test (should say 100%)
16ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughescov: puft
17ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@rm -f *.gcov *.gcda
18ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@puft -w zeros.raw 2>&1 | cat > /dev/null
19ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
20ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
21ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '00 00 00 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 254
22ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '00 01 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
23ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '01 01 00 fe ff 0a' | xxd -r -p | puft -f 2>&1 | cat > /dev/null
24ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '02 7e ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246
25ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '02' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
26ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
27ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04 80 49 92 24 49 92 24 71 ff ff 93 11 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 249
28ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04 c0 81 08 00 00 00 00 20 7f eb 0b 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246
29ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '0b 00 00' | xxd -r -p | puft -f 2>&1 | cat > /dev/null
30ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '1a 07' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246
31ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '0c c0 81 00 00 00 00 00 90 ff 6b 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 245
32ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@puft -f zeros.raw 2>&1 | cat > /dev/null
33ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo 'fc 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 253
34ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 252
35ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04 00 24 49' | xxd -r -p | puft 2> /dev/null || test $$? -eq 251
36ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 84' | xxd -r -p | puft 2> /dev/null || test $$? -eq 248
37ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04 00 24 e9 ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 250
38ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@echo '04 00 24 e9 ff 6d' | xxd -r -p | puft 2> /dev/null || test $$? -eq 247
39ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	@gcov -n puff.c
40ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes
419e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectclean:
42ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes	rm -f puff puft *.o *.gc*
43