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