1CC=gcc 2 3BTSTACK_ROOT = ../.. 4SBC_DECODER_ROOT = ${BTSTACK_ROOT}/3rd-party/bluedroid/decoder 5SBC_ENCODER_ROOT = ${BTSTACK_ROOT}/3rd-party/bluedroid/encoder 6 7include ${SBC_DECODER_ROOT}/Makefile.inc 8include ${SBC_ENCODER_ROOT}/Makefile.inc 9 10SBC_DECODER += \ 11 ${BTSTACK_ROOT}/src/classic/btstack_sbc_plc.c \ 12 ${BTSTACK_ROOT}/src/classic/btstack_sbc_decoder_bluedroid.c \ 13 14SBC_ENCODER += \ 15 ${BTSTACK_ROOT}/src/classic/btstack_sbc_encoder_bluedroid.c \ 16 ${BTSTACK_ROOT}/src/classic/hfp_msbc.c \ 17 18SBC_DECODER_OBJ = $(SBC_DECODER:.c=.o) 19SBC_ENCODER_OBJ = $(SBC_ENCODER:.c=.o) 20 21CFLAGS = -g -Wall -I. -I../ -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/src/classic -I${BTSTACK_ROOT}/platform/posix 22CFLAGS += -I${SBC_DECODER_ROOT}/include 23CFLAGS += -I${SBC_ENCODER_ROOT}/include 24CFLAGS += -Werror=unused-parameter 25#CFLAGS += -D PRINT_SAMPLES -D PRINT_SCALEFACTORS -D OI_DEBUG -D TRACE_EXECUTION 26LDFLAGS += -lCppUTest -lCppUTestExt 27VPATH += ${SBC_DECODER_ROOT}/srce 28VPATH += ${SBC_ENCODER_ROOT}/srce 29VPATH += ${BTSTACK_ROOT}/src 30VPATH += ${BTSTACK_ROOT}/platform/posix 31VPATH += ${BTSTACK_ROOT}/port/libusb 32 33COMMON += \ 34 hci_dump.c \ 35 btstack_util.c \ 36 wav_util.c \ 37 38COMMON_OBJ = $(COMMON:.c=.o) 39 40SBC_TESTS = sbc_decoder_test msbc_encoder_test 41#sbc_decoder_sine 42 43all: ${SBC_TESTS} 44 45sbc_decoder_test: ${SBC_DECODER_OBJ} ${SBC_ENCODER_OBJ} ${COMMON_OBJ} sbc_decoder_test.o 46 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 47 48msbc_encoder_test: ${SBC_DECODER_OBJ} ${SBC_ENCODER_OBJ} ${COMMON_OBJ} msbc_encoder_test.o 49 ${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@ 50 51data_sine_stereo_sbc.h: data/sine-stereo.sbc 52 xxd -i -l 14800 $^ > $@ 53 54data_fanfare_8sb_stereo_sbc.h: data/fanfare-8sb-stereo.sbc 55 xxd -i $^ > $@ 56 57sbc_decoder_sine: ${SBC_DECODER_OBJ} ${SBC_ENCODER_OBJ} ${COMMON_OBJ} sbc_decoder_sine.o data_sine_stereo_sbc.h 58 ${CC} $(filter-out data_sine_stereo_sbc.h,$^) ${CFLAGS} ${LDFLAGS} -o $@ 59 60test: all 61 ./sbc_decoder_test data/avdtp_sink sbc 0 0 62 63 #./sbc_decoder_test data/sine-4sb-mono msbc 1 100 64 #./sbc_encoder_test data/sine-mono.wav data/sine-4sb-mono.sbc 65 66pytest-sine: 67 ./sbc_decoder_test.py data/sine-4sb-mono.sbc data/sine-4sb-decoded-mono.wav 68 ./sbc_decoder_test.py data/sine-8sb-mono.sbc data/sine-8sb-decoded-mono.wav 69 ./sbc_decoder_test.py data/sine-4sb-stereo.sbc data/sine-4sb-decoded-stereo.wav 70 ./sbc_decoder_test.py data/sine-8sb-stereo.sbc data/sine-8sb-decoded-stereo.wav 71 72 ./sbc_encoder_test.py data/sine-mono.wav 16 4 31 0 data/sine-4sb-mono.sbc 73 ./sbc_encoder_test.py data/sine-mono.wav 16 8 64 0 data/sine-8sb-mono.sbc 74 ./sbc_encoder_test.py data/sine-stereo.wav 16 4 30 1 2 data/sine-4sb-stereo.sbc 75 ./sbc_encoder_test.py data/sine-stereo.wav 16 8 64 2 data/sine-8sb-stereo.sbc 76 77pytest: 78 ./sbc_decoder_test.py data/fanfare-4sb-mono.sbc data/fanfare-4sb-decoded-mono.wav 79 ./sbc_decoder_test.py data/fanfare-8sb-mono.sbc data/fanfare-8sb-decoded-mono.wav 80 ./sbc_decoder_test.py data/fanfare-4sb-stereo.sbc data/fanfare-4sb-decoded-stereo.wav 81 ./sbc_decoder_test.py data/fanfare-8sb-stereo.sbc data/fanfare-8sb-decoded-stereo.wav 82 83 ./sbc_encoder_test.py data/fanfare-mono.wav 16 4 31 0 data/fanfare-4sb-mono.sbc 84 ./sbc_encoder_test.py data/fanfare-mono.wav 16 8 64 0 data/fanfare-8sb-mono.sbc 85 ./sbc_encoder_test.py data/fanfare-stereo.wav 16 4 31 2 data/fanfare-4sb-stereo.sbc 86 ./sbc_encoder_test.py data/fanfare-stereo.wav 16 8 64 2 data/fanfare-8sb-stereo.sbc 87 88clean: 89 rm -f *.pyc *.wav *.sbc data/*-decoded.wav data/*-encoded.sbc *.o $(SBC_TESTS) *.dSYM *_test data_*.h 90