16b7b368aSMatthias Ringwald# Makefile for libusb based PTS tests 26b7b368aSMatthias RingwaldBTSTACK_ROOT = ../.. 36b7b368aSMatthias Ringwald 46b7b368aSMatthias RingwaldCORE += \ 56b7b368aSMatthias Ringwald btstack_memory.c \ 66b7b368aSMatthias Ringwald btstack_linked_list.c \ 76b7b368aSMatthias Ringwald btstack_memory_pool.c \ 86b7b368aSMatthias Ringwald btstack_run_loop.c \ 96b7b368aSMatthias Ringwald btstack_util.c \ 106b7b368aSMatthias Ringwald btstack_audio.c \ 116b7b368aSMatthias Ringwald main.c \ 126b7b368aSMatthias Ringwald btstack_stdin_posix.c \ 136b7b368aSMatthias Ringwald btstack_tlv.c \ 146b7b368aSMatthias Ringwald btstack_tlv_posix.c \ 156b7b368aSMatthias Ringwald rijndael.c \ 166b7b368aSMatthias Ringwald 176b7b368aSMatthias RingwaldCOMMON += \ 186b7b368aSMatthias Ringwald hci.c \ 196b7b368aSMatthias Ringwald device_id_server.c \ 206b7b368aSMatthias Ringwald ad_parser.c \ 216b7b368aSMatthias Ringwald hci_cmd.c \ 226b7b368aSMatthias Ringwald hci_dump.c \ 236b7b368aSMatthias Ringwald l2cap.c \ 246b7b368aSMatthias Ringwald l2cap_signaling.c \ 256b7b368aSMatthias Ringwald rfcomm.c \ 266b7b368aSMatthias Ringwald hci_transport_h2_libusb.c \ 276b7b368aSMatthias Ringwald btstack_run_loop_posix.c \ 286b7b368aSMatthias Ringwald btstack_link_key_db_tlv.c \ 296b7b368aSMatthias Ringwald le_device_db_tlv.c \ 306b7b368aSMatthias Ringwald wav_util.c \ 316b7b368aSMatthias Ringwald sdp_util.c \ 326b7b368aSMatthias Ringwald sdp_server.c \ 336b7b368aSMatthias Ringwald sdp_client.c \ 346b7b368aSMatthias Ringwald sdp_client_rfcomm.c \ 356b7b368aSMatthias Ringwald sm.c \ 366b7b368aSMatthias Ringwald uECC.c \ 376b7b368aSMatthias Ringwald spp_server.c \ 386b7b368aSMatthias Ringwald btstack_chipset_zephyr.c \ 396b7b368aSMatthias Ringwald 406b7b368aSMatthias RingwaldATT += \ 416b7b368aSMatthias Ringwald att_dispatch.c \ 426b7b368aSMatthias Ringwald 436b7b368aSMatthias RingwaldGATT_SERVER += \ 446b7b368aSMatthias Ringwald att_db.c \ 456b7b368aSMatthias Ringwald att_server.c \ 466b7b368aSMatthias Ringwald 476b7b368aSMatthias RingwaldGATT_CLIENT += \ 486b7b368aSMatthias Ringwald gatt_client.c \ 496b7b368aSMatthias Ringwald 506b7b368aSMatthias RingwaldSM += \ 516b7b368aSMatthias Ringwald sm.c \ 526b7b368aSMatthias Ringwald 536b7b368aSMatthias Ringwaldinclude ${BTSTACK_ROOT}/example/Makefile.inc 546b7b368aSMatthias Ringwald 556b7b368aSMatthias RingwaldCFLAGS += -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wunused-variable -Wunused-parameter 566b7b368aSMatthias RingwaldCFLAGS += -D ENABLE_TESTING_SUPPORT 576b7b368aSMatthias RingwaldCFLAGS += -D ENABLE_LE_SIGNED_WRITE 586b7b368aSMatthias Ringwald 596b7b368aSMatthias Ringwald# CFLAGS += -I.. 606b7b368aSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/src 616b7b368aSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/eCC 626b7b368aSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael 636b7b368aSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/tinydir 646b7b368aSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/chipset/zephyr 656b7b368aSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/platform/posix 666b7b368aSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/platform/embedded 676b7b368aSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/port/libusb 686b7b368aSMatthias Ringwald 696b7b368aSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src 706b7b368aSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/ble 716b7b368aSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix 726b7b368aSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/libusb 736b7b368aSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/port/libusb 746b7b368aSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/micro-ecc 756b7b368aSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/rijndael 766b7b368aSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/chipset/zephyr 776b7b368aSMatthias Ringwald 786b7b368aSMatthias Ringwald# use pkg-config for libusb 796b7b368aSMatthias RingwaldCFLAGS += $(shell pkg-config libusb-1.0 --cflags) 806b7b368aSMatthias RingwaldLDFLAGS += $(shell pkg-config libusb-1.0 --libs) 816b7b368aSMatthias Ringwald 82*795c77dcSMatthias RingwaldCFLAGS += -fprofile-arcs -ftest-coverage -fsanitize=address,undefined 83*795c77dcSMatthias Ringwald 846b7b368aSMatthias RingwaldCORE_OBJ = $(CORE:.c=.o) 856b7b368aSMatthias RingwaldCOMMON_OBJ = $(COMMON:.c=.o) 866b7b368aSMatthias RingwaldATT_OBJ = $(ATT:.c=.o) 876b7b368aSMatthias RingwaldSM_OBJ = $(SM:.c=.o) $(MICROECC:.c=.o) 886b7b368aSMatthias RingwaldGATT_CLIENT_OBJ = $(GATT_CLIENT:.c=.o) 896b7b368aSMatthias RingwaldGATT_SERVER_OBJ = $(GATT_SERVER:.c=.o) 906b7b368aSMatthias Ringwald 916b7b368aSMatthias Ringwaldall: sm_test 926b7b368aSMatthias Ringwald 936b7b368aSMatthias Ringwaldsm_test: sm_test.h ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${GATT_CLIENT_OBJ} ${SM_OBJ} sm_test.o 946b7b368aSMatthias Ringwald ${CC} $(filter-out sm_test.h,$^) ${CFLAGS} ${LDFLAGS} -o $@ 956b7b368aSMatthias Ringwald 966b7b368aSMatthias Ringwaldmyclean: 976b7b368aSMatthias Ringwald rm -rf *.pyc *.o $(AVDTP_TESTS) *.dSYM *_test *.wav *.sbc ${BTSTACK_ROOT}/port/libusb/*.o ${BTSTACK_ROOT}/src/*.o ${BTSTACK_ROOT}/src/classic/*.o ${BTSTACK_ROOT}/src/ble/*.o 986b7b368aSMatthias Ringwald rm -rf hog_demo_test.h 996b7b368aSMatthias Ringwald rm -rf ble_central_test.h 1006b7b368aSMatthias Ringwald rm -rf ble_peripheral_test.h 1016b7b368aSMatthias Ringwald rm -rf csc_server_test.h 1026b7b368aSMatthias Ringwald rm -rf cycling_power_server_test.h 1036b7b368aSMatthias Ringwald rm -rf gatt_profiles.h 1046b7b368aSMatthias Ringwald rm -rf hrp_server_test.h 1056b7b368aSMatthias Ringwald rm -rf sm_test.h 1066b7b368aSMatthias Ringwald 1076b7b368aSMatthias Ringwald 1086b7b368aSMatthias Ringwaldclean: myclean 109*795c77dcSMatthias Ringwald 110*795c77dcSMatthias Ringwaldtest: sm_test 111*795c77dcSMatthias Ringwald ./sm_test 112*795c77dcSMatthias Ringwald 113*795c77dcSMatthias Ringwaldcoverage: sm_test 114*795c77dcSMatthias Ringwald # delete trace data 115*795c77dcSMatthias Ringwald # find . -name "*.gcda" -type f -delete 116*795c77dcSMatthias Ringwald # run tests 117*795c77dcSMatthias Ringwald #./sm_test 118*795c77dcSMatthias Ringwald # collect traces 119*795c77dcSMatthias Ringwald lcov --capture --rc lcov_branch_coverage=1 --directory . --exclude "/Applications/*" --exclude "/Library/*" --exclude "/usr/*" --exclude "*/test/*" --output-file coverage-sm-sc.info 120*795c77dcSMatthias Ringwald # strip path prefix such that paths start with 'btstack' 121*795c77dcSMatthias Ringwald sed -i.bak -e 's|/Users/mringwal/buildbot-worker/test-develop/build|btstack|' coverage-sm-sc.info 122*795c77dcSMatthias Ringwald # generate html output 123*795c77dcSMatthias Ringwald genhtml coverage-sm-sc.info --branch-coverage --output-directory coverage-sm-sc 124