include ../common.make

DEFINES := -DUNIT_TEST -DENABLE_AVDTP_ACCEPTOR_EXPLICIT_START_STREAM_CONFIRMATION
INCLUDES := -I${BTSTACK_ROOT}/src
INCLUDES += -I${BTSTACK_ROOT}/3rd-party/bluedroid/decoder/include
INCLUDES += -I${BTSTACK_ROOT}/3rd-party/bluedroid/encoder/include
INCLUDES += -I..

CFLAGS += ${INCLUDES} ${DEFINES}
CXXFLAGS += ${INCLUDES} ${DEFINES}

VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/classic
VPATH += ${BTSTACK_ROOT}/platform/posix

COMMON = \
	btstack_util.c		  \
	btstack_linked_list.c \
	hci_dump.c			  \
    avrcp_media_item_iterator.c \
    avdtp_util.c         \
    avdtp_initiator.c

COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
COMMON_CODEC = $(filter-out avdtp_initiator.c,${COMMON})
COMMON_CODEC_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON_CODEC:.c=.o))
COMMON_CODEC_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON_CODEC:.c=.o))
A2DP_TEST_OBJ_ASAN        = build-asan/a2dp_test.o build-asan/a2dp.o build-asan/btstack_util.o build-asan/hci_dump.o

all: coverage test

build-coverage/avdtp_util_test: ${COMMON_OBJ_COVERAGE}
build-coverage/codec_serialization_test: ${COMMON_CODEC_OBJ_COVERAGE}

build-asan/avdtp_util_test: ${COMMON_OBJ_ASAN}
build-asan/avdtp_acceptor_test: ${COMMON_CODEC_OBJ_ASAN} build-asan/avdtp_acceptor.o
build-asan/codec_serialization_test: ${COMMON_CODEC_OBJ_ASAN}

test: build-asan/avdtp_util_test build-asan/avdtp_acceptor_test build-asan/codec_serialization_test build-asan/a2dp_test build-asan/avrcp_media_item_iterator_test
	build-asan/avdtp_util_test
	build-asan/avdtp_acceptor_test
	build-asan/codec_serialization_test
	build-asan/a2dp_test
	build-asan/avrcp_media_item_iterator_test

build-asan/a2dp_test: ${A2DP_TEST_OBJ_ASAN}

build-asan/avrcp_media_item_iterator_test: build-asan/avrcp_media_item_iterator_test.o build-asan/avrcp_media_item_iterator.o build-asan/btstack_util.o build-asan/hci_dump.o

coverage: build-coverage/avdtp_util_test.info

clean: clean-common
	
