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