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