xref: /btstack/test/sdp/Makefile (revision 98e87e7776ef9a7fe55135aea8cddc761fe3a7a5)
1cea733e4SMatthias Ringwald# Requirements: cpputest.github.io
2cea733e4SMatthias Ringwald
3cea733e4SMatthias RingwaldBTSTACK_ROOT =  ../..
4cea733e4SMatthias Ringwald
5*98e87e77SMatthias Ringwald# CppuTest from pkg-config
6*98e87e77SMatthias RingwaldCFLAGS  += ${shell pkg-config --cflags CppuTest}
7*98e87e77SMatthias RingwaldLDFLAGS += ${shell pkg-config --libs   CppuTest}
8*98e87e77SMatthias Ringwald
9*98e87e77SMatthias RingwaldCFLAGS += -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null
10e0ff5d41SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/src
11e0ff5d41SMatthias RingwaldCFLAGS += -I..
12cea733e4SMatthias Ringwald
13cea733e4SMatthias RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
14cea733e4SMatthias Ringwald
15cea733e4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src
16cea733e4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/classic
17cea733e4SMatthias Ringwald
18cea733e4SMatthias RingwaldCOMMON = \
19cea733e4SMatthias Ringwald	btstack_util.c		  \
20cea733e4SMatthias Ringwald	hci_dump.c    \
21cea733e4SMatthias Ringwald	hci.c \
22cea733e4SMatthias Ringwald	hci_cmd.c \
23cea733e4SMatthias Ringwald	btstack_run_loop.c \
24cea733e4SMatthias Ringwald	rfcomm.c \
25cea733e4SMatthias Ringwald	ad_parser.c \
26cea733e4SMatthias Ringwald	sdp_client.c \
27cea733e4SMatthias Ringwald	sdp_client_rfcomm.c \
28cea733e4SMatthias Ringwald	l2cap.c \
29cea733e4SMatthias Ringwald	l2cap_signaling.c \
30cea733e4SMatthias Ringwald	btstack_linked_list.c \
31cea733e4SMatthias Ringwald	btstack_memory.c \
32cea733e4SMatthias Ringwald	btstack_memory_pool.c \
33cea733e4SMatthias Ringwald	device_id_server.c \
34cea733e4SMatthias Ringwald	avdtp.c \
35bb90a366SMatthias Ringwald	a2dp.c \
36cea733e4SMatthias Ringwald	a2dp_source.c \
37cea733e4SMatthias Ringwald	a2dp_sink.c \
38cea733e4SMatthias Ringwald	avdtp.c \
39cea733e4SMatthias Ringwald	avdtp_util.c \
40cea733e4SMatthias Ringwald	avdtp_sink.c \
41cea733e4SMatthias Ringwald	avdtp_source.c \
42cea733e4SMatthias Ringwald	avdtp_acceptor.c \
43cea733e4SMatthias Ringwald	avdtp_initiator.c \
44cea733e4SMatthias Ringwald	avrcp.c \
45cea733e4SMatthias Ringwald	avrcp_controller.c \
46cea733e4SMatthias Ringwald	avrcp_target.c \
47cea733e4SMatthias Ringwald	hfp.c \
48cea733e4SMatthias Ringwald	hfp_gsm_model.c \
49cea733e4SMatthias Ringwald	hfp_ag.c \
50cea733e4SMatthias Ringwald	hfp_hf.c \
51cea733e4SMatthias Ringwald	hsp_hs.c \
52cea733e4SMatthias Ringwald	hsp_ag.c \
53cea733e4SMatthias Ringwald	hid_device.c \
54cea733e4SMatthias Ringwald	pan.c \
55cea733e4SMatthias Ringwald	sdp_util.c \
56cea733e4SMatthias Ringwald	spp_server.c \
571c22f3beSMatthias Ringwald	btstack_hid_parser.c \
58cea733e4SMatthias Ringwald
59cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
6071d52576SMatthias RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
61cea733e4SMatthias Ringwald
62cd56fb44SMatthias RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
63cd56fb44SMatthias RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
64cd56fb44SMatthias RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
65cea733e4SMatthias Ringwald
66cd56fb44SMatthias RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
67cd56fb44SMatthias RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
68cd56fb44SMatthias Ringwald
69cd56fb44SMatthias Ringwald
70cd56fb44SMatthias Ringwaldall: build-coverage/sdp_record_builder build-asan/sdp_record_builder
71cd56fb44SMatthias Ringwald
72cd56fb44SMatthias Ringwaldbuild-%:
73cd56fb44SMatthias Ringwald	mkdir -p $@
743d87570fSMatthias Ringwald
753d87570fSMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage
76cd56fb44SMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
773d87570fSMatthias Ringwald
781d3bd1e5SMatthias Ringwaldbuild-coverage/%.o: %.cpp | build-coverage
791d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
801d3bd1e5SMatthias Ringwald
81cd56fb44SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan
82cd56fb44SMatthias Ringwald	${CC} -c $(CFLAGS_ASAN) $< -o $@
83cd56fb44SMatthias Ringwald
841d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.cpp | build-asan
851d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_ASAN) $< -o $@
86cd56fb44SMatthias Ringwald
87cd56fb44SMatthias Ringwaldbuild-coverage/sdp_record_builder: ${COMMON_OBJ_COVERAGE} build-coverage/sdp_record_builder.o | build-coverage
881d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
89cd56fb44SMatthias Ringwald
90cd56fb44SMatthias Ringwaldbuild-asan/sdp_record_builder: ${COMMON_OBJ_ASAN} build-asan/sdp_record_builder.o | build-asan
911d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
92cd56fb44SMatthias Ringwald
93cea733e4SMatthias Ringwald
94cea733e4SMatthias Ringwaldtest: all
95cd56fb44SMatthias Ringwald	build-asan/sdp_record_builder
963d87570fSMatthias Ringwald
973d87570fSMatthias Ringwaldcoverage: all
98cd56fb44SMatthias Ringwald	rm -f build-coverage/*.gcda
993d87570fSMatthias Ringwald	build-coverage/sdp_record_builder
100cea733e4SMatthias Ringwald
101cea733e4SMatthias Ringwaldclean:
102cd56fb44SMatthias Ringwald	rm -rf build-coverage build-asan
103cea733e4SMatthias Ringwald
104