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