1CC = g++ 2 3# Requirements: cpputest.github.io 4 5BTSTACK_ROOT = ../.. 6CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest 7 8CFLAGS = -g -Wall -I.. -I${BTSTACK_ROOT}/src 9CFLAGS += -fprofile-arcs -ftest-coverage 10LDFLAGS += -lCppUTest -lCppUTestExt 11# -L$(CPPUTEST_HOME) 12 13VPATH += ${BTSTACK_ROOT}/src/classic 14VPATH += ${BTSTACK_ROOT}/src 15VPATH += ${BTSTACK_ROOT}/platform/posix 16 17COMMON = \ 18 sdp_util.c \ 19 sdp_client.c \ 20 spp_server.c \ 21 mock.c \ 22 hci_dump.c \ 23 btstack_util.c \ 24 25COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o)) 26 27all: $(addprefix build-coverage/, sdp_rfcomm_query general_sdp_query service_attribute_search_query service_search_query) 28 29build-coverage: 30 mkdir -p build-coverage 31 32build-coverage/%.o: %.c | build-coverage 33 ${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@ 34 35build-coverage/sdp_rfcomm_query: ${COMMON_OBJ} build-coverage/sdp_client_rfcomm.o build-coverage/sdp_rfcomm_query.o build-coverage/btstack_linked_list.o | build-coverage 36 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 37 38build-coverage/general_sdp_query: ${COMMON_OBJ} build-coverage/general_sdp_query.o build-coverage/btstack_linked_list.o | build-coverage 39 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 40 41build-coverage/service_attribute_search_query: ${COMMON_OBJ} build-coverage/service_attribute_search_query.o build-coverage/btstack_linked_list.o | build-coverage 42 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 43 44build-coverage/service_search_query: ${COMMON_OBJ} build-coverage/service_search_query.o build-coverage/btstack_linked_list.o | build-coverage 45 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 46 47test: all 48 ASAN_OPTIONS=detect_leaks=0 build-coverage/sdp_rfcomm_query 49 build-coverage/general_sdp_query 50 build-coverage/service_attribute_search_query 51 build-coverage/service_search_query 52 53coverage: all 54 ASAN_OPTIONS=detect_leaks=0 build-coverage//sdp_rfcomm_query 55 build-coverage//general_sdp_query 56 build-coverage//service_attribute_search_query 57 build-coverage//service_search_query 58 59clean: 60 rm -f sdp_rfcomm_query general_sdp_query service_attribute_search_query service_search_query *.o *.o 61 rm -rf *.dSYM 62 rm -f *.gcno *.gcda 63 64