xref: /btstack/test/ring_buffer/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${BTSTACK_ROOT}/src
11CFLAGS += -I..
12LDFLAGS += -lCppUTest -lCppUTestExt
13
14VPATH += ${BTSTACK_ROOT}/src
15
16COMMON = \
17    btstack_ring_buffer.c \
18
19CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
20CFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
21
22LDFLAGS += -lCppUTest -lCppUTestExt
23LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
24LDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
25
26COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
27COMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
28
29all: build-coverage/btstack_ring_buffer_test build-asan/btstack_ring_buffer_test
30
31build-%:
32	mkdir -p $@
33
34build-coverage/%.o: %.c | build-coverage
35	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
36
37build-coverage/%.o: %.cpp | build-coverage
38	${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
39
40build-asan/%.o: %.c | build-asan
41	${CC} -c $(CFLAGS_ASAN) $< -o $@
42
43build-asan/%.o: %.cpp | build-asan
44	${CXX} -c $(CFLAGS_ASAN) $< -o $@
45
46
47build-coverage/btstack_ring_buffer_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_ring_buffer_test.o | build-coverage
48	${CXX} $^  ${LDFLAGS_COVERAGE} -o $@
49
50build-asan/btstack_ring_buffer_test: ${COMMON_OBJ_ASAN} build-asan/btstack_ring_buffer_test.o | build-asan
51	${CXX} $^  ${LDFLAGS_ASAN} -o $@
52
53
54test: all
55	build-asan/btstack_ring_buffer_test
56
57coverage: all
58	rm -f build-coverage/*.gcda
59	build-coverage/btstack_ring_buffer_test
60
61clean:
62	rm -rf build-coverage build-asan
63
64