xref: /btstack/test/gatt_server/Makefile (revision 1ddeadfcb2c81d0a936d3afe5d147429d43abd56)
1CC = g++
2
3# Requirements: cpputest.github.io
4
5BTSTACK_ROOT =  ../..
6
7CFLAGS  = -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null -I. -I../
8CFLAGS += -I${BTSTACK_ROOT}/src
9CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
10CFLAGS += -I${BTSTACK_ROOT}/3rd-party/micro-ecc
11
12VPATH += ${BTSTACK_ROOT}/src
13VPATH += ${BTSTACK_ROOT}/src/ble
14VPATH += ${BTSTACK_ROOT}/src/ble/gatt-service
15VPATH += ${BTSTACK_ROOT}/platform/posix
16VPATH += ${BTSTACK_ROOT}/3rd-party/micro-ecc
17VPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
18
19COMMON = \
20	ad_parser.c                 \
21	att_db.c                    \
22	att_db_util.c 				\
23	att_dispatch.c              \
24	att_server.c                \
25	battery_service_server.c \
26	btstack_crypto.c            \
27	btstack_linked_list.c       \
28	btstack_memory.c            \
29	btstack_memory_pool.c       \
30	btstack_tlv.c               \
31	btstack_util.c              \
32	cycling_power_service_server.c \
33	cycling_speed_and_cadence_service_server.c \
34	device_information_service_server.c \
35	hci_cmd.c                   \
36	hci_dump.c                  \
37	heart_rate_service_server.c \
38	hids_device.c \
39	le_device_db_memory.c       \
40	mock.c                      \
41	nordic_spp_service_server.c \
42	rijndael.c 					\
43	ublox_spp_service_server.c \
44
45CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
46CFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
47
48LDFLAGS += -lCppUTest -lCppUTestExt
49LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
50LDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
51
52COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o)) build-coverage/uECC.c.o
53COMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o)) build-asan/uECC.c.o
54
55
56all: build-coverage/gatt_server_test build-asan/gatt_server_test
57
58build-%:
59	mkdir -p $@
60
61# compile .ble description
62build-%/profile.h: profile.gatt | build-%
63	python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
64
65build-coverage/%.o: %.c | build-coverage
66	${CC} -c $(CFLAGS_COVERAGE) $< -o $@
67
68build-coverage/%.c.o: %.c | build-coverage
69	gcc -c $(CFLAGS_COVERAGE) $< -o $@
70
71build-asan/%.o: %.c | build-asan
72	${CC} -c $(CFLAGS_ASAN) $< -o $@
73
74build-asan/%.c.o: %.c | build-asan
75	gcc -c $(CFLAGS_ASAN) $< -o $@
76
77
78build-coverage/gatt_server_test: ${COMMON_OBJ_COVERAGE} build-coverage/profile.h build-coverage/gatt_server_test.o | build-coverage
79	${CC} $(filter-out build-coverage/profile.h,$^) ${LDFLAGS_COVERAGE} -o $@
80
81build-asan/gatt_server_test: ${COMMON_OBJ_ASAN} build-asan/profile.h build-asan/gatt_server_test.o | build-asan
82	${CC} $(filter-out build-asan/profile.h,$^) ${LDFLAGS_ASAN} -o $@
83
84test: all
85	build-asan/gatt_server_test
86
87coverage: all
88	rm -f build-coverage/*.gcda
89	build-coverage/gatt_server_test
90
91clean:
92	rm -rf build-coverage build-asan
93
94