176181014SMilanka Ringwald# Requirements: cpputest.github.io 276181014SMilanka Ringwald 376181014SMilanka RingwaldBTSTACK_ROOT = ../.. 476181014SMilanka Ringwald 576181014SMilanka RingwaldCFLAGS = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null 676181014SMilanka RingwaldCFLAGS += -I../ 776181014SMilanka Ringwald 876181014SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/src 976181014SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/test/mock 1076181014SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael 1176181014SMilanka Ringwald 1276181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src 1376181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble 1476181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble/gatt-service 1576181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix 1676181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/rijndael 1776181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/test/mock 1876181014SMilanka Ringwald 1976181014SMilanka RingwaldCOMMON = \ 2076181014SMilanka Ringwald ad_parser.c \ 2176181014SMilanka Ringwald att_db.c \ 2276181014SMilanka Ringwald audio_input_control_service_server.c \ 2376181014SMilanka Ringwald battery_service_server.c \ 2476181014SMilanka Ringwald btstack_linked_list.c \ 2576181014SMilanka Ringwald btstack_memory.c \ 2676181014SMilanka Ringwald btstack_memory_pool.c \ 2776181014SMilanka Ringwald btstack_util.c \ 2876181014SMilanka Ringwald cycling_power_service_server.c \ 2976181014SMilanka Ringwald cycling_speed_and_cadence_service_server.c \ 3076181014SMilanka Ringwald device_information_service_server.c \ 3176181014SMilanka Ringwald hci_dump.c \ 3276181014SMilanka Ringwald heart_rate_service_server.c \ 3376181014SMilanka Ringwald hids_device.c \ 3476181014SMilanka Ringwald microphone_control_service_server.c \ 3576181014SMilanka Ringwald mock_att_server.c \ 3676181014SMilanka Ringwald nordic_spp_service_server.c \ 3776181014SMilanka Ringwald tx_power_service_server.c \ 3876181014SMilanka Ringwald ublox_spp_service_server.c \ 3976181014SMilanka Ringwald 4076181014SMilanka Ringwald 4176181014SMilanka RingwaldCFLAGS_COVERAGE = ${CFLAGS} -Ibuild-coverage -fprofile-arcs -ftest-coverage 4276181014SMilanka RingwaldCFLAGS_ASAN = ${CFLAGS} -Ibuild-asan -fsanitize=address -DHAVE_ASSERT 4376181014SMilanka Ringwald 4476181014SMilanka RingwaldLDFLAGS += -lCppUTest -lCppUTestExt 4576181014SMilanka RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage 4676181014SMilanka RingwaldLDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address 4776181014SMilanka Ringwald 4876181014SMilanka RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o)) 4976181014SMilanka RingwaldCOMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o)) 5076181014SMilanka Ringwald 5176181014SMilanka Ringwald 5276181014SMilanka Ringwaldall: build-coverage/battery_service_server_test build-asan/battery_service_server_test \ 5376181014SMilanka Ringwald build-coverage/device_information_service_server_test build-asan/device_information_service_server_test \ 5476181014SMilanka Ringwald build-coverage/tx_power_service_server_test build-asan/tx_power_service_server_test \ 5576181014SMilanka Ringwald build-coverage/bond_management_service_server_test build-asan/bond_management_service_server_test \ 5676181014SMilanka Ringwald build-coverage/microphone_control_service_server_test build-asan/microphone_control_service_server_test \ 57*c435f47bSMilanka Ringwald build-coverage/heart_rate_service_server_test build-asan/heart_rate_service_server_test \ 5876181014SMilanka Ringwald 5976181014SMilanka Ringwaldbuild-%: 6076181014SMilanka Ringwald mkdir -p $@ 6176181014SMilanka Ringwald 6276181014SMilanka Ringwaldbuild-%/battery_service_server_test.h: battery_service_server_test.gatt | build-% 6376181014SMilanka Ringwald python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ 6476181014SMilanka Ringwald 6576181014SMilanka Ringwaldbuild-%/device_information_service_server_test.h: device_information_service_server_test.gatt| build-% 6676181014SMilanka Ringwald python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ 6776181014SMilanka Ringwald 6876181014SMilanka Ringwaldbuild-%/tx_power_service_server_test.h: tx_power_service_server_test.gatt| build-% 6976181014SMilanka Ringwald python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ 7076181014SMilanka Ringwald 7176181014SMilanka Ringwaldbuild-%/bond_management_service_server_test.h: bond_management_service_server_test.gatt| build-% 7276181014SMilanka Ringwald python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ 7376181014SMilanka Ringwald 7476181014SMilanka Ringwaldbuild-%/microphone_control_service_server_test.h: microphone_control_service_server_test.gatt| build-% 7576181014SMilanka Ringwald python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ 7676181014SMilanka Ringwald 77*c435f47bSMilanka Ringwaldbuild-%/heart_rate_service_server_test.h: heart_rate_service_server_test.gatt| build-% 78*c435f47bSMilanka Ringwald python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ 79*c435f47bSMilanka Ringwald 8076181014SMilanka Ringwaldbuild-coverage/%.o: %.c | build-coverage 8176181014SMilanka Ringwald ${CC} -c $(CFLAGS_COVERAGE) $< -o $@ 8276181014SMilanka Ringwald 8376181014SMilanka Ringwaldbuild-coverage/%.o: %.cpp | build-coverage 8476181014SMilanka Ringwald ${CXX} -c $(CFLAGS_COVERAGE) $< -o $@ 8576181014SMilanka Ringwald 8676181014SMilanka Ringwaldbuild-asan/%.o: %.c | build-asan 8776181014SMilanka Ringwald ${CC} -c $(CFLAGS_ASAN) $< -o $@ 8876181014SMilanka Ringwald 8976181014SMilanka Ringwaldbuild-asan/%.o: %.cpp | build-asan 9076181014SMilanka Ringwald ${CXX} -c $(CFLAGS_ASAN) $< -o $@ 9176181014SMilanka Ringwald 9276181014SMilanka Ringwaldbuild-coverage/battery_service_server_test: build-coverage/battery_service_server_test.h ${COMMON_OBJ_COVERAGE} build-coverage/battery_service_server_test.o | build-coverage 9376181014SMilanka Ringwald ${CXX} $(filter-out build-coverage/battery_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@ 9476181014SMilanka Ringwald 9576181014SMilanka Ringwaldbuild-asan/battery_service_server_test: build-asan/battery_service_server_test.h ${COMMON_OBJ_ASAN} build-asan/battery_service_server_test.o | build-asan 9676181014SMilanka Ringwald ${CXX} $(filter-out build-asan/battery_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@ 9776181014SMilanka Ringwald 9876181014SMilanka Ringwaldbuild-coverage/device_information_service_server_test: build-coverage/device_information_service_server_test.h ${COMMON_OBJ_COVERAGE} build-coverage/device_information_service_server_test.o | build-coverage 9976181014SMilanka Ringwald ${CXX} $(filter-out build-coverage/device_information_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@ 10076181014SMilanka Ringwald 10176181014SMilanka Ringwaldbuild-asan/device_information_service_server_test: build-asan/device_information_service_server_test.h ${COMMON_OBJ_ASAN} build-asan/device_information_service_server_test.o | build-asan 10276181014SMilanka Ringwald ${CXX} $(filter-out build-asan/device_information_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@ 10376181014SMilanka Ringwald 10476181014SMilanka Ringwaldbuild-coverage/tx_power_service_server_test: build-coverage/tx_power_service_server_test.h ${COMMON_OBJ_COVERAGE} build-coverage/tx_power_service_server_test.o | build-coverage 10576181014SMilanka Ringwald ${CXX} $(filter-out build-coverage/tx_power_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@ 10676181014SMilanka Ringwald 10776181014SMilanka Ringwaldbuild-asan/tx_power_service_server_test: build-asan/tx_power_service_server_test.h ${COMMON_OBJ_ASAN} build-asan/tx_power_service_server_test.o | build-asan 10876181014SMilanka Ringwald ${CXX} $(filter-out build-asan/tx_power_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@ 10976181014SMilanka Ringwald 11076181014SMilanka Ringwaldbuild-coverage/bond_management_service_server_test: build-coverage/bond_management_service_server_test.h ${COMMON_OBJ_COVERAGE} build-coverage/bond_management_service_server.o build-coverage/bond_management_service_server_test.o | build-coverage 11176181014SMilanka Ringwald ${CXX} $(filter-out build-coverage/bond_management_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@ 11276181014SMilanka Ringwald 11376181014SMilanka Ringwaldbuild-asan/bond_management_service_server_test: build-asan/bond_management_service_server_test.h ${COMMON_OBJ_ASAN} build-asan/bond_management_service_server.o build-asan/bond_management_service_server_test.o | build-asan 11476181014SMilanka Ringwald ${CXX} $(filter-out build-asan/bond_management_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@ 11576181014SMilanka Ringwald 11676181014SMilanka Ringwaldbuild-coverage/microphone_control_service_server_test: build-coverage/microphone_control_service_server_test.h ${COMMON_OBJ_COVERAGE} build-coverage/microphone_control_service_server.o build-coverage/microphone_control_service_server_test.o | build-coverage 11776181014SMilanka Ringwald ${CXX} $(filter-out build-coverage/microphone_control_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@ 11876181014SMilanka Ringwald 11976181014SMilanka Ringwaldbuild-asan/microphone_control_service_server_test: build-asan/microphone_control_service_server_test.h ${COMMON_OBJ_ASAN} build-asan/microphone_control_service_server.o build-asan/microphone_control_service_server_test.o | build-asan 12076181014SMilanka Ringwald ${CXX} $(filter-out build-asan/microphone_control_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@ 12176181014SMilanka Ringwald 122*c435f47bSMilanka Ringwaldbuild-coverage/heart_rate_service_server_test: build-coverage/heart_rate_service_server_test.h ${COMMON_OBJ_COVERAGE} build-coverage/heart_rate_service_server.o build-coverage/heart_rate_service_server_test.o | build-coverage 123*c435f47bSMilanka Ringwald ${CXX} $(filter-out build-coverage/heart_rate_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@ 124*c435f47bSMilanka Ringwald 125*c435f47bSMilanka Ringwaldbuild-asan/heart_rate_service_server_test: build-asan/heart_rate_service_server_test.h ${COMMON_OBJ_ASAN} build-asan/heart_rate_service_server.o build-asan/heart_rate_service_server_test.o | build-asan 126*c435f47bSMilanka Ringwald ${CXX} $(filter-out build-asan/heart_rate_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@ 127*c435f47bSMilanka Ringwald 12876181014SMilanka Ringwaldtest: all 12976181014SMilanka Ringwald build-asan/battery_service_server_test 13076181014SMilanka Ringwald build-asan/device_information_service_server_test 13176181014SMilanka Ringwald build-asan/tx_power_service_server_test 13276181014SMilanka Ringwald build-asan/bond_management_service_server_test 13376181014SMilanka Ringwald build-asan/microphone_control_service_server_test 134*c435f47bSMilanka Ringwald build-asan/heart_rate_service_server_test 13576181014SMilanka Ringwald 13676181014SMilanka Ringwaldcoverage: all 13776181014SMilanka Ringwald rm -f build-coverage/*.gcda 13876181014SMilanka Ringwald build-coverage/battery_service_server_test 13976181014SMilanka Ringwald build-coverage/device_information_service_server_test 14076181014SMilanka Ringwald build-coverage/tx_power_service_server_test 14176181014SMilanka Ringwald build-coverage/bond_management_service_server_test 14276181014SMilanka Ringwald build-coverage/microphone_control_service_server_test 143*c435f47bSMilanka Ringwald build-coverage/heart_rate_service_server_test 14476181014SMilanka Ringwald 14576181014SMilanka Ringwaldclean: 14676181014SMilanka Ringwald rm -rf build-coverage build-asan 14776181014SMilanka Ringwald 148