xref: /btstack/test/btstack_link_key_db/Makefile (revision 4a9eead824c50b40e12b6f72611a74a3f57a47f6)
1# Requirements: cpputest.github.io
2
3BTSTACK_ROOT =  ../..
4CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
5
6CFLAGS  = -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null
7CFLAGS += -I${BTSTACK_ROOT}/src
8CFLAGS += -I${BTSTACK_ROOT}/platform/posix
9CFLAGS += -I${BTSTACK_ROOT}/3rd-party/tinydir
10CFLAGS += -I.
11
12CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
13CFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
14
15LDFLAGS += -lCppUTest -lCppUTestExt
16LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
17LDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
18
19VPATH += ${BTSTACK_ROOT}/src/classic
20VPATH += ${BTSTACK_ROOT}/src
21VPATH += ${BTSTACK_ROOT}/platform/posix
22
23FS = \
24    btstack_util.c                   \
25    hci_dump.c                \
26	btstack_link_key_db_fs.c
27
28
29MEMORY = \
30	btstack_util.c               \
31	btstack_memory_pool.c	     \
32    btstack_memory.c		     \
33    hci_dump.c                   \
34    btstack_link_key_db_memory.c \
35    btstack_linked_list.c
36
37FS_OBJ_COVERAGE = $(addprefix build-coverage/,$(FS:.c=.o))
38FS_OBJ_ASAN     = $(addprefix build-asan/,    $(FS:.c=.o))
39
40MEMORY_OBJ_COVERAGE = $(addprefix build-coverage/,$(MEMORY:.c=.o))
41MEMORY_OBJ_ASAN     = $(addprefix build-asan/,    $(MEMORY:.c=.o))
42
43all:  build-coverage/btstack_link_key_db_memory_test build-coverage/btstack_link_key_db_fs_test build-asan/btstack_link_key_db_memory_test build-asan/btstack_link_key_db_fs_test
44
45build-%:
46	mkdir -p $@
47
48build-coverage/%.o: %.c | build-coverage
49	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
50
51build-coverage/%.o: %.cpp | build-coverage
52	${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
53
54build-asan/%.o: %.c | build-asan
55	${CC} -c $(CFLAGS_ASAN) $< -o $@
56
57build-asan/%.o: %.cpp | build-asan
58	${CXX} -c $(CFLAGS_ASAN) $< -o $@
59
60build-coverage/btstack_link_key_db_fs_test: ${FS_OBJ_COVERAGE} build-coverage/btstack_link_key_db_fs_test.o | build-coverage
61	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
62
63build-coverage/btstack_link_key_db_memory_test: ${MEMORY_OBJ_COVERAGE} build-coverage/btstack_link_key_db_memory_test.o | build-coverage
64	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
65
66build-asan/btstack_link_key_db_fs_test: ${FS_OBJ_ASAN} build-asan/btstack_link_key_db_fs_test.o | build-asan
67	${CXX} $^ ${LDFLAGS_ASAN} -o $@
68
69build-asan/btstack_link_key_db_memory_test: ${MEMORY_OBJ_ASAN} build-asan/btstack_link_key_db_memory_test.o | build-asan
70	${CXX} $^ ${LDFLAGS_ASAN} -o $@
71
72
73test: all
74	build-asan/btstack_link_key_db_memory_test
75	build-asan/btstack_link_key_db_fs_test
76
77coverage: all
78	rm -f build-coverage/*.gcda
79	build-coverage/btstack_link_key_db_memory_test
80	build-coverage/btstack_link_key_db_fs_test
81
82clean:
83	rm -rf build-coverage build-asan
84
85