xref: /btstack/test/sbc/Makefile (revision 1d3bd1e51ca491d6783233c8d7431c44f06daa5a)
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