1C_HEADERS ?= ~/Projects/c_headers/include/ 2BTSTACK_ROOT ?= ../.. 3 4VPATH=${BTSTACK_ROOT}/src 5 6INCLUDES= \ 7 -I ${BTSTACK_ROOT}/src \ 8 -I ${BTSTACK_ROOT}/3rd-party/micro-ecc \ 9 -I ${BTSTACK_ROOT}/3rd-party/rijndael \ 10 -I ${BTSTACK_ROOT}/platform/embedded \ 11 -I ${BTSTACK_ROOT}/platform/freertos \ 12 -I . 13 14SRCS = \ 15 ${BTSTACK_ROOT}/3rd-party/micro-ecc/uECC.c \ 16 ${BTSTACK_ROOT}/3rd-party/rijndael/rijndael.c \ 17 ${BTSTACK_ROOT}/src/ad_parser.c \ 18 ${BTSTACK_ROOT}/src/ble/att_db.c \ 19 ${BTSTACK_ROOT}/src/ble/att_db_util.c \ 20 ${BTSTACK_ROOT}/src/ble/att_dispatch.c \ 21 ${BTSTACK_ROOT}/src/ble/att_server.c \ 22 ${BTSTACK_ROOT}/src/ble/gatt_client.c \ 23 ${BTSTACK_ROOT}/src/ble/gatt-service/ancs_client.c \ 24 ${BTSTACK_ROOT}/src/ble/gatt-service/battery_service_server.c \ 25 ${BTSTACK_ROOT}/src/ble/gatt-service/battery_service_client.c \ 26 ${BTSTACK_ROOT}/src/ble/gatt-service/device_information_service_server.c \ 27 ${BTSTACK_ROOT}/src/ble/gatt-service/device_information_service_client.c \ 28 ${BTSTACK_ROOT}/src/ble/le_device_db_tlv.c \ 29 ${BTSTACK_ROOT}/src/ble/sm.c \ 30 ${BTSTACK_ROOT}/src/btstack_crypto.c \ 31 ${BTSTACK_ROOT}/src/btstack_linked_list.c \ 32 ${BTSTACK_ROOT}/src/btstack_memory.c \ 33 ${BTSTACK_ROOT}/src/btstack_memory_pool.c \ 34 ${BTSTACK_ROOT}/src/btstack_run_loop.c \ 35 ${BTSTACK_ROOT}/src/btstack_run_loop_base.c \ 36 ${BTSTACK_ROOT}/src/btstack_tlv.c \ 37 ${BTSTACK_ROOT}/src/btstack_util.c \ 38 ${BTSTACK_ROOT}/src/hci.c \ 39 ${BTSTACK_ROOT}/src/hci_cmd.c \ 40 ${BTSTACK_ROOT}/src/hci_dump.c \ 41 ${BTSTACK_ROOT}/src/hci_transport_h4.c \ 42 ${BTSTACK_ROOT}/src/l2cap.c \ 43 ${BTSTACK_ROOT}/src/l2cap_signaling.c \ 44 ${BTSTACK_ROOT}/platform/embedded/btstack_stdin_embedded.c \ 45 ${BTSTACK_ROOT}/platform/embedded/btstack_run_loop_embedded.c \ 46 ${BTSTACK_ROOT}/platform/embedded/btstack_uart_block_embedded.c \ 47 48all: metrics.md metrics.html metrics.txt 49 50metrics.tsv: ${SRCS} 51 ccsm --disable-file --disable-global --exclude-std-headers --exclude-file=.h$$ --output-format=tsv --output-metrics=HIS_.* $^ -- -DuECC_NO_DEFAULT_RNG -isystem ${C_HEADERS}/c90 -isystem ${C_HEADERS}/c99 ${INCLUDES} > metrics_raw.tsv 52 echo "# file\tfunction\tGOTO\tRETURN\t_\tSTMT \t_\tCCN\tPATH\tCALLS\tPARAM\tLEVEL\t_\t_\t_" > metrics_header.tsv 53 cat metrics_header.tsv metrics_raw.tsv > $@ 54 rm metrics_header.tsv metrics_raw.tsv 55 56metrics.md: metrics.tsv metrics_ccsm.py 57 ./metrics_ccsm.py > metrics.md 58 59metrics.html: metrics.md 60 pandoc --from markdown --to html -o metrics.html metrics.md 61 62metrics.txt: metrics.tsv 63 expand -t 70,160,170,180,190,210,220,230,240,250,260,270,280,290,300 metrics.tsv > metrics.txt 64 65clean: 66 rm -f metrics.tsv metrics.md metrics.txt metrics.html metrics_header.tsv metrics_raw.tsv 67