xref: /btstack/test/att_db/Makefile (revision cd5f23a3250874824c01a2b3326a9522fea3f99f)
1CC = g++
2
3# Requirements: cpputest.github.io
4
5BTSTACK_ROOT =  ../..
6
7CFLAGS  = -g -Wall \
8		  -I. \
9		  -I${BTSTACK_ROOT}/src
10CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
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}/3rd-party/rijndael
20VPATH += ${BTSTACK_ROOT}/src
21VPATH += ${BTSTACK_ROOT}/src/ble
22VPATH += ${BTSTACK_ROOT}/platform/posix
23
24COMMON = \
25    btstack_util.c		  \
26    hci_dump.c    \
27    att_db_util.c \
28    btstack_crypto.c \
29    btstack_linked_list.c \
30    hci_cmd.c \
31    rijndael.c
32
33COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
34COMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
35
36all: build-coverage/att_db_util_test build-coverage/att_db_test build-asan/att_db_util_test build-asan/att_db_test
37
38build-%:
39	mkdir -p $@
40
41build-coverage/%.o: %.c | build-coverage
42	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
43
44build-asan/%.o: %.c | build-asan
45	${CC} -c $(CFLAGS_ASAN) $< -o $@
46
47build-coverage/att_db_util_test: ${COMMON_OBJ_COVERAGE} build-coverage/att_db_util_test.o | build-coverage/
48	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
49
50build-coverage/att_db_test: build-coverage/att_db_test.o build-coverage/att_db.o build-coverage/btstack_util.o build-coverage/hci_dump.o build-coverage/att_db_util.o | build-coverage/
51	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
52
53build-asan/att_db_util_test: ${COMMON_OBJ_ASAN} build-asan/att_db_util_test.o | build-asan/
54	${CC} $^ ${LDFLAGS_ASAN} -o $@
55
56build-asan/att_db_test: build-asan/att_db_test.o build-asan/att_db.o build-asan/btstack_util.o build-asan/hci_dump.o build-asan/att_db_util.o | build-asan/
57	${CC} $^ ${LDFLAGS_ASAN} -o $@
58
59test: all
60	build-asan/att_db_util_test
61	build-asan/att_db_test
62
63coverage: all
64	rm -f build-coverage/*.gcda
65	build-coverage/att_db_util_test
66	build-coverage/att_db_test
67
68clean:
69	rm -rf build-coverage build-asan
70
71