xref: /btstack/test/gatt-service-client/Makefile (revision 1d3bd1e51ca491d6783233c8d7431c44f06daa5a)
10f7fd6c1SMilanka Ringwald# Requirements: cpputest.github.io
20f7fd6c1SMilanka Ringwald
30f7fd6c1SMilanka RingwaldBTSTACK_ROOT =  ../..
40f7fd6c1SMilanka Ringwald
5*1d3bd1e5SMatthias RingwaldCFLAGS  = -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null -Ibuild-coverage -I../
60f7fd6c1SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/src
70f7fd6c1SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/src/ble
80f7fd6c1SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/test/mock
90f7fd6c1SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
1076cdba3eSMilanka Ringwald# CFLAGS += -D ENABLE_TESTING_SUPPORT
110f7fd6c1SMilanka Ringwald
120f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src
130f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble
140f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble/gatt-service
150f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix
160f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
170f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/test/mock
180f7fd6c1SMilanka Ringwald
190f7fd6c1SMilanka RingwaldCOMMON = \
200f7fd6c1SMilanka Ringwald	btstack_linked_list.c       \
210f7fd6c1SMilanka Ringwald	btstack_util.c              \
220f7fd6c1SMilanka Ringwald	hci_dump.c                  \
230f7fd6c1SMilanka Ringwald	mock_gatt_client.c 			\
240f7fd6c1SMilanka Ringwald
250f7fd6c1SMilanka RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
260f7fd6c1SMilanka RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
270f7fd6c1SMilanka Ringwald
280f7fd6c1SMilanka RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
290f7fd6c1SMilanka RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
300f7fd6c1SMilanka RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
310f7fd6c1SMilanka Ringwald
320f7fd6c1SMilanka RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
330f7fd6c1SMilanka RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
340f7fd6c1SMilanka Ringwald
350f7fd6c1SMilanka Ringwald
3686d0910fSMilanka Ringwaldall: \
3786d0910fSMilanka Ringwald	build-coverage/battery_service_client_test build-asan/battery_service_client_test \
3886d0910fSMilanka Ringwald	build-coverage/ancs_client_test build-asan/ancs_client_test \
392b60725aSMilanka Ringwald	build-coverage/device_information_service_client_test build-asan/device_information_service_client_test \
400f7fd6c1SMilanka Ringwald
410f7fd6c1SMilanka Ringwaldbuild-%:
420f7fd6c1SMilanka Ringwald	mkdir -p $@
430f7fd6c1SMilanka Ringwald
440f7fd6c1SMilanka Ringwaldbuild-%/ancs_client_profile.h: ancs_client_profile.gatt| build-%
450f7fd6c1SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
460f7fd6c1SMilanka Ringwald
470f7fd6c1SMilanka Ringwald
480f7fd6c1SMilanka Ringwaldbuild-coverage/%.o: %.c | build-coverage
490f7fd6c1SMilanka Ringwald	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
500f7fd6c1SMilanka Ringwald
51*1d3bd1e5SMatthias Ringwaldbuild-coverage/%.o: %.cpp | build-coverage
52*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
53*1d3bd1e5SMatthias Ringwald
540f7fd6c1SMilanka Ringwaldbuild-asan/%.o: %.c | build-asan
550f7fd6c1SMilanka Ringwald	${CC} -c $(CFLAGS_ASAN) $< -o $@
560f7fd6c1SMilanka Ringwald
57*1d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.cpp | build-asan
58*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_ASAN) $< -o $@
59*1d3bd1e5SMatthias Ringwald
6086d0910fSMilanka Ringwaldbuild-coverage/battery_service_client_test: ${COMMON_OBJ_COVERAGE} build-coverage/battery_service_client_test.o  build-coverage/battery_service_client.o | build-coverage
61*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
620f7fd6c1SMilanka Ringwald
6386d0910fSMilanka Ringwaldbuild-asan/battery_service_client_test: ${COMMON_OBJ_ASAN} build-asan/battery_service_client_test.o build-asan/battery_service_client.o | build-asan
64*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
650f7fd6c1SMilanka Ringwald
6686d0910fSMilanka Ringwaldbuild-coverage/ancs_client_test: ${COMMON_OBJ_COVERAGE} build-coverage/ancs_client_test.o build-coverage/ancs_client.o | build-coverage
67*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
6886d0910fSMilanka Ringwald
6986d0910fSMilanka Ringwaldbuild-asan/ancs_client_test: ${COMMON_OBJ_ASAN} build-asan/ancs_client_test.o build-asan/ancs_client.o | build-asan
70*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
710f7fd6c1SMilanka Ringwald
722b60725aSMilanka Ringwaldbuild-coverage/device_information_service_client_test: ${COMMON_OBJ_COVERAGE} build-coverage/device_information_service_client_test.o build-coverage/device_information_service_client.o | build-coverage
73*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
742b60725aSMilanka Ringwald
752b60725aSMilanka Ringwaldbuild-asan/device_information_service_client_test: ${COMMON_OBJ_ASAN} build-asan/device_information_service_client_test.o build-asan/device_information_service_client.o | build-asan
76*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
772b60725aSMilanka Ringwald
782b60725aSMilanka Ringwald
790f7fd6c1SMilanka Ringwaldtest: all
800f7fd6c1SMilanka Ringwald	build-asan/battery_service_client_test
8186d0910fSMilanka Ringwald	build-asan/ancs_client_test
822b60725aSMilanka Ringwald	build-asan/device_information_service_client_test
830f7fd6c1SMilanka Ringwald
840f7fd6c1SMilanka Ringwaldcoverage: all
850f7fd6c1SMilanka Ringwald	rm -f build-coverage/*.gcda
860f7fd6c1SMilanka Ringwald	build-coverage/battery_service_client_test
8786d0910fSMilanka Ringwald	build-coverage/ancs_client_test
882b60725aSMilanka Ringwald	build-coverage/device_information_service_client_test
890f7fd6c1SMilanka Ringwald
900f7fd6c1SMilanka Ringwaldclean:
910f7fd6c1SMilanka Ringwald	rm -rf build-coverage build-asan
920f7fd6c1SMilanka Ringwald
93