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