xref: /btstack/test/gatt-service-client/Makefile (revision 2a954d4aec7ecbfde55b8fc19be74a0e88beb75c)
10f7fd6c1SMilanka Ringwald# Requirements: cpputest.github.io
20f7fd6c1SMilanka Ringwald
30f7fd6c1SMilanka RingwaldBTSTACK_ROOT =  ../..
40f7fd6c1SMilanka Ringwald
598e87e77SMatthias Ringwald# CppuTest from pkg-config
698e87e77SMatthias RingwaldCFLAGS  += ${shell pkg-config --cflags CppuTest}
798e87e77SMatthias RingwaldLDFLAGS += ${shell pkg-config --libs   CppuTest}
898e87e77SMatthias Ringwald
998e87e77SMatthias RingwaldCFLAGS += -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null -Ibuild-coverage -I../
100f7fd6c1SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/src
110f7fd6c1SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/src/ble
120f7fd6c1SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/test/mock
130f7fd6c1SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
1476cdba3eSMilanka Ringwald# CFLAGS += -D ENABLE_TESTING_SUPPORT
150f7fd6c1SMilanka Ringwald
160f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src
170f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble
180f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble/gatt-service
190f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix
200f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
210f7fd6c1SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/test/mock
220f7fd6c1SMilanka Ringwald
230f7fd6c1SMilanka RingwaldCOMMON = \
240f7fd6c1SMilanka Ringwald	btstack_linked_list.c       \
250f7fd6c1SMilanka Ringwald	btstack_util.c              \
260f7fd6c1SMilanka Ringwald	hci_dump.c                  \
27*2a954d4aSMatthias Ringwald	hci_event_builder.c         \
280f7fd6c1SMilanka Ringwald	mock_gatt_client.c 			\
290f7fd6c1SMilanka Ringwald
300f7fd6c1SMilanka RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
310f7fd6c1SMilanka RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
320f7fd6c1SMilanka Ringwald
330f7fd6c1SMilanka RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
340f7fd6c1SMilanka RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
350f7fd6c1SMilanka RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
360f7fd6c1SMilanka Ringwald
370f7fd6c1SMilanka RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
380f7fd6c1SMilanka RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
390f7fd6c1SMilanka Ringwald
400f7fd6c1SMilanka Ringwald
4186d0910fSMilanka Ringwaldall: \
4286d0910fSMilanka Ringwald	build-coverage/battery_service_client_test build-asan/battery_service_client_test \
4386d0910fSMilanka Ringwald	build-coverage/ancs_client_test build-asan/ancs_client_test \
442b60725aSMilanka Ringwald	build-coverage/device_information_service_client_test build-asan/device_information_service_client_test \
450f7fd6c1SMilanka Ringwald
460f7fd6c1SMilanka Ringwaldbuild-%:
470f7fd6c1SMilanka Ringwald	mkdir -p $@
480f7fd6c1SMilanka Ringwald
490f7fd6c1SMilanka Ringwaldbuild-%/ancs_client_profile.h: ancs_client_profile.gatt| build-%
500f7fd6c1SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
510f7fd6c1SMilanka Ringwald
520f7fd6c1SMilanka Ringwald
530f7fd6c1SMilanka Ringwaldbuild-coverage/%.o: %.c | build-coverage
540f7fd6c1SMilanka Ringwald	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
550f7fd6c1SMilanka Ringwald
561d3bd1e5SMatthias Ringwaldbuild-coverage/%.o: %.cpp | build-coverage
571d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
581d3bd1e5SMatthias Ringwald
590f7fd6c1SMilanka Ringwaldbuild-asan/%.o: %.c | build-asan
600f7fd6c1SMilanka Ringwald	${CC} -c $(CFLAGS_ASAN) $< -o $@
610f7fd6c1SMilanka Ringwald
621d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.cpp | build-asan
631d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_ASAN) $< -o $@
641d3bd1e5SMatthias Ringwald
6586d0910fSMilanka Ringwaldbuild-coverage/battery_service_client_test: ${COMMON_OBJ_COVERAGE} build-coverage/battery_service_client_test.o  build-coverage/battery_service_client.o | build-coverage
661d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
670f7fd6c1SMilanka Ringwald
6886d0910fSMilanka Ringwaldbuild-asan/battery_service_client_test: ${COMMON_OBJ_ASAN} build-asan/battery_service_client_test.o build-asan/battery_service_client.o | build-asan
691d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
700f7fd6c1SMilanka Ringwald
7186d0910fSMilanka Ringwaldbuild-coverage/ancs_client_test: ${COMMON_OBJ_COVERAGE} build-coverage/ancs_client_test.o build-coverage/ancs_client.o | build-coverage
721d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
7386d0910fSMilanka Ringwald
7486d0910fSMilanka Ringwaldbuild-asan/ancs_client_test: ${COMMON_OBJ_ASAN} build-asan/ancs_client_test.o build-asan/ancs_client.o | build-asan
751d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
760f7fd6c1SMilanka Ringwald
772b60725aSMilanka 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
781d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
792b60725aSMilanka Ringwald
802b60725aSMilanka 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
811d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
822b60725aSMilanka Ringwald
832b60725aSMilanka Ringwald
840f7fd6c1SMilanka Ringwaldtest: all
850f7fd6c1SMilanka Ringwald	build-asan/battery_service_client_test
8686d0910fSMilanka Ringwald	build-asan/ancs_client_test
872b60725aSMilanka Ringwald	build-asan/device_information_service_client_test
880f7fd6c1SMilanka Ringwald
890f7fd6c1SMilanka Ringwaldcoverage: all
900f7fd6c1SMilanka Ringwald	rm -f build-coverage/*.gcda
910f7fd6c1SMilanka Ringwald	build-coverage/battery_service_client_test
9286d0910fSMilanka Ringwald	build-coverage/ancs_client_test
932b60725aSMilanka Ringwald	build-coverage/device_information_service_client_test
940f7fd6c1SMilanka Ringwald
950f7fd6c1SMilanka Ringwaldclean:
960f7fd6c1SMilanka Ringwald	rm -rf build-coverage build-asan
970f7fd6c1SMilanka Ringwald
98