xref: /btstack/test/hfp/Makefile (revision f0e9886bf1825249aaea7e15f4fe6fb8d065bffb)
1CC=g++
2
3# Makefile for libusb based PTS tests
4BTSTACK_ROOT = ../..
5POSIX_ROOT= ${BTSTACK_ROOT}/platform/posix
6CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
7
8include ${BTSTACK_ROOT}/example/Makefile.inc
9
10COMMON = \
11	ad_parser.c 				 \
12	sdp_server.c			     \
13	sdp_client_rfcomm.c		     \
14    btstack_link_key_db_memory.c \
15    btstack_linked_list.c	     \
16    btstack_memory.c             \
17    btstack_memory_pool.c        \
18    btstack_run_loop.c		     \
19    btstack_run_loop_posix.c     \
20    btstack_util.c			     \
21    hci.c			             \
22    hci_cmd.c		             \
23    hci_dump.c		             \
24    l2cap.c			             \
25    l2cap_signaling.c 			 \
26    rfcomm.c			         \
27    sdp_client.c		         \
28    sdp_util.c	                 \
29
30
31MOCK = \
32	mock.c 						\
33	test_sequences.c            \
34    btstack_link_key_db_memory.c \
35    btstack_linked_list.c	    \
36    btstack_memory.c            \
37    btstack_memory_pool.c       \
38    btstack_util.c			    \
39    hci_cmd.c					\
40    hci_dump.c     				\
41    sdp_util.c	                \
42
43CFLAGS  = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null
44CFLAGS  += -I. -I../
45CFLAGS  += -I${BTSTACK_ROOT}/src
46CFLAGS  += -I${BTSTACK_ROOT}/src/classic
47CFLAGS  += -I${BTSTACK_ROOT}/platform/posix
48# CFLAGS  += -D OCTAVE_OUTPUT
49
50CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
51CFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
52
53LDFLAGS += -lCppUTest -lCppUTestExt
54LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
55LDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
56
57COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
58COMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
59MOCK_OBJ_COVERAGE   = $(addprefix build-coverage/,$(MOCK:.c=.o))
60MOCK_OBJ_ASAN       = $(addprefix build-asan/,    $(MOCK:.c=.o))
61
62
63# CC = gcc-fsf-4.9
64VPATH += ${BTSTACK_ROOT}/src
65VPATH += ${BTSTACK_ROOT}/src/classic
66VPATH += ${BTSTACK_ROOT}/platform/posix
67
68EXAMPLES = hfp_at_parser_test hfp_ag_client_test hfp_hf_client_test cvsd_plc_test hfp_link_settings_test
69
70all:  $(addprefix build-coverage/,${EXAMPLES}) $(addprefix build-asan/,${EXAMPLES}) build-asan/pklg_cvsd_test
71
72build-%:
73	mkdir -p $@
74
75
76build-coverage/%.o: %.c | build-coverage
77	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
78
79build-asan/%.o: %.c | build-asan
80	${CC} -c $(CFLAGS_ASAN) $< -o $@
81
82build-coverage/hfp_at_parser_test: ${COMMON_OBJ_COVERAGE} build-coverage/hfp_gsm_model.o build-coverage/hfp_ag.o build-coverage/hfp.o build-coverage/hfp_at_parser_test.o | build-coverage
83	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
84
85build-coverage/hfp_hf_client_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_hf.o build-coverage/hfp.o build-coverage/hfp_hf_client_test.o | build-coverage
86	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
87
88build-coverage/hfp_ag_client_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_gsm_model.o build-coverage/hfp_ag.o build-coverage/hfp.o build-coverage/hfp_ag_client_test.o | build-coverage
89	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
90
91build-coverage/cvsd_plc_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_cvsd_plc.o build-coverage/wav_util.o build-coverage/cvsd_plc_test.o | build-coverage
92	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
93
94build-coverage/hfp_link_settings_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_hf.o build-coverage/hfp.o build-coverage/hfp_link_settings_test.o | build-coverage
95	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
96
97
98build-asan/hfp_at_parser_test: ${COMMON_OBJ_ASAN} build-asan/hfp_gsm_model.o build-asan/hfp_ag.o build-asan/hfp.o build-asan/hfp_at_parser_test.o | build-asan
99	${CC} $^ ${LDFLAGS_ASAN} -o $@
100
101build-asan/hfp_hf_client_test: ${MOCK_OBJ_ASAN} build-asan/hfp_hf.o build-asan/hfp.o build-asan/hfp_hf_client_test.o | build-asan
102	${CC} $^ ${LDFLAGS_ASAN} -o $@
103
104build-asan/hfp_ag_client_test: ${MOCK_OBJ_ASAN} build-asan/hfp_gsm_model.o build-asan/hfp_ag.o build-asan/hfp.o build-asan/hfp_ag_client_test.o | build-asan
105	${CC} $^ ${LDFLAGS_ASAN} -o $@
106
107build-asan/cvsd_plc_test: ${COMMON_OBJ_ASAN} build-asan/btstack_cvsd_plc.o build-asan/wav_util.o build-asan/cvsd_plc_test.o | build-asan
108	${CC} $^ ${LDFLAGS_ASAN} -o $@
109
110build-asan/hfp_link_settings_test: ${MOCK_OBJ_ASAN} build-asan/hfp_hf.o build-asan/hfp.o build-asan/hfp_link_settings_test.o | build-asan
111	${CC} $^ ${LDFLAGS_ASAN} -o $@
112
113build-asan/pklg_cvsd_test: build-asan/hci_dump.o build-asan/btstack_util.o build-asan/btstack_cvsd_plc.o build-asan/wav_util.o build-asan/pklg_cvsd_test.o | build-asan
114	${CC} $^ ${LDFLAGS_ASAN} -o $@
115
116test: all
117	mkdir -p results
118	build-asan/hfp_at_parser_test
119	build-asan/hfp_ag_client_test
120	build-asan/hfp_hf_client_test
121	build-asan/cvsd_plc_test
122	build-asan/hfp_link_settings_test
123
124coverage: all
125	mkdir -p results
126	build-coverage/hfp_at_parser_test
127	build-coverage/hfp_ag_client_test
128	build-coverage/hfp_hf_client_test
129	build-coverage/cvsd_plc_test
130	build-coverage/hfp_link_settings_test
131
132pklg-test: build-asan/pklg_cvsd_test
133	build-asan/pklg_cvsd_test pklg/test1
134	build-asan/pklg_cvsd_test pklg/test2
135	build-asan/pklg_cvsd_test pklg/test3
136	build-asan/pklg_cvsd_test pklg/test4
137	build-asan/pklg_cvsd_test pklg/test5
138
139clean:
140	rm -rf build-coverage build-asan
141	rm -rf *.wav results/* pklg/*.wav
142