xref: /btstack/test/linked_list/Makefile (revision cd5f23a3250874824c01a2b3326a9522fea3f99f)
1CC=g++
2
3# Requirements: cpputest.github.io
4
5BTSTACK_ROOT =  ../..
6CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
7
8CFLAGS  = -g -Wall -I. -I../ -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
9
10VPATH += ${BTSTACK_ROOT}/src/ble
11VPATH += ${BTSTACK_ROOT}/src
12VPATH += ${BTSTACK_ROOT}/platform/posix
13
14COMMON = \
15    btstack_linked_list.c \
16    hci_dump.c \
17    btstack_util.c \
18
19CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
20CFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
21
22LDFLAGS += -lCppUTest -lCppUTestExt
23LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
24LDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
25
26COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
27COMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
28
29all: build-coverage/btstack_linked_list_test build-asan/btstack_linked_list_test
30
31build-%:
32	mkdir -p $@
33
34build-coverage/%.o: %.c | build-coverage
35	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
36
37build-asan/%.o: %.c | build-asan
38	${CC} -c $(CFLAGS_ASAN) $< -o $@
39
40build-coverage/btstack_linked_list_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_linked_list_test.o | build-coverage
41	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
42
43build-asan/btstack_linked_list_test: ${COMMON_OBJ_ASAN} build-asan/btstack_linked_list_test.o | build-asan
44	${CC} $^ ${LDFLAGS_ASAN} -o $@
45
46test: all
47	build-asan/btstack_linked_list_test
48
49coverage: all
50	rm -f build-coverage/*.gcda
51	build-coverage/btstack_linked_list_test
52
53clean:
54	rm -rf build-coverage build-asan
55