mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-01-08 12:50:52 +00:00
123 lines
3.4 KiB
Makefile
123 lines
3.4 KiB
Makefile
# Makefile for libusb based PTS tests
|
|
BTSTACK_ROOT = ../..
|
|
|
|
CORE += \
|
|
btstack_memory.c \
|
|
btstack_linked_list.c \
|
|
btstack_memory_pool.c \
|
|
btstack_run_loop.c \
|
|
btstack_util.c \
|
|
main.c \
|
|
btstack_stdin_posix.c \
|
|
btstack_tlv.c \
|
|
btstack_tlv_posix.c \
|
|
rijndael.c \
|
|
|
|
COMMON += \
|
|
hci.c \
|
|
ad_parser.c \
|
|
hci_cmd.c \
|
|
hci_dump.c \
|
|
hci_dump_posix_fs.c \
|
|
l2cap.c \
|
|
l2cap_signaling.c \
|
|
hci_transport_h2_libusb.c \
|
|
btstack_crypto.c \
|
|
btstack_run_loop_posix.c \
|
|
le_device_db_tlv.c \
|
|
sm.c \
|
|
uECC.c \
|
|
btstack_chipset_zephyr.c \
|
|
|
|
ATT += \
|
|
att_dispatch.c \
|
|
|
|
GATT_SERVER += \
|
|
att_db.c \
|
|
att_server.c \
|
|
|
|
GATT_CLIENT += \
|
|
gatt_client.c \
|
|
|
|
SM += \
|
|
sm.c \
|
|
|
|
CFLAGS += -g -std=c99 -Wall -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wunused-parameter -Wredundant-decls -Wsign-compare
|
|
CFLAGS += -D ENABLE_TESTING_SUPPORT
|
|
CFLAGS += -DCOVERAGE
|
|
CFLAGS += -I.
|
|
CFLAGS += -Ibuild-coverage
|
|
CFLAGS += -I${BTSTACK_ROOT}/src
|
|
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/micro-ecc
|
|
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
|
|
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/tinydir
|
|
CFLAGS += -I${BTSTACK_ROOT}/chipset/zephyr
|
|
CFLAGS += -I${BTSTACK_ROOT}/platform/posix
|
|
CFLAGS += -I${BTSTACK_ROOT}/platform/embedded
|
|
|
|
VPATH += ${BTSTACK_ROOT}/src
|
|
VPATH += ${BTSTACK_ROOT}/src/ble
|
|
VPATH += ${BTSTACK_ROOT}/platform/posix
|
|
VPATH += ${BTSTACK_ROOT}/platform/libusb
|
|
VPATH += ${BTSTACK_ROOT}/3rd-party/micro-ecc
|
|
VPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
|
|
VPATH += ${BTSTACK_ROOT}/chipset/zephyr
|
|
|
|
# coverage
|
|
CFLAGS += -fprofile-arcs -ftest-coverage
|
|
LDFLAGS += -fprofile-arcs -ftest-coverage
|
|
|
|
# use pkg-config for libusb
|
|
CFLAGS += $(shell pkg-config libusb-1.0 --cflags)
|
|
LDFLAGS += $(shell pkg-config libusb-1.0 --libs)
|
|
|
|
CORE_OBJ = $(addprefix build-coverage/,$(CORE:.c=.o))
|
|
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
|
|
ATT_OBJ = $(addprefix build-coverage/,$(ATT:.c=.o))
|
|
SM_OBJ = $(addprefix build-coverage/,$(SM:.c=.o))
|
|
GATT_CLIENT_OBJ = $(addprefix build-coverage/,$(GATT_CLIENT:.c=.o))
|
|
GATT_SERVER_OBJ = $(addprefix build-coverage/,$(GATT_SERVER:.c=.o))
|
|
|
|
# compile .gatt descriptions
|
|
build-coverage/%.h: %.gatt
|
|
python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
|
|
|
|
.PHONY: all coverage test
|
|
|
|
all: build-coverage/sm_test
|
|
|
|
build-%:
|
|
mkdir -p $@
|
|
|
|
build-coverage/sm_test.h: sm_test.gatt | build-coverage
|
|
python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
|
|
|
|
build-coverage/%.o: %.c | build-coverage
|
|
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
|
|
|
|
build-coverage/sm_test: build-coverage/sm_test.h ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${GATT_CLIENT_OBJ} ${SM_OBJ} build-coverage/sm_test.o | build-coverage
|
|
${CC} $(filter-out build-coverage/sm_test.h,$^) ${LDFLAGS} -o $@
|
|
|
|
myclean:
|
|
rm -rf build-coverage
|
|
rm -f *.o
|
|
rm -rf *.dSYM
|
|
rm -f *.gcno *.gcda
|
|
rm -rf SM_*
|
|
|
|
clean: myclean
|
|
|
|
test: build-coverage/sm_test
|
|
rm -rf SM_*
|
|
python3 ./sm_test.py
|
|
|
|
coverage: build-coverage/sm_test
|
|
# delete trace data
|
|
rm -f build-coverage/*.gcda
|
|
# run tests
|
|
make test
|
|
# collect traces
|
|
lcov --capture --rc lcov_branch_coverage=1 --directory . --exclude "/Applications/*" --exclude "/Library/*" --exclude "/usr/*" --exclude "*/test/*" --output-file coverage-sm-sc.info
|
|
# demangle
|
|
python3 ../coverage_demangle.py coverage-sm-sc.info
|