135ffcaaeSMilanka Ringwald# Makefile for libusb based PTS tests 21d3bd1e5SMatthias Ringwald 335ffcaaeSMilanka RingwaldBTSTACK_ROOT = ../.. 43edc84c5SMatthias RingwaldPOSIX_ROOT= ${BTSTACK_ROOT}/platform/posix 5*98e87e77SMatthias Ringwald 6*98e87e77SMatthias Ringwald# CppuTest from pkg-config 7*98e87e77SMatthias RingwaldCFLAGS += ${shell pkg-config --cflags CppuTest} 8*98e87e77SMatthias RingwaldLDFLAGS += ${shell pkg-config --libs CppuTest} 935ffcaaeSMilanka Ringwald 10bcf00d8fSMatthias Ringwaldinclude ${BTSTACK_ROOT}/example/Makefile.inc 110c3fa310SMilanka Ringwald 1235ffcaaeSMilanka RingwaldCOMMON = \ 1349232d5cSMatthias Ringwald ad_parser.c \ 14746ccb7eSMatthias Ringwald sdp_server.c \ 15efda0b48SMatthias Ringwald sdp_client_rfcomm.c \ 16c5b64319SMatthias Ringwald btstack_link_key_db_memory.c \ 174fd23d47SMatthias Ringwald btstack_linked_list.c \ 1835ffcaaeSMilanka Ringwald btstack_memory.c \ 19f032a441SMatthias Ringwald btstack_memory_pool.c \ 20f032a441SMatthias Ringwald btstack_run_loop.c \ 21f032a441SMatthias Ringwald btstack_run_loop_posix.c \ 22f032a441SMatthias Ringwald btstack_util.c \ 2335ffcaaeSMilanka Ringwald hci.c \ 2456042629SMatthias Ringwald hci_cmd.c \ 2535ffcaaeSMilanka Ringwald hci_dump.c \ 2635ffcaaeSMilanka Ringwald l2cap.c \ 2735ffcaaeSMilanka Ringwald l2cap_signaling.c \ 28a484130cSMatthias Ringwald rfcomm.c \ 2935ffcaaeSMilanka Ringwald sdp_client.c \ 30a484130cSMatthias Ringwald sdp_util.c \ 3135ffcaaeSMilanka Ringwald 3235ffcaaeSMilanka Ringwald 3312381011SMilanka RingwaldMOCK = \ 3412381011SMilanka Ringwald mock.c \ 35dc5611fdSMilanka Ringwald test_sequences.c \ 36c5b64319SMatthias Ringwald btstack_link_key_db_memory.c \ 374fd23d47SMatthias Ringwald btstack_linked_list.c \ 38a484130cSMatthias Ringwald btstack_memory.c \ 39c5b64319SMatthias Ringwald btstack_memory_pool.c \ 40c5b64319SMatthias Ringwald btstack_util.c \ 4156042629SMatthias Ringwald hci_cmd.c \ 42a484130cSMatthias Ringwald hci_dump.c \ 43a484130cSMatthias Ringwald sdp_util.c \ 4412381011SMilanka Ringwald 45*98e87e77SMatthias RingwaldCFLAGS += -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null 46e0ff5d41SMatthias RingwaldCFLAGS += -I. -I../ 47e0ff5d41SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/src 48e0ff5d41SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/src/classic 49e0ff5d41SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/platform/posix 50cd56fb44SMatthias Ringwald# CFLAGS += -D OCTAVE_OUTPUT 51cd56fb44SMatthias Ringwald 52cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage 5371d52576SMatthias RingwaldCFLAGS_ASAN = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT 54cd56fb44SMatthias Ringwald 55cd56fb44SMatthias RingwaldLDFLAGS += -lCppUTest -lCppUTestExt 56cd56fb44SMatthias RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage 57cd56fb44SMatthias RingwaldLDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address 58cd56fb44SMatthias Ringwald 59cd56fb44SMatthias RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o)) 60cd56fb44SMatthias RingwaldCOMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o)) 61cd56fb44SMatthias RingwaldMOCK_OBJ_COVERAGE = $(addprefix build-coverage/,$(MOCK:.c=.o)) 62cd56fb44SMatthias RingwaldMOCK_OBJ_ASAN = $(addprefix build-asan/, $(MOCK:.c=.o)) 63cd56fb44SMatthias Ringwald 6435ffcaaeSMilanka Ringwald 6535ffcaaeSMilanka Ringwald# CC = gcc-fsf-4.9 6635ffcaaeSMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src 673edc84c5SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/classic 68dd9e275cSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix 6935ffcaaeSMilanka Ringwald 703d87570fSMatthias RingwaldEXAMPLES = hfp_at_parser_test hfp_ag_client_test hfp_hf_client_test cvsd_plc_test hfp_link_settings_test 7135ffcaaeSMilanka Ringwald 72cd56fb44SMatthias Ringwaldall: $(addprefix build-coverage/,${EXAMPLES}) $(addprefix build-asan/,${EXAMPLES}) build-asan/pklg_cvsd_test 733d87570fSMatthias Ringwald 74cd56fb44SMatthias Ringwaldbuild-%: 75cd56fb44SMatthias Ringwald mkdir -p $@ 7635ffcaaeSMilanka Ringwald 7735ffcaaeSMilanka Ringwald 783d87570fSMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage 79cd56fb44SMatthias Ringwald ${CC} -c $(CFLAGS_COVERAGE) $< -o $@ 803d87570fSMatthias Ringwald 811d3bd1e5SMatthias Ringwaldbuild-coverage/%.o: %.cpp | build-coverage 821d3bd1e5SMatthias Ringwald ${CXX} -c $(CFLAGS_COVERAGE) $< -o $@ 831d3bd1e5SMatthias Ringwald 84cd56fb44SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan 85cd56fb44SMatthias Ringwald ${CC} -c $(CFLAGS_ASAN) $< -o $@ 8694818a3bSMatthias Ringwald 871d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.cpp | build-asan 881d3bd1e5SMatthias Ringwald ${CXX} -c $(CFLAGS_ASAN) $< -o $@ 891d3bd1e5SMatthias Ringwald 90cd56fb44SMatthias Ringwaldbuild-coverage/hfp_at_parser_test: ${COMMON_OBJ_COVERAGE} build-coverage/hfp_gsm_model.o build-coverage/hfp_ag.o build-coverage/hfp.o build-coverage/hfp_at_parser_test.o | build-coverage 911d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 9212381011SMilanka Ringwald 93cd56fb44SMatthias Ringwaldbuild-coverage/hfp_hf_client_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_hf.o build-coverage/hfp.o build-coverage/hfp_hf_client_test.o | build-coverage 941d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 95dc5611fdSMilanka Ringwald 96cd56fb44SMatthias Ringwaldbuild-coverage/hfp_ag_client_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_gsm_model.o build-coverage/hfp_ag.o build-coverage/hfp.o build-coverage/hfp_ag_client_test.o | build-coverage 971d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 98c774f3a0SMilanka Ringwald 99cd56fb44SMatthias Ringwaldbuild-coverage/cvsd_plc_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_cvsd_plc.o build-coverage/wav_util.o build-coverage/cvsd_plc_test.o | build-coverage 1001d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 1013d87570fSMatthias Ringwald 102cd56fb44SMatthias Ringwaldbuild-coverage/hfp_link_settings_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_hf.o build-coverage/hfp.o build-coverage/hfp_link_settings_test.o | build-coverage 1031d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 104cd56fb44SMatthias Ringwald 105cd56fb44SMatthias Ringwald 106cd56fb44SMatthias Ringwaldbuild-asan/hfp_at_parser_test: ${COMMON_OBJ_ASAN} build-asan/hfp_gsm_model.o build-asan/hfp_ag.o build-asan/hfp.o build-asan/hfp_at_parser_test.o | build-asan 1071d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 108cd56fb44SMatthias Ringwald 109cd56fb44SMatthias Ringwaldbuild-asan/hfp_hf_client_test: ${MOCK_OBJ_ASAN} build-asan/hfp_hf.o build-asan/hfp.o build-asan/hfp_hf_client_test.o | build-asan 1101d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 111cd56fb44SMatthias Ringwald 112cd56fb44SMatthias Ringwaldbuild-asan/hfp_ag_client_test: ${MOCK_OBJ_ASAN} build-asan/hfp_gsm_model.o build-asan/hfp_ag.o build-asan/hfp.o build-asan/hfp_ag_client_test.o | build-asan 1131d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 114cd56fb44SMatthias Ringwald 115cd56fb44SMatthias Ringwaldbuild-asan/cvsd_plc_test: ${COMMON_OBJ_ASAN} build-asan/btstack_cvsd_plc.o build-asan/wav_util.o build-asan/cvsd_plc_test.o | build-asan 1161d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 117cd56fb44SMatthias Ringwald 118cd56fb44SMatthias Ringwaldbuild-asan/hfp_link_settings_test: ${MOCK_OBJ_ASAN} build-asan/hfp_hf.o build-asan/hfp.o build-asan/hfp_link_settings_test.o | build-asan 1191d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 120cd56fb44SMatthias Ringwald 121cd56fb44SMatthias Ringwaldbuild-asan/pklg_cvsd_test: build-asan/hci_dump.o build-asan/btstack_util.o build-asan/btstack_cvsd_plc.o build-asan/wav_util.o build-asan/pklg_cvsd_test.o | build-asan 1221d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 123e2cf2490SMatthias Ringwald 12494818a3bSMatthias Ringwaldtest: all 1256f91db60SMilanka Ringwald mkdir -p results 126cd56fb44SMatthias Ringwald build-asan/hfp_at_parser_test 127cd56fb44SMatthias Ringwald build-asan/hfp_ag_client_test 128cd56fb44SMatthias Ringwald build-asan/hfp_hf_client_test 129cd56fb44SMatthias Ringwald build-asan/cvsd_plc_test 130cd56fb44SMatthias Ringwald build-asan/hfp_link_settings_test 131e2cf2490SMatthias Ringwald 1323d87570fSMatthias Ringwaldcoverage: all 1333d87570fSMatthias Ringwald mkdir -p results 1343d87570fSMatthias Ringwald build-coverage/hfp_at_parser_test 1353d87570fSMatthias Ringwald build-coverage/hfp_ag_client_test 1363d87570fSMatthias Ringwald build-coverage/hfp_hf_client_test 1373d87570fSMatthias Ringwald build-coverage/cvsd_plc_test 1383d87570fSMatthias Ringwald build-coverage/hfp_link_settings_test 1393d87570fSMatthias Ringwald 140cd56fb44SMatthias Ringwaldpklg-test: build-asan/pklg_cvsd_test 141cd56fb44SMatthias Ringwald build-asan/pklg_cvsd_test pklg/test1 142cd56fb44SMatthias Ringwald build-asan/pklg_cvsd_test pklg/test2 143cd56fb44SMatthias Ringwald build-asan/pklg_cvsd_test pklg/test3 144cd56fb44SMatthias Ringwald build-asan/pklg_cvsd_test pklg/test4 145cd56fb44SMatthias Ringwald build-asan/pklg_cvsd_test pklg/test5 146cd56fb44SMatthias Ringwald 147cd56fb44SMatthias Ringwaldclean: 148cd56fb44SMatthias Ringwald rm -rf build-coverage build-asan 149cd56fb44SMatthias Ringwald rm -rf *.wav results/* pklg/*.wav 150