| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 # |  | 
| 2 # Makefile for the LCOV example program. |  | 
| 3 # |  | 
| 4 # Make targets: |  | 
| 5 #   - example: compile the example program |  | 
| 6 #   - output:  run test cases on example program and create HTML output |  | 
| 7 #   - clean:   clean up directory |  | 
| 8 # |  | 
| 9 |  | 
| 10 CC      := gcc |  | 
| 11 CFLAGS  := -Wall -I. -fprofile-arcs -ftest-coverage |  | 
| 12 |  | 
| 13 LCOV    := ../bin/lcov |  | 
| 14 GENHTML := ../bin/genhtml |  | 
| 15 GENDESC := ../bin/gendesc |  | 
| 16 GENPNG  := ../bin/genpng |  | 
| 17 |  | 
| 18 # Depending on the presence of the GD.pm perl module, we can use the |  | 
| 19 # special option '--frames' for genhtml |  | 
| 20 USE_GENPNG := $(shell $(GENPNG) --help >/dev/null 2>/dev/null; echo $$?) |  | 
| 21 |  | 
| 22 ifeq ($(USE_GENPNG),0) |  | 
| 23   FRAMES := --frames |  | 
| 24 else |  | 
| 25   FRAMES := |  | 
| 26 endif |  | 
| 27 |  | 
| 28 .PHONY: clean output test_noargs test_2_to_2000 test_overflow |  | 
| 29 |  | 
| 30 all: output |  | 
| 31 |  | 
| 32 example: example.o iterate.o gauss.o |  | 
| 33         $(CC) example.o iterate.o gauss.o -o example -lgcov |  | 
| 34 |  | 
| 35 example.o: example.c iterate.h gauss.h |  | 
| 36         $(CC) $(CFLAGS) -c example.c -o example.o |  | 
| 37 |  | 
| 38 iterate.o: methods/iterate.c iterate.h |  | 
| 39         $(CC) $(CFLAGS) -c methods/iterate.c -o iterate.o |  | 
| 40 |  | 
| 41 gauss.o: methods/gauss.c gauss.h |  | 
| 42         $(CC) $(CFLAGS) -c methods/gauss.c -o gauss.o |  | 
| 43 |  | 
| 44 output: example descriptions test_noargs test_2_to_2000 test_overflow |  | 
| 45         @echo |  | 
| 46         @echo '*' |  | 
| 47         @echo '* Generating HTML output' |  | 
| 48         @echo '*' |  | 
| 49         @echo |  | 
| 50         $(GENHTML) trace_noargs.info trace_args.info trace_overflow.info \ |  | 
| 51                    --output-directory output --title "Basic example" \ |  | 
| 52                    --show-details --description-file descriptions $(FRAMES) \ |  | 
| 53                    --legend |  | 
| 54         @echo |  | 
| 55         @echo '*' |  | 
| 56         @echo '* See '`pwd`/output/index.html |  | 
| 57         @echo '*' |  | 
| 58         @echo |  | 
| 59 |  | 
| 60 descriptions: descriptions.txt |  | 
| 61         $(GENDESC) descriptions.txt -o descriptions |  | 
| 62 |  | 
| 63 all_tests: example test_noargs test_2_to_2000 test_overflow |  | 
| 64 |  | 
| 65 test_noargs: |  | 
| 66         @echo |  | 
| 67         @echo '*' |  | 
| 68         @echo '* Test case 1: running ./example without parameters' |  | 
| 69         @echo '*' |  | 
| 70         @echo |  | 
| 71         $(LCOV) --zerocounters --directory . |  | 
| 72         ./example |  | 
| 73         $(LCOV) --capture --directory . --output-file trace_noargs.info --test-n
    ame test_noargs |  | 
| 74 |  | 
| 75 test_2_to_2000: |  | 
| 76         @echo |  | 
| 77         @echo '*' |  | 
| 78         @echo '* Test case 2: running ./example 2 2000' |  | 
| 79         @echo '*' |  | 
| 80         @echo |  | 
| 81         $(LCOV) --zerocounters --directory . |  | 
| 82         ./example 2 2000 |  | 
| 83         $(LCOV) --capture --directory . --output-file trace_args.info --test-nam
    e test_2_to_2000 |  | 
| 84 |  | 
| 85 test_overflow: |  | 
| 86         @echo |  | 
| 87         @echo '*' |  | 
| 88         @echo '* Test case 3: running ./example 0 100000 (causes an overflow)' |  | 
| 89         @echo '*' |  | 
| 90         @echo |  | 
| 91         $(LCOV) --zerocounters --directory . |  | 
| 92         ./example 0 100000 || true |  | 
| 93         $(LCOV) --capture --directory . --output-file trace_overflow.info --test
    -name "test_overflow" |  | 
| 94 |  | 
| 95 clean: |  | 
| 96         rm -rf *.o *.bb *.bbg *.da *.gcno *.gcda *.info output example \ |  | 
| 97         descriptions |  | 
| 98 |  | 
| OLD | NEW | 
|---|