| 27 iterator.c linked_list.c list.c map.c mempool.c printf.c string.c tree.c \ |
27 iterator.c linked_list.c list.c map.c mempool.c printf.c string.c tree.c \ |
| 28 streams.c szmul.c properties.c json.c |
28 streams.c szmul.c properties.c json.c |
| 29 |
29 |
| 30 OBJ_EXT=.o |
30 OBJ_EXT=.o |
| 31 OBJ=$(SRC:%.c=$(build_dir)/%$(OBJ_EXT)) |
31 OBJ=$(SRC:%.c=$(build_dir)/%$(OBJ_EXT)) |
| 32 GCOV=$(SRC:%.c=%.c.gcov) |
|
| 33 |
32 |
| 34 static: $(build_dir)/libucx_static$(STLIB_EXT) |
33 static: $(build_dir)/libucx_static$(STLIB_EXT) |
| 35 |
34 |
| 36 shared: $(build_dir)/libucx$(SHLIB_EXT) |
35 shared: $(build_dir)/libucx$(SHLIB_EXT) |
| 37 |
36 |
| 38 check-coverage: $(GCOV) |
37 check-coverage: $(SRC:%.c=$(build_dir)/%.gcda) |
| 39 mv *.gcov "$(build_dir)" |
38 gcovr --html-details $(build_dir)/coverage.html \ |
| |
39 --object-directory $(build_dir) \ |
| |
40 --root $(root_dir)/src \ |
| |
41 --exclude-directories $(build_dir)/tests \ |
| |
42 $(build_dir) |
| 40 |
43 |
| 41 %.c.gcov: %.c $(build_dir)/%.gcno |
44 $(build_dir)/%.gcda: |
| 42 @tabs 22 |
|
| 43 @gcov -Ho "$(build_dir)" $< | grep -A1 'File' | grep -v '\--' \ |
|
| 44 | sed 's/File / /' | sed 's/Lines executed:/\t/' | tr -d '\n'"'" \ |
|
| 45 | sed -E 's/(of [0-9]+)/\1\n/g' |
|
| 46 @tabs -8 |
|
| 47 |
|
| 48 $(build_dir)/%.gcno: |
|
| 49 test -f "$@" |
45 test -f "$@" |
| 50 |
46 |
| 51 $(build_dir)/libucx_static$(STLIB_EXT): $(OBJ) |
47 $(build_dir)/libucx_static$(STLIB_EXT): $(OBJ) |
| 52 $(AR) $(ARFLAGS) $@ $^ |
48 $(AR) $(ARFLAGS) $@ $^ |
| 53 |
49 |
| 58 $(MKDIR) $(libdir) $(includedir)/cx |
54 $(MKDIR) $(libdir) $(includedir)/cx |
| 59 $(RMFILE) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION_MAJOR) |
55 $(RMFILE) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION_MAJOR) |
| 60 $(RMFILE) $(libdir)/libucx$(SHLIB_EXT) |
56 $(RMFILE) $(libdir)/libucx$(SHLIB_EXT) |
| 61 $(COPYFILE) $(build_dir)/libucx_static$(STLIB_EXT) $(libdir)/libucx_static$(STLIB_EXT) |
57 $(COPYFILE) $(build_dir)/libucx_static$(STLIB_EXT) $(libdir)/libucx_static$(STLIB_EXT) |
| 62 $(COPYFILE) $(build_dir)/libucx$(SHLIB_EXT) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION) |
58 $(COPYFILE) $(build_dir)/libucx$(SHLIB_EXT) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION) |
| 63 $(COPYALL) $(src_dir)/src/cx $(includedir) |
59 $(COPYALL) $(root_dir)/src/cx $(includedir) |
| 64 $(SYMLINK) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION_MAJOR) |
60 $(SYMLINK) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION_MAJOR) |
| 65 $(SYMLINK) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION_MAJOR) $(libdir)/libucx$(SHLIB_EXT) |
61 $(SYMLINK) $(libdir)/libucx$(SHLIB_EXT).$(LIBVERSION_MAJOR) $(libdir)/libucx$(SHLIB_EXT) |
| 66 |
62 |
| 67 FORCE: |
63 FORCE: |
| 68 |
64 |