xref: /btstack/test/embedded/Makefile (revision 38b632b5f750c9c8471a5f58c48f2a608c00a98a)
1353d71a9SMatthias RingwaldCC = g++
2353d71a9SMatthias Ringwald
3353d71a9SMatthias Ringwald# Requirements: cpputest.github.io
4353d71a9SMatthias Ringwald
5353d71a9SMatthias RingwaldBTSTACK_ROOT =  ../..
6353d71a9SMatthias Ringwald
7353d71a9SMatthias RingwaldCFLAGS  = -g -Wall \
8713ac744SMatthias Ringwald		  -I. \
9353d71a9SMatthias Ringwald		  -I${BTSTACK_ROOT}/src \
10353d71a9SMatthias Ringwald		  -I${BTSTACK_ROOT}/platform/embedded
11353d71a9SMatthias Ringwald
12713ac744SMatthias RingwaldCFLAGS += -DHAVE_HAL_AUDIO
13713ac744SMatthias Ringwald
14cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
15cd56fb44SMatthias RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address
16cd56fb44SMatthias Ringwald
17353d71a9SMatthias RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
18cd56fb44SMatthias RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
19cd56fb44SMatthias RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
20353d71a9SMatthias Ringwald
21353d71a9SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src
22353d71a9SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/ble
23353d71a9SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/embedded
24713ac744SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/freertos
25353d71a9SMatthias Ringwald
26353d71a9SMatthias RingwaldCOMMON = \
27353d71a9SMatthias Ringwald	btstack_em9304_spi_embedded.c \
28516e2db7SMilanka Ringwald	btstack_memory.c \
29a288e044SMatthias Ringwald	btstack_run_loop.c \
30353d71a9SMatthias Ringwald	btstack_run_loop_embedded.c \
31353d71a9SMatthias Ringwald	btstack_stdin_embedded.c \
32353d71a9SMatthias Ringwald	btstack_tlv_flash_bank.c \
33353d71a9SMatthias Ringwald	btstack_uart_block_embedded.c \
34353d71a9SMatthias Ringwald	hal_flash_bank_memory.c \
35a288e044SMatthias Ringwald    btstack_audio.c \
36a288e044SMatthias Ringwald    btstack_audio_embedded.c \
37a288e044SMatthias Ringwald    btstack_linked_list.c  \
38a288e044SMatthias Ringwald    btstack_resample.c \
39a288e044SMatthias Ringwald    btstack_ring_buffer.c \
40a288e044SMatthias Ringwald    btstack_run_loop_base.c \
41a288e044SMatthias Ringwald    btstack_slip.c \
42a288e044SMatthias Ringwald    btstack_util.c		  \
43353d71a9SMatthias Ringwald    hci_dump.c    \
44a288e044SMatthias Ringwald    hci_transport_em9304_spi.c \
45a288e044SMatthias Ringwald    hci_transport_h4.c \
46a288e044SMatthias Ringwald    hci_transport_h5.c \
47353d71a9SMatthias Ringwald
48cd56fb44SMatthias RingwaldFREERTOS = \
49cd56fb44SMatthias Ringwald	btstack_run_loop_freertos.c \
50cd56fb44SMatthias Ringwald	btstack_uart_block_freertos.c \
51353d71a9SMatthias Ringwald
52cd56fb44SMatthias RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
53cd56fb44SMatthias RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
54713ac744SMatthias Ringwald
55cd56fb44SMatthias RingwaldFREERTOS_OBJ_COVERAGE = $(addprefix build-coverage/,$(FREERTOS:.c=.o))
56cd56fb44SMatthias RingwaldFREERTOS_OBJ_ASAN     = $(addprefix build-asan/,    $(FREERTOS:.c=.o))
57353d71a9SMatthias Ringwald
58cd56fb44SMatthias Ringwaldall: build-coverage/embedded_test build-coverage/freertos_test build-asan/embedded_test build-asan/freertos_test
593d87570fSMatthias Ringwald
60cd56fb44SMatthias Ringwaldbuild-%:
61cd56fb44SMatthias Ringwald	mkdir -p $@
62353d71a9SMatthias Ringwald
63cd56fb44SMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage
64cd56fb44SMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
65cd56fb44SMatthias Ringwald
66cd56fb44SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan
67cd56fb44SMatthias Ringwald	${CC} -c $(CFLAGS_ASAN) $< -o $@
68cd56fb44SMatthias Ringwald
69cd56fb44SMatthias Ringwald
70*38b632b5SMatthias Ringwaldbuild-coverage/embedded_test: ${COMMON_OBJ_COVERAGE} build-coverage/embedded_test.o | build-coverage
71cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
72cd56fb44SMatthias Ringwald
73*38b632b5SMatthias Ringwaldbuild-coverage/freertos_test: ${COMMON_OBJ_COVERAGE} ${FREERTOS_OBJS} build-coverage/freertos_test.o | build-coverage
74cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
75cd56fb44SMatthias Ringwald
76*38b632b5SMatthias Ringwaldbuild-asan/embedded_test: ${COMMON_OBJ_ASAN} build-asan/embedded_test.o | build-asan
77cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_ASAN} -o $@
78cd56fb44SMatthias Ringwald
79*38b632b5SMatthias Ringwaldbuild-asan/freertos_test: ${COMMON_OBJ_ASAN} ${FREERTOS_OBJS} build-asan/freertos_test.o | build-asan
80cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_ASAN} -o $@
81713ac744SMatthias Ringwald
82353d71a9SMatthias Ringwaldtest: all
83cd56fb44SMatthias Ringwald	build-asan/embedded_test
84cd56fb44SMatthias Ringwald	build-asan/freertos_test
853d87570fSMatthias Ringwald
863d87570fSMatthias Ringwaldcoverage: all
87cd56fb44SMatthias Ringwald	rm -f build-coverage/*.gcda
883d87570fSMatthias Ringwald	build-coverage/embedded_test
893d87570fSMatthias Ringwald	build-coverage/freertos_test
90353d71a9SMatthias Ringwald
91353d71a9SMatthias Ringwaldclean:
92cd56fb44SMatthias Ringwald	rm -rf build-coverage build-asan
93