xref: /btstack/test/mesh/Makefile (revision c9fe0d9fb404a648664674706f3a39db63a6712f)
11fbe4564SMatthias Ringwald # Makefile for libusb based examples
21fbe4564SMatthias RingwaldBTSTACK_ROOT = ../..
31fbe4564SMatthias Ringwald
4752b29f3SMilanka RingwaldATT  += \
5752b29f3SMilanka Ringwald	att_dispatch.c       	    \
6752b29f3SMilanka Ringwald	att_db.c 				 	\
7752b29f3SMilanka Ringwald	att_server.c        	    \
8752b29f3SMilanka Ringwald	gatt_bearer.c               \
9752b29f3SMilanka Ringwald	mesh_proxy_service_server.c \
10752b29f3SMilanka Ringwald
111fbe4564SMatthias RingwaldCORE += \
121fbe4564SMatthias Ringwald	adv_bearer.c \
131fbe4564SMatthias Ringwald	beacon.c \
141fbe4564SMatthias Ringwald	btstack_link_key_db_fs.c \
151fbe4564SMatthias Ringwald	btstack_run_loop_posix.c \
161fbe4564SMatthias Ringwald	btstack_stdin_posix.c \
171fbe4564SMatthias Ringwald	btstack_uart_block_posix_pty.c \
181fbe4564SMatthias Ringwald	hci_transport_h2_libusb.c \
191fbe4564SMatthias Ringwald	hci_transport_h4.c \
201fbe4564SMatthias Ringwald	btstack_tlv_posix.c \
2104875b11SMatthias Ringwald	mesh_iv_index_seq_number.c \
220e329b41SMatthias Ringwald	mesh_node.c \
231fbe4564SMatthias Ringwald	le_device_db_fs.c \
241fbe4564SMatthias Ringwald	l2cap.c \
251fbe4564SMatthias Ringwald	uECC.c \
261fbe4564SMatthias Ringwald	rijndael.c \
27d61023b2SMilanka Ringwald
281fbe4564SMatthias Ringwald
2939018edaSMilanka Ringwald
301fbe4564SMatthias Ringwald# examples
311fbe4564SMatthias Ringwaldinclude ${BTSTACK_ROOT}/example/Makefile.inc
32777f7d8dSMilanka Ringwaldinclude ${BTSTACK_ROOT}/src/ble/gatt-service/Makefile.inc
331fbe4564SMatthias Ringwald
3439018edaSMilanka Ringwald
3526ecb624SMilanka RingwaldCFLAGS  += -g -DUNIT_TEST -Wall \
361fbe4564SMatthias Ringwald	-I$(BTSTACK_ROOT)/platform/embedded \
371fbe4564SMatthias Ringwald	-I$(BTSTACK_ROOT)/platform/posix \
381fbe4564SMatthias Ringwald	-I$(BTSTACK_ROOT)/3rd-party/tinydir \
39f13fc290SMatthias Ringwald	-I$(BTSTACK_ROOT)/3rd-party/rijndael \
401fbe4564SMatthias Ringwald
41ec422a3aSMatthias RingwaldCFLAGS += -fprofile-arcs -ftest-coverage -fsanitize=address,undefined
42b338ca60SMatthias Ringwald
4313753703SMatthias RingwaldCFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wunused-parameter -Wredundant-decls -Wsign-compare
44497cc682SMatthias Ringwald
45f13fc290SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
4677ba3d3fSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/mesh
471fbe4564SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/classic
481fbe4564SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix
491fbe4564SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/embedded
501fbe4564SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/libusb
51777f7d8dSMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/ble/gatt-service
521fbe4564SMatthias Ringwald
531fbe4564SMatthias Ringwald# cpputest
541fbe4564SMatthias RingwaldCC_UNIT = g++
551fbe4564SMatthias Ringwald
561fbe4564SMatthias Ringwald# libusb
571fbe4564SMatthias RingwaldCFLAGS  += $(shell pkg-config libusb-1.0 --cflags)
581fbe4564SMatthias RingwaldLDFLAGS += $(shell pkg-config libusb-1.0 --libs)
591fbe4564SMatthias Ringwald
60c956179dSMatthias Ringwald# cppUTest
61c956179dSMatthias RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
62c956179dSMatthias Ringwald
63c956179dSMatthias Ringwald
64d61023b2SMilanka Ringwaldmesh_pts: mesh_pts.h ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${SM_OBJ} ${MESH_OBJ} main.o mesh_pts.o
65d522ad64SMatthias Ringwald	${CC} $(filter-out mesh_pts.h,$^) ${CFLAGS} ${LDFLAGS} -o $@
661fbe4564SMatthias Ringwald
67d61023b2SMilanka Ringwaldprovisioner: ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${SM_OBJ} main.o  pb_adv.o mesh_crypto.o provisioning_provisioner.o mesh_keys.o mesh_foundation.o mesh_network.o provisioner.o
681fbe4564SMatthias Ringwald	${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
691fbe4564SMatthias Ringwald
7084242f88SMatthias Ringwaldmesh_message_test: mesh_message_test.cpp mesh_foundation.o mesh_node.o  mesh_iv_index_seq_number.o mesh_network.o mesh_peer.o mesh_lower_transport.o mesh_upper_transport.o mesh_virtual_addresses.o  mesh_keys.o  mesh_crypto.o btstack_memory.o btstack_memory_pool.o btstack_util.o btstack_crypto.o btstack_linked_list.o hci_dump.o uECC.o mock.o rijndael.o hci_cmd.o
71c956179dSMatthias Ringwald	g++ $^ ${CFLAGS} ${LDFLAGS} -o $@
72c956179dSMatthias Ringwald
73d61023b2SMilanka Ringwaldsniffer: ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${SM_OBJ} main.o mesh_keys.o mesh_network.o mesh_foundation.o sniffer.c
741fbe4564SMatthias Ringwald	${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
751fbe4564SMatthias Ringwald
768936a143SMatthias Ringwaldprovisioning_device_test: provisioning_device_test.cpp uECC.o mesh_crypto.o provisioning_device.o btstack_crypto.o btstack_util.o btstack_linked_list.o  mesh_node.o mock.o rijndael.o hci_cmd.o hci_dump.o
771fbe4564SMatthias Ringwald	${CC_UNIT} ${CFLAGS} ${LDFLAGS} $^ -lCppUTest -lCppUTestExt -o $@
781fbe4564SMatthias Ringwald
79db923fb9SMatthias Ringwaldprovisioning_provisioner_test: provisioning_provisioner_test.cpp uECC.o mesh_crypto.o provisioning_provisioner.o btstack_crypto.o btstack_util.o btstack_linked_list.o mock.o rijndael.o hci_cmd.o hci_dump.o
801fbe4564SMatthias Ringwald	${CC_UNIT} ${CFLAGS} ${LDFLAGS} $^ -lCppUTest -lCppUTestExt -o $@
811fbe4564SMatthias Ringwald
82d61023b2SMilanka Ringwaldmesh_configuration_composition_data_message_test: ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${MESH_OBJ} mesh_configuration_composition_data_message_test.cpp
83d61023b2SMilanka Ringwald	${CC_UNIT} ${CFLAGS} ${LDFLAGS} $^ -lCppUTest -lCppUTestExt -o $@
84777f7d8dSMilanka Ringwald
85d61023b2SMilanka RingwaldEXAMPLES = mesh_pts provisioner sniffer provisioning_device_test provisioning_provisioner_test mesh_message_test mesh_configuration_composition_data_message_test
861fbe4564SMatthias Ringwald
871fbe4564SMatthias Ringwaldall: ${EXAMPLES}
881fbe4564SMatthias Ringwald
8917756958SMatthias Ringwaldtest: mesh_message_test provisioning_device_test provisioning_provisioner_test mesh_configuration_composition_data_message_test
90*c9fe0d9fSMatthias Ringwald	# Ignore leaks in mesh message test as tests stop before all PDUs are fully processed
91*c9fe0d9fSMatthias Ringwald    ASAN_OPTIONS=detect_leaks=0 ./mesh_message_test
9217756958SMatthias Ringwald	./provisioning_device_test
9317756958SMatthias Ringwald	./provisioning_provisioner_test
9417756958SMatthias Ringwald	./mesh_configuration_composition_data_message_test
95d491c1eaSMatthias Ringwald
96777f7d8dSMilanka Ringwaldclean:
97777f7d8dSMilanka Ringwald	rm -f  *.o *.out *.exe
98777f7d8dSMilanka Ringwald	rm -rf *.dSYM
99777f7d8dSMilanka Ringwald	rm -f ${EXAMPLES}
100777f7d8dSMilanka Ringwald	rm -f  mesh_provisioning_device.h
101b338ca60SMatthias Ringwald	rm -f *.gcno *.gcda
102777f7d8dSMilanka Ringwald
103