xref: /btstack/test/gatt_service_server/Makefile (revision ec4690afd10fec8b375d4122b81902e9c9a379a0)
176181014SMilanka Ringwald# Requirements: cpputest.github.io
276181014SMilanka Ringwald
376181014SMilanka RingwaldBTSTACK_ROOT =  ../..
476181014SMilanka 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 -x c++ -g -Wall -Wnarrowing -Wconversion-null
1076181014SMilanka RingwaldCFLAGS += -I../
1176181014SMilanka Ringwald
1276181014SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/src
1376181014SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/test/mock
1476181014SMilanka RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
1576181014SMilanka Ringwald
1676181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src
1776181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble
1876181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble/gatt-service
1970cea164SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/le-audio/gatt-service
2076181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix
2176181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
2276181014SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/test/mock
2376181014SMilanka Ringwald
2476181014SMilanka RingwaldCOMMON = 										\
2576181014SMilanka Ringwald	ad_parser.c                 				\
2676181014SMilanka Ringwald	att_db.c 				 	    			\
27*ec4690afSMatthias Ringwald	btstack_hid_parser.c						\
2876181014SMilanka Ringwald	battery_service_server.c 					\
2976181014SMilanka Ringwald	btstack_linked_list.c       				\
3076181014SMilanka Ringwald	btstack_memory.c            				\
3176181014SMilanka Ringwald	btstack_memory_pool.c       				\
3276181014SMilanka Ringwald	btstack_util.c              				\
3376181014SMilanka Ringwald	cycling_power_service_server.c 				\
3476181014SMilanka Ringwald	cycling_speed_and_cadence_service_server.c 	\
3576181014SMilanka Ringwald	device_information_service_server.c 		\
3676181014SMilanka Ringwald	hci_dump.c                  				\
3776181014SMilanka Ringwald	heart_rate_service_server.c 				\
3876181014SMilanka Ringwald	hids_device.c 								\
3976181014SMilanka Ringwald	mock_att_server.c           				\
4076181014SMilanka Ringwald	nordic_spp_service_server.c 				\
4176181014SMilanka Ringwald	tx_power_service_server.c 					\
4276181014SMilanka Ringwald	ublox_spp_service_server.c 					\
4376181014SMilanka Ringwald
4476181014SMilanka Ringwald
4576181014SMilanka RingwaldCFLAGS_COVERAGE = ${CFLAGS} -Ibuild-coverage -fprofile-arcs -ftest-coverage
4676181014SMilanka RingwaldCFLAGS_ASAN     = ${CFLAGS} -Ibuild-asan     -fsanitize=address -DHAVE_ASSERT
4776181014SMilanka Ringwald
4876181014SMilanka RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
4976181014SMilanka RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
5076181014SMilanka RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
5176181014SMilanka Ringwald
5276181014SMilanka RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
5376181014SMilanka RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
5476181014SMilanka Ringwald
5576181014SMilanka Ringwald
5676181014SMilanka Ringwaldall: build-coverage/battery_service_server_test 			build-asan/battery_service_server_test 				\
5776181014SMilanka Ringwald	 build-coverage/device_information_service_server_test 	build-asan/device_information_service_server_test 	\
5876181014SMilanka Ringwald	 build-coverage/tx_power_service_server_test 			build-asan/tx_power_service_server_test 			\
5976181014SMilanka Ringwald	 build-coverage/bond_management_service_server_test 	build-asan/bond_management_service_server_test 		\
60c435f47bSMilanka Ringwald	 build-coverage/heart_rate_service_server_test 			build-asan/heart_rate_service_server_test 			\
6176181014SMilanka Ringwald
6276181014SMilanka Ringwaldbuild-%:
6376181014SMilanka Ringwald	mkdir -p $@
6476181014SMilanka Ringwald
6576181014SMilanka Ringwaldbuild-%/battery_service_server_test.h: battery_service_server_test.gatt | build-%
6676181014SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
6776181014SMilanka Ringwald
6876181014SMilanka Ringwaldbuild-%/device_information_service_server_test.h: device_information_service_server_test.gatt| build-%
6976181014SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
7076181014SMilanka Ringwald
7176181014SMilanka Ringwaldbuild-%/tx_power_service_server_test.h: tx_power_service_server_test.gatt| build-%
7276181014SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
7376181014SMilanka Ringwald
7476181014SMilanka Ringwaldbuild-%/bond_management_service_server_test.h: bond_management_service_server_test.gatt| build-%
7576181014SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
7676181014SMilanka Ringwald
77c435f47bSMilanka Ringwaldbuild-%/heart_rate_service_server_test.h: heart_rate_service_server_test.gatt| build-%
78c435f47bSMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
79c435f47bSMilanka 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
116c435f47bSMilanka 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
117c435f47bSMilanka Ringwald	${CXX} $(filter-out build-coverage/heart_rate_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@
118c435f47bSMilanka Ringwald
119c435f47bSMilanka 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
120c435f47bSMilanka Ringwald	${CXX} $(filter-out build-asan/heart_rate_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@
121c435f47bSMilanka Ringwald
12276181014SMilanka Ringwaldtest: all
12376181014SMilanka Ringwald	build-asan/battery_service_server_test
12476181014SMilanka Ringwald	build-asan/device_information_service_server_test
12576181014SMilanka Ringwald	build-asan/tx_power_service_server_test
12676181014SMilanka Ringwald	build-asan/bond_management_service_server_test
127c435f47bSMilanka Ringwald	build-asan/heart_rate_service_server_test
12876181014SMilanka Ringwald
12976181014SMilanka Ringwaldcoverage: all
13076181014SMilanka Ringwald	rm -f build-coverage/*.gcda
13176181014SMilanka Ringwald	build-coverage/battery_service_server_test
13276181014SMilanka Ringwald	build-coverage/device_information_service_server_test
13376181014SMilanka Ringwald	build-coverage/tx_power_service_server_test
13476181014SMilanka Ringwald	build-coverage/bond_management_service_server_test
135c435f47bSMilanka Ringwald	build-coverage/heart_rate_service_server_test
13676181014SMilanka Ringwald
13776181014SMilanka Ringwaldclean:
13876181014SMilanka Ringwald	rm -rf build-coverage build-asan
13976181014SMilanka Ringwald
140