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