xref: /btstack/test/security_manager/Makefile (revision 08a78038ba366a6a2a2df8fea05d5123880fdff2)
1# Requirements: cpputest.github.io
2
3BTSTACK_ROOT =  ../..
4
5# CppuTest from pkg-config
6CFLAGS  += ${shell pkg-config --cflags CppuTest}
7LDFLAGS += ${shell pkg-config --libs   CppuTest}
8
9CFLAGS += -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null
10CFLAGS += -I. -I.. -I${BTSTACK_ROOT}/src
11CFLAGS += -I${BTSTACK_ROOT}/platform/embedded
12CFLAGS += -I${BTSTACK_ROOT}/platform/posix
13CFLAGS += -I${BTSTACK_ROOT}/3rd-party/mbedtls/include
14CFLAGS += -I${BTSTACK_ROOT}/3rd-party/micro-ecc
15CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
16LDFLAGS +=  -lCppUTest -lCppUTestExt
17
18VPATH += ${BTSTACK_ROOT}/src
19VPATH += ${BTSTACK_ROOT}/src/ble
20VPATH += ${BTSTACK_ROOT}/platform/embedded
21VPATH += ${BTSTACK_ROOT}/platform/posix
22VPATH += ${BTSTACK_ROOT}/3rd-party/micro-ecc
23VPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
24
25COMMON = \
26	btstack_crypto.c    		\
27	btstack_linked_list.c		\
28	btstack_memory.c			\
29	btstack_memory_pool.c		\
30	btstack_run_loop.c			\
31	btstack_run_loop_embedded.c \
32	hci_cmd.c					\
33	hci_dump.c					\
34	hci_dump_posix_fs.c  		\
35	le_device_db_memory.c       \
36	mock.c 				        \
37	rijndael.c 					\
38	sm.c     					\
39	btstack_util.c			            \
40	btstack_tlv.c \
41
42CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
43CFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
44
45LDFLAGS += -lCppUTest -lCppUTestExt
46LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
47LDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
48
49COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o)) build-coverage/uECC.o
50COMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o)) build-asan/uECC.o
51
52all: build-coverage/security_manager build-asan/security_manager
53
54build-%:
55	mkdir -p $@
56
57build-coverage/%.o: %.c | build-coverage
58	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
59
60build-coverage/%.o: %.cpp | build-coverage
61	${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
62
63build-asan/%.o: %.c | build-asan
64	${CC} -c $(CFLAGS_ASAN) $< -o $@
65
66build-asan/%.o: %.cpp | build-asan
67	${CXX} -c $(CFLAGS_ASAN) $< -o $@
68
69
70build-coverage/security_manager: ${COMMON_OBJ_COVERAGE} build-coverage/security_manager.o | build-coverage
71	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
72
73build-asan/security_manager: ${COMMON_OBJ_ASAN} build-asan/security_manager.o | build-asan
74	${CXX} $^ ${LDFLAGS_ASAN} -o $@
75
76
77test: all
78	build-asan/security_manager
79
80coverage: all
81	rm -f build-coverage/*.gcda
82	build-coverage/security_manager
83
84clean:
85	rm -rf build-coverage build-asan
86