xref: /btstack/test/sdp/Makefile (revision 1d3bd1e51ca491d6783233c8d7431c44f06daa5a)
1cea733e4SMatthias Ringwald# Requirements: cpputest.github.io
2cea733e4SMatthias Ringwald
3cea733e4SMatthias RingwaldBTSTACK_ROOT =  ../..
4cea733e4SMatthias Ringwald
5*1d3bd1e5SMatthias RingwaldCFLAGS  = -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null
6e0ff5d41SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/src
7e0ff5d41SMatthias RingwaldCFLAGS += -I..
8cea733e4SMatthias Ringwald
9cea733e4SMatthias RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
10cea733e4SMatthias Ringwald
11cea733e4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src
12cea733e4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/classic
13cea733e4SMatthias Ringwald
14cea733e4SMatthias RingwaldCOMMON = \
15cea733e4SMatthias Ringwald	btstack_util.c		  \
16cea733e4SMatthias Ringwald	hci_dump.c    \
17cea733e4SMatthias Ringwald	hci.c \
18cea733e4SMatthias Ringwald	hci_cmd.c \
19cea733e4SMatthias Ringwald	btstack_run_loop.c \
20cea733e4SMatthias Ringwald	rfcomm.c \
21cea733e4SMatthias Ringwald	ad_parser.c \
22cea733e4SMatthias Ringwald	sdp_client.c \
23cea733e4SMatthias Ringwald	sdp_client_rfcomm.c \
24cea733e4SMatthias Ringwald	l2cap.c \
25cea733e4SMatthias Ringwald	l2cap_signaling.c \
26cea733e4SMatthias Ringwald	btstack_linked_list.c \
27cea733e4SMatthias Ringwald	btstack_memory.c \
28cea733e4SMatthias Ringwald	btstack_memory_pool.c \
29cea733e4SMatthias Ringwald	device_id_server.c \
30cea733e4SMatthias Ringwald	avdtp.c \
31cea733e4SMatthias Ringwald	a2dp_source.c \
32cea733e4SMatthias Ringwald	a2dp_sink.c \
33cea733e4SMatthias Ringwald	avdtp.c \
34cea733e4SMatthias Ringwald	avdtp_util.c \
35cea733e4SMatthias Ringwald	avdtp_sink.c \
36cea733e4SMatthias Ringwald	avdtp_source.c \
37cea733e4SMatthias Ringwald	avdtp_acceptor.c \
38cea733e4SMatthias Ringwald	avdtp_initiator.c \
39cea733e4SMatthias Ringwald	avrcp.c \
40cea733e4SMatthias Ringwald	avrcp_controller.c \
41cea733e4SMatthias Ringwald	avrcp_target.c \
42cea733e4SMatthias Ringwald	hfp.c \
43cea733e4SMatthias Ringwald	hfp_gsm_model.c \
44cea733e4SMatthias Ringwald	hfp_ag.c \
45cea733e4SMatthias Ringwald	hfp_hf.c \
46cea733e4SMatthias Ringwald	hsp_hs.c \
47cea733e4SMatthias Ringwald	hsp_ag.c \
48cea733e4SMatthias Ringwald	hid_device.c \
49cea733e4SMatthias Ringwald	pan.c \
50cea733e4SMatthias Ringwald	sdp_util.c \
51cea733e4SMatthias Ringwald	spp_server.c \
521c22f3beSMatthias Ringwald	btstack_hid_parser.c \
53cea733e4SMatthias Ringwald
54cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
5571d52576SMatthias RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
56cea733e4SMatthias Ringwald
57cd56fb44SMatthias RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
58cd56fb44SMatthias RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
59cd56fb44SMatthias RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
60cea733e4SMatthias Ringwald
61cd56fb44SMatthias RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
62cd56fb44SMatthias RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
63cd56fb44SMatthias Ringwald
64cd56fb44SMatthias Ringwald
65cd56fb44SMatthias Ringwaldall: build-coverage/sdp_record_builder build-asan/sdp_record_builder
66cd56fb44SMatthias Ringwald
67cd56fb44SMatthias Ringwaldbuild-%:
68cd56fb44SMatthias Ringwald	mkdir -p $@
693d87570fSMatthias Ringwald
703d87570fSMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage
71cd56fb44SMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
723d87570fSMatthias Ringwald
73*1d3bd1e5SMatthias Ringwaldbuild-coverage/%.o: %.cpp | build-coverage
74*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
75*1d3bd1e5SMatthias Ringwald
76cd56fb44SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan
77cd56fb44SMatthias Ringwald	${CC} -c $(CFLAGS_ASAN) $< -o $@
78cd56fb44SMatthias Ringwald
79*1d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.cpp | build-asan
80*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_ASAN) $< -o $@
81cd56fb44SMatthias Ringwald
82cd56fb44SMatthias Ringwaldbuild-coverage/sdp_record_builder: ${COMMON_OBJ_COVERAGE} build-coverage/sdp_record_builder.o | build-coverage
83*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
84cd56fb44SMatthias Ringwald
85cd56fb44SMatthias Ringwaldbuild-asan/sdp_record_builder: ${COMMON_OBJ_ASAN} build-asan/sdp_record_builder.o | build-asan
86*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
87cd56fb44SMatthias Ringwald
88cea733e4SMatthias Ringwald
89cea733e4SMatthias Ringwaldtest: all
90cd56fb44SMatthias Ringwald	build-asan/sdp_record_builder
913d87570fSMatthias Ringwald
923d87570fSMatthias Ringwaldcoverage: all
93cd56fb44SMatthias Ringwald	rm -f build-coverage/*.gcda
943d87570fSMatthias Ringwald	build-coverage/sdp_record_builder
95cea733e4SMatthias Ringwald
96cea733e4SMatthias Ringwaldclean:
97cd56fb44SMatthias Ringwald	rm -rf build-coverage build-asan
98cea733e4SMatthias Ringwald
99