1# Makefile for libusb based PTS tests 2BTSTACK_ROOT = ../.. 3 4include ${BTSTACK_ROOT}/3rd-party/bluedroid/decoder/Makefile.inc 5include ${BTSTACK_ROOT}/3rd-party/bluedroid/encoder/Makefile.inc 6 7CORE += \ 8 btstack_memory.c \ 9 btstack_linked_list.c \ 10 btstack_memory_pool.c \ 11 btstack_run_loop.c \ 12 btstack_util.c \ 13 main.c \ 14 btstack_stdin_posix.c \ 15 16 17COMMON += \ 18 ad_parser.c \ 19 btstack_link_key_db_fs.c \ 20 btstack_run_loop_posix.c \ 21 hci.c \ 22 hci_cmd.c \ 23 hci_dump.c \ 24 hci_transport_h2_libusb.c \ 25 l2cap.c \ 26 l2cap_signaling.c \ 27 le_device_db_fs.c \ 28 sdp_server.c \ 29 sdp_util.c \ 30 wav_util.c \ 31 sdp_server.c \ 32 sdp_client.c \ 33 34CFLAGS += -g -Wall -Wenum-compare -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wunused-variable -Wunused-parameter 35CFLAGS += -I. 36CFLAGS += -I${BTSTACK_ROOT}/src 37CFLAGS += -I${BTSTACK_ROOT}/src/classic 38CFLAGS += -I${BTSTACK_ROOT}/3rd-party/bluedroid/decoder/include -D OI_DEBUG 39CFLAGS += -I${BTSTACK_ROOT}/3rd-party/bluedroid/encoder/include 40CFLAGS += -I${BTSTACK_ROOT}/3rd-party/hxcmod-player 41CFLAGS += -I${BTSTACK_ROOT}/3rd-party/hxcmod-player/mods 42CFLAGS += -I${BTSTACK_ROOT}/3rd-party/tinydir 43CFLAGS += -I${BTSTACK_ROOT}/platform/posix 44CFLAGS += -I${BTSTACK_ROOT}/platform/embedded 45CFLAGS += -I${BTSTACK_ROOT}/port/libusb 46 47VPATH += ${BTSTACK_ROOT}/src 48VPATH += ${BTSTACK_ROOT}/src/classic 49VPATH += ${BTSTACK_ROOT}/platform/posix 50VPATH += ${BTSTACK_ROOT}/platform/libusb 51VPATH += ${BTSTACK_ROOT}/port/libusb 52VPATH += ${BTSTACK_ROOT}/3rd-party/bluedroid/decoder/srce 53VPATH += ${BTSTACK_ROOT}/3rd-party/bluedroid/encoder/srce 54VPATH += ${BTSTACK_ROOT}/3rd-party/hxcmod-player 55VPATH += ${BTSTACK_ROOT}/3rd-party/hxcmod-player/mods 56 57# use pkg-config for libusb 58CFLAGS += $(shell pkg-config libusb-1.0 --cflags) 59LDFLAGS += $(shell pkg-config libusb-1.0 --libs) 60 61# use pkg-config for portaudio 62CFLAGS += $(shell pkg-config portaudio-2.0 --cflags) -DHAVE_PORTAUDIO 63LDFLAGS += $(shell pkg-config portaudio-2.0 --libs) 64 65SBC_DECODER += \ 66 ${BTSTACK_ROOT}/src/classic/btstack_sbc_plc.c \ 67 ${BTSTACK_ROOT}/src/classic/btstack_sbc_decoder_bluedroid.c \ 68 69SBC_ENCODER += \ 70 ${BTSTACK_ROOT}/src/classic/btstack_sbc_encoder_bluedroid.c \ 71 ${BTSTACK_ROOT}/src/classic/hfp_msbc.c \ 72 73AVDTP += \ 74 avdtp_util.c \ 75 avdtp.c \ 76 avdtp_initiator.c \ 77 avdtp_acceptor.c \ 78 avdtp_source.c \ 79 avdtp_sink.c \ 80 a2dp_source.c \ 81 a2dp_sink.c \ 82 btstack_ring_buffer.c \ 83 84HXCMOD_PLAYER = \ 85 ${BTSTACK_ROOT}/3rd-party/hxcmod-player/hxcmod.c \ 86 ${BTSTACK_ROOT}/3rd-party/hxcmod-player/mods/nao-deceased_by_disease.c \ 87 88AVDTP_TESTS = portaudio_test 89#sine_encode_decode_ring_buffer_test sine_encode_decode_test sine_encode_decode_performance_test 90 91CORE_OBJ = $(CORE:.c=.o) 92COMMON_OBJ = $(COMMON:.c=.o) 93SBC_DECODER_OBJ = $(SBC_DECODER:.c=.o) 94SBC_ENCODER_OBJ = $(SBC_ENCODER:.c=.o) 95AVDTP_OBJ = $(AVDTP:.c=.o) 96HXCMOD_PLAYER_OBJ = $(HXCMOD_PLAYER:.c=.o) 97 98# For more warnings & errors, use C++ 99# CC=g++ 100 101all: ${AVDTP_TESTS} 102 103portaudio_test: btstack_util.o hci_dump.o wav_util.o btstack_ring_buffer.o portaudio_test.c 104 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 105 106 107sine_encode_decode_test: ${CORE_OBJ} ${COMMON_OBJ} ${SBC_DECODER_OBJ} ${SBC_ENCODER_OBJ} ${AVDTP_OBJ} sine_encode_decode_test.c 108 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 109 110sine_encode_decode_ring_buffer_test: ${CORE_OBJ} ${COMMON_OBJ} ${SBC_DECODER_OBJ} ${SBC_ENCODER_OBJ} ${AVDTP_OBJ} sine_encode_decode_ring_buffer_test.c 111 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 112 113sine_encode_decode_performance_test: ${CORE_OBJ} ${COMMON_OBJ} ${SBC_DECODER_OBJ} ${SBC_ENCODER_OBJ} ${AVDTP_OBJ} sine_encode_decode_performance_test.c 114 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 115 116 117test: all 118coverage: all 119 120clean: 121 rm -rf *.pyc *.o $(AVDTP_TESTS) *.dSYM *_test *.wav *.sbc ${BTSTACK_ROOT}/port/libusb/*.o 122 rm -f *.gcno *.gcda 123