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