2019-09-23 13:12:35 +02:00
|
|
|
CC = g++
|
|
|
|
|
|
|
|
# Requirements: cpputest.github.io
|
|
|
|
|
|
|
|
BTSTACK_ROOT = ../..
|
|
|
|
|
2021-06-12 12:03:02 +02:00
|
|
|
CFLAGS = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null
|
|
|
|
CFLAGS += -I${BTSTACK_ROOT}/src
|
|
|
|
CFLAGS += -I${BTSTACK_ROOT}/platform/embedded
|
|
|
|
CFLAGS += -I.
|
2019-09-23 13:12:35 +02:00
|
|
|
|
2019-09-23 13:52:33 +02:00
|
|
|
CFLAGS += -DHAVE_HAL_AUDIO
|
|
|
|
|
2020-12-01 22:13:09 +01:00
|
|
|
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
|
2021-01-29 21:47:15 +01:00
|
|
|
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
|
2020-12-01 22:13:09 +01:00
|
|
|
|
|
|
|
LDFLAGS += -lCppUTest -lCppUTestExt
|
|
|
|
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
|
|
|
|
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
|
2019-09-23 13:12:35 +02:00
|
|
|
|
|
|
|
VPATH += ${BTSTACK_ROOT}/src
|
|
|
|
VPATH += ${BTSTACK_ROOT}/src/ble
|
|
|
|
VPATH += ${BTSTACK_ROOT}/platform/embedded
|
2019-09-23 13:52:33 +02:00
|
|
|
VPATH += ${BTSTACK_ROOT}/platform/freertos
|
2019-09-23 13:12:35 +02:00
|
|
|
|
|
|
|
COMMON = \
|
2021-01-28 19:21:15 +01:00
|
|
|
btstack_linked_list.c \
|
2021-06-18 19:34:32 +02:00
|
|
|
btstack_memory.c \
|
|
|
|
btstack_run_loop.c \
|
|
|
|
btstack_util.c \
|
|
|
|
hci_dump.c \
|
|
|
|
l2cap_signaling.c \
|
|
|
|
hci_cmd.c \
|
|
|
|
|
2021-01-28 19:21:15 +01:00
|
|
|
# not used yet
|
|
|
|
# btstack_em9304_spi_embedded.c \
|
|
|
|
# btstack_stdin_embedded.c \
|
|
|
|
# btstack_tlv_flash_bank.c \
|
|
|
|
# btstack_uart_block_embedded.c \
|
|
|
|
# hal_flash_bank_memory.c \
|
|
|
|
# btstack_audio.c \
|
|
|
|
# btstack_audio_embedded.c \
|
|
|
|
# btstack_resample.c \
|
|
|
|
# btstack_ring_buffer.c \
|
|
|
|
# btstack_slip.c \
|
|
|
|
# hci_transport_em9304_spi.c \
|
|
|
|
# hci_transport_h4.c \
|
|
|
|
# hci_transport_h5.c \
|
|
|
|
|
2020-12-01 22:13:09 +01:00
|
|
|
FREERTOS = \
|
|
|
|
btstack_run_loop_freertos.c \
|
2021-01-28 19:21:15 +01:00
|
|
|
# btstack_uart_block_freertos.c \
|
2020-12-01 22:13:09 +01:00
|
|
|
|
|
|
|
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
|
|
|
|
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
|
|
|
|
|
|
|
|
FREERTOS_OBJ_COVERAGE = $(addprefix build-coverage/,$(FREERTOS:.c=.o))
|
|
|
|
FREERTOS_OBJ_ASAN = $(addprefix build-asan/, $(FREERTOS:.c=.o))
|
|
|
|
|
2021-06-17 10:21:45 +02:00
|
|
|
all: build-coverage/embedded_test build-asan/embedded_test \
|
|
|
|
build-coverage/run_loop_base_test build-asan/run_loop_base_test \
|
|
|
|
build-coverage/btstack_util_test build-asan/btstack_util_test \
|
|
|
|
build-coverage/l2cap_le_signaling_test build-asan/l2cap_le_signaling_test \
|
|
|
|
build-coverage/hci_cmd_test build-asan/hci_cmd_test \
|
2021-12-05 20:46:44 +01:00
|
|
|
build-coverage/hci_dump_test build-asan/hci_dump_test \
|
2021-06-17 10:21:45 +02:00
|
|
|
build-coverage/freertos_test build-asan/freertos_test \
|
2020-12-01 22:13:09 +01:00
|
|
|
|
|
|
|
build-%:
|
|
|
|
mkdir -p $@
|
2019-09-23 13:12:35 +02:00
|
|
|
|
2020-12-01 22:13:09 +01:00
|
|
|
build-coverage/%.o: %.c | build-coverage
|
|
|
|
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
|
2019-09-23 13:52:33 +02:00
|
|
|
|
2020-12-01 22:13:09 +01:00
|
|
|
build-asan/%.o: %.c | build-asan
|
|
|
|
${CC} -c $(CFLAGS_ASAN) $< -o $@
|
2019-09-23 13:12:35 +02:00
|
|
|
|
2020-11-30 21:35:42 +01:00
|
|
|
|
2021-06-17 10:21:45 +02:00
|
|
|
build-coverage/embedded_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_run_loop_embedded.o build-coverage/embedded_test.o | build-coverage
|
2020-12-01 22:13:09 +01:00
|
|
|
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
|
2019-09-23 13:12:35 +02:00
|
|
|
|
2021-06-17 10:21:45 +02:00
|
|
|
build-asan/embedded_test: ${COMMON_OBJ_ASAN} build-asan/embedded_test.o build-asan/btstack_run_loop_embedded.o | build-asan
|
|
|
|
${CC} $^ ${LDFLAGS_ASAN} -o $@
|
|
|
|
|
|
|
|
|
2020-12-10 15:13:13 +01:00
|
|
|
build-coverage/freertos_test: ${COMMON_OBJ_COVERAGE} ${FREERTOS_OBJS} build-coverage/freertos_test.o | build-coverage
|
2020-12-01 22:13:09 +01:00
|
|
|
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
|
|
|
|
|
2021-06-17 10:21:45 +02:00
|
|
|
build-asan/freertos_test: ${COMMON_OBJ_ASAN} ${FREERTOS_OBJS} build-asan/freertos_test.o | build-asan
|
2020-12-01 22:13:09 +01:00
|
|
|
${CC} $^ ${LDFLAGS_ASAN} -o $@
|
|
|
|
|
2021-06-17 10:21:45 +02:00
|
|
|
|
|
|
|
build-coverage/run_loop_base_test: ${COMMON_OBJ_COVERAGE} build-coverage/run_loop_base_test.o | build-coverage
|
|
|
|
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
|
|
|
|
|
|
|
|
build-asan/run_loop_base_test: ${COMMON_OBJ_ASAN} build-asan/run_loop_base_test.o | build-asan
|
|
|
|
${CC} $^ ${LDFLAGS_ASAN} -o $@
|
|
|
|
|
|
|
|
|
|
|
|
build-coverage/btstack_util_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_util_test.o | build-coverage
|
|
|
|
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
|
|
|
|
|
|
|
|
build-asan/btstack_util_test: ${COMMON_OBJ_ASAN} build-asan/btstack_util_test.o | build-asan
|
|
|
|
${CC} $^ ${LDFLAGS_ASAN} -o $@
|
|
|
|
|
|
|
|
|
|
|
|
build-coverage/l2cap_le_signaling_test: ${COMMON_OBJ_COVERAGE} build-coverage/l2cap_le_signaling_test.o | build-coverage
|
|
|
|
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
|
|
|
|
|
|
|
|
build-asan/l2cap_le_signaling_test: ${COMMON_OBJ_ASAN} build-asan/l2cap_le_signaling_test.o | build-asan
|
2020-12-01 22:13:09 +01:00
|
|
|
${CC} $^ ${LDFLAGS_ASAN} -o $@
|
2019-09-23 13:52:33 +02:00
|
|
|
|
2021-06-17 10:21:45 +02:00
|
|
|
|
|
|
|
build-coverage/hci_cmd_test: ${COMMON_OBJ_COVERAGE} build-coverage/hci_cmd_test.o | build-coverage
|
|
|
|
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
|
|
|
|
|
|
|
|
build-asan/hci_cmd_test: ${COMMON_OBJ_ASAN} build-asan/hci_cmd_test.o | build-asan
|
|
|
|
${CC} $^ ${LDFLAGS_ASAN} -o $@
|
|
|
|
|
2021-12-05 20:46:44 +01:00
|
|
|
build-coverage/hci_dump_test: ${COMMON_OBJ_COVERAGE} build-coverage/hci_dump_test.o build-coverage/hci_dump.o | build-coverage
|
|
|
|
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
|
|
|
|
|
|
|
|
build-asan/hci_dump_test: ${COMMON_OBJ_ASAN} build-asan/hci_dump_test.o build-asan/hci_dump.o | build-asan
|
|
|
|
${CC} $^ ${LDFLAGS_ASAN} -o $@
|
2021-06-17 10:21:45 +02:00
|
|
|
|
2019-09-23 13:12:35 +02:00
|
|
|
test: all
|
2020-12-01 22:13:09 +01:00
|
|
|
build-asan/embedded_test
|
|
|
|
build-asan/freertos_test
|
2021-06-17 10:21:45 +02:00
|
|
|
build-asan/run_loop_base_test
|
|
|
|
build-asan/btstack_util_test
|
|
|
|
build-asan/l2cap_le_signaling_test
|
|
|
|
build-asan/hci_cmd_test
|
2021-12-05 20:46:44 +01:00
|
|
|
build-asan/hci_dump_test
|
2020-11-30 21:35:42 +01:00
|
|
|
|
|
|
|
coverage: all
|
2020-12-01 22:13:09 +01:00
|
|
|
rm -f build-coverage/*.gcda
|
2020-11-30 21:35:42 +01:00
|
|
|
build-coverage/embedded_test
|
|
|
|
build-coverage/freertos_test
|
2021-06-17 10:21:45 +02:00
|
|
|
build-coverage/run_loop_base_test
|
|
|
|
build-coverage/btstack_util_test
|
|
|
|
build-coverage/l2cap_le_signaling_test
|
|
|
|
build-coverage/hci_cmd_test
|
2021-12-05 20:46:44 +01:00
|
|
|
build-coverage/hci_dump_test
|
2019-09-23 13:12:35 +02:00
|
|
|
|
|
|
|
clean:
|
2021-06-17 10:21:45 +02:00
|
|
|
rm -rf build-coverage build-asan *.dSYM
|