xref: /btstack/test/btstack_memory/Makefile (revision 3cd2e1916c5f7ab2d62c345206543d9c8faaef88)
1CC = g++
2
3# Requirements: cpputest.github.io
4
5BTSTACK_ROOT =  ../..
6
7CFLAGS  = -g -Wall -I. -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
8
9CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
10CFLAGS_ASAN     = ${CFLAGS} -fsanitize=address
11
12LDFLAGS += -lCppUTest -lCppUTestExt
13LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
14LDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
15
16VPATH += ${BTSTACK_ROOT}/src
17VPATH += ${BTSTACK_ROOT}/src/classic
18VPATH += ${BTSTACK_ROOT}/platform/posix
19
20COMMON = \
21	btstack_util.c		    \
22	hci_dump.c    			\
23	btstack_memory_pool.c 	\
24	btstack_memory.c 	    \
25
26COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
27COMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
28
29all: build-coverage/btstack_memory_pool_test build-coverage/btstack_memory_test build-asan/btstack_memory_pool_test build-asan/btstack_memory_test
30
31build-%:
32	mkdir -p $@
33
34build-coverage/%.o: %.c | build-coverage
35	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
36
37build-asan/%.o: %.c | build-asan
38	${CC} -c $(CFLAGS_ASAN) $< -o $@
39
40
41build-coverage/btstack_memory_pool_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_memory_pool_test.o | build-coverage
42	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
43
44build-coverage/btstack_memory_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_memory_test.o | build-coverage
45	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
46
47build-asan/btstack_memory_pool_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory_pool_test.o | build-asan
48	${CC} $^ ${LDFLAGS_ASAN} -o $@
49
50build-asan/btstack_memory_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory_test.o | build-asan
51	${CC} $^ ${LDFLAGS_ASAN} -o $@
52
53test: all
54	build-asan/btstack_memory_pool_test
55	build-asan/btstack_memory_test
56
57coverage: all
58	rm -f build-coverage/*.gcda
59	build-coverage/btstack_memory_pool_test
60	build-coverage/btstack_memory_test
61
62clean:
63	rm -rf build-coverage build-asan
64