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