xref: /btstack/test/gatt_service_server/Makefile (revision 98e87e7776ef9a7fe55135aea8cddc761fe3a7a5)
176181014SMilanka Ringwald# Requirements: cpputest.github.io
276181014SMilanka Ringwald
376181014SMilanka RingwaldBTSTACK_ROOT =  ../..
476181014SMilanka Ringwald
5*98e87e77SMatthias Ringwald# CppuTest from pkg-config
6*98e87e77SMatthias RingwaldCFLAGS  += ${shell pkg-config --cflags CppuTest}
7*98e87e77SMatthias RingwaldLDFLAGS += ${shell pkg-config --libs   CppuTest}
8*98e87e77SMatthias Ringwald
9*98e87e77SMatthias 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 				 	    			\
2776181014SMilanka Ringwald	battery_service_server.c 					\
2876181014SMilanka Ringwald	btstack_linked_list.c       				\
2976181014SMilanka Ringwald	btstack_memory.c            				\
3076181014SMilanka Ringwald	btstack_memory_pool.c       				\
3176181014SMilanka Ringwald	btstack_util.c              				\
3276181014SMilanka Ringwald	cycling_power_service_server.c 				\
3376181014SMilanka Ringwald	cycling_speed_and_cadence_service_server.c 	\
3476181014SMilanka Ringwald	device_information_service_server.c 		\
3576181014SMilanka Ringwald	hci_dump.c                  				\
3676181014SMilanka Ringwald	heart_rate_service_server.c 				\
3776181014SMilanka Ringwald	hids_device.c 								\
3876181014SMilanka Ringwald	mock_att_server.c           				\
3976181014SMilanka Ringwald	nordic_spp_service_server.c 				\
4076181014SMilanka Ringwald	tx_power_service_server.c 					\
4176181014SMilanka Ringwald	ublox_spp_service_server.c 					\
4276181014SMilanka Ringwald
4376181014SMilanka Ringwald
4476181014SMilanka RingwaldCFLAGS_COVERAGE = ${CFLAGS} -Ibuild-coverage -fprofile-arcs -ftest-coverage
4576181014SMilanka RingwaldCFLAGS_ASAN     = ${CFLAGS} -Ibuild-asan     -fsanitize=address -DHAVE_ASSERT
4676181014SMilanka Ringwald
4776181014SMilanka RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
4876181014SMilanka RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
4976181014SMilanka RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
5076181014SMilanka Ringwald
5176181014SMilanka RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
5276181014SMilanka RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
5376181014SMilanka Ringwald
5476181014SMilanka Ringwald
5576181014SMilanka Ringwaldall: build-coverage/battery_service_server_test 			build-asan/battery_service_server_test 				\
5676181014SMilanka Ringwald	 build-coverage/device_information_service_server_test 	build-asan/device_information_service_server_test 	\
5776181014SMilanka Ringwald	 build-coverage/tx_power_service_server_test 			build-asan/tx_power_service_server_test 			\
5876181014SMilanka Ringwald	 build-coverage/bond_management_service_server_test 	build-asan/bond_management_service_server_test 		\
59c435f47bSMilanka Ringwald	 build-coverage/heart_rate_service_server_test 			build-asan/heart_rate_service_server_test 			\
6076181014SMilanka Ringwald
6176181014SMilanka Ringwaldbuild-%:
6276181014SMilanka Ringwald	mkdir -p $@
6376181014SMilanka Ringwald
6476181014SMilanka Ringwaldbuild-%/battery_service_server_test.h: battery_service_server_test.gatt | build-%
6576181014SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
6676181014SMilanka Ringwald
6776181014SMilanka Ringwaldbuild-%/device_information_service_server_test.h: device_information_service_server_test.gatt| build-%
6876181014SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
6976181014SMilanka Ringwald
7076181014SMilanka Ringwaldbuild-%/tx_power_service_server_test.h: tx_power_service_server_test.gatt| build-%
7176181014SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
7276181014SMilanka Ringwald
7376181014SMilanka Ringwaldbuild-%/bond_management_service_server_test.h: bond_management_service_server_test.gatt| build-%
7476181014SMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
7576181014SMilanka Ringwald
76c435f47bSMilanka Ringwaldbuild-%/heart_rate_service_server_test.h: heart_rate_service_server_test.gatt| build-%
77c435f47bSMilanka Ringwald	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
78c435f47bSMilanka Ringwald
7976181014SMilanka Ringwaldbuild-coverage/%.o: %.c | build-coverage
8076181014SMilanka Ringwald	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
8176181014SMilanka Ringwald
8276181014SMilanka Ringwaldbuild-coverage/%.o: %.cpp | build-coverage
8376181014SMilanka Ringwald	${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
8476181014SMilanka Ringwald
8576181014SMilanka Ringwaldbuild-asan/%.o: %.c | build-asan
8676181014SMilanka Ringwald	${CC} -c $(CFLAGS_ASAN) $< -o $@
8776181014SMilanka Ringwald
8876181014SMilanka Ringwaldbuild-asan/%.o: %.cpp | build-asan
8976181014SMilanka Ringwald	${CXX} -c $(CFLAGS_ASAN) $< -o $@
9076181014SMilanka Ringwald
9176181014SMilanka 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
9276181014SMilanka Ringwald	${CXX} $(filter-out build-coverage/battery_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@
9376181014SMilanka Ringwald
9476181014SMilanka 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
9576181014SMilanka Ringwald	${CXX} $(filter-out build-asan/battery_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@
9676181014SMilanka Ringwald
9776181014SMilanka 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
9876181014SMilanka Ringwald	${CXX} $(filter-out build-coverage/device_information_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@
9976181014SMilanka Ringwald
10076181014SMilanka 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
10176181014SMilanka Ringwald	${CXX} $(filter-out build-asan/device_information_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@
10276181014SMilanka Ringwald
10376181014SMilanka 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
10476181014SMilanka Ringwald	${CXX} $(filter-out build-coverage/tx_power_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@
10576181014SMilanka Ringwald
10676181014SMilanka 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
10776181014SMilanka Ringwald	${CXX} $(filter-out build-asan/tx_power_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@
10876181014SMilanka Ringwald
10976181014SMilanka 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
11076181014SMilanka Ringwald	${CXX} $(filter-out build-coverage/bond_management_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@
11176181014SMilanka Ringwald
11276181014SMilanka 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
11376181014SMilanka Ringwald	${CXX} $(filter-out build-asan/bond_management_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@
11476181014SMilanka Ringwald
115c435f47bSMilanka 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
116c435f47bSMilanka Ringwald	${CXX} $(filter-out build-coverage/heart_rate_service_server_test.h,$^) ${LDFLAGS_COVERAGE} -o $@
117c435f47bSMilanka Ringwald
118c435f47bSMilanka 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
119c435f47bSMilanka Ringwald	${CXX} $(filter-out build-asan/heart_rate_service_server_test.h,$^) ${LDFLAGS_ASAN} -o $@
120c435f47bSMilanka Ringwald
12176181014SMilanka Ringwaldtest: all
12276181014SMilanka Ringwald	build-asan/battery_service_server_test
12376181014SMilanka Ringwald	build-asan/device_information_service_server_test
12476181014SMilanka Ringwald	build-asan/tx_power_service_server_test
12576181014SMilanka Ringwald	build-asan/bond_management_service_server_test
126c435f47bSMilanka Ringwald	build-asan/heart_rate_service_server_test
12776181014SMilanka Ringwald
12876181014SMilanka Ringwaldcoverage: all
12976181014SMilanka Ringwald	rm -f build-coverage/*.gcda
13076181014SMilanka Ringwald	build-coverage/battery_service_server_test
13176181014SMilanka Ringwald	build-coverage/device_information_service_server_test
13276181014SMilanka Ringwald	build-coverage/tx_power_service_server_test
13376181014SMilanka Ringwald	build-coverage/bond_management_service_server_test
134c435f47bSMilanka Ringwald	build-coverage/heart_rate_service_server_test
13576181014SMilanka Ringwald
13676181014SMilanka Ringwaldclean:
13776181014SMilanka Ringwald	rm -rf build-coverage build-asan
13876181014SMilanka Ringwald
139