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