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