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