1 CFLAGS=-O
   2 
   3 puff: puff.o pufftest.o
   4 
   5 puff.o: puff.h
   6 
   7 pufftest.o: puff.h
   8 
   9 test: puff
  10         puff zeros.raw
  11 
  12 puft: puff.c puff.h pufftest.o
  13         cc -fprofile-arcs -ftest-coverage -o puft puff.c pufftest.o
  14 
  15 # puff full coverage test (should say 100%)
  16 cov: puft
  17         @rm -f *.gcov *.gcda
  18         @puft -w zeros.raw 2>&1 | cat > /dev/null
  19         @echo '04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
  20         @echo '00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
  21         @echo '00 00 00 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 254
  22         @echo '00 01 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
  23         @echo '01 01 00 fe ff 0a' | xxd -r -p | puft -f 2>&1 | cat > /dev/null
  24         @echo '02 7e ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246
  25         @echo '02' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
  26         @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
  27         @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
  28         @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
  29         @echo '0b 00 00' | xxd -r -p | puft -f 2>&1 | cat > /dev/null
  30         @echo '1a 07' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246
  31         @echo '0c c0 81 00 00 00 00 00 90 ff 6b 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 245
  32         @puft -f zeros.raw 2>&1 | cat > /dev/null
  33         @echo 'fc 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 253
  34         @echo '04 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 252
  35         @echo '04 00 24 49' | xxd -r -p | puft 2> /dev/null || test $$? -eq 251
  36         @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
  37         @echo '04 00 24 e9 ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 250
  38         @echo '04 00 24 e9 ff 6d' | xxd -r -p | puft 2> /dev/null || test $$? -eq 247
  39         @gcov -n puff.c
  40 
  41 clean:
  42         rm -f puff puft *.o *.gc*