1bdcc259dSMatthias Ringwald# Requirements: cpputest.github.io 2bdcc259dSMatthias Ringwald 3bdcc259dSMatthias RingwaldBTSTACK_ROOT = ../.. 4bdcc259dSMatthias Ringwald 5bdcc259dSMatthias RingwaldCFLAGS = -DUNIT_TEST -g 6*1d3bd1e5SMatthias RingwaldCPPFLAGS = -Wall -Wno-unused -fno-exceptions 7f400efd4SMatthias RingwaldCFLAGS += -I. -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/platform/posix 8bdcc259dSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/mbedtls/include 9bdcc259dSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/micro-ecc 10f13fc290SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael 11cd56fb44SMatthias Ringwald 12cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage 1371d52576SMatthias RingwaldCFLAGS_ASAN = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT 14cd56fb44SMatthias Ringwald 15bdcc259dSMatthias RingwaldLDFLAGS += -lCppUTest -lCppUTestExt 16cd56fb44SMatthias RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage 17cd56fb44SMatthias RingwaldLDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address 18bdcc259dSMatthias Ringwald 19bdcc259dSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src 20bdcc259dSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/ble 21bdcc259dSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix 22bdcc259dSMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/micro-ecc 23f13fc290SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/rijndael 24bdcc259dSMatthias Ringwald 257a65bea8SMatthias Ringwaldall: build-coverage/aes_ccm_test build-coverage/aestest build-coverage/ecc_micro_ecc build-coverage/aes_cmac_test build-coverage/aes_cmac_test2 \ 267a65bea8SMatthias Ringwald build-asan/aes_ccm_test build-asan/aestest build-asan/ecc_micro_ecc build-asan/aes_cmac_test build-asan/aes_cmac_test2 27bdcc259dSMatthias Ringwald 28cd56fb44SMatthias Ringwaldbuild-%: 29cd56fb44SMatthias Ringwald mkdir -p $@ 30bdcc259dSMatthias Ringwald 31cd56fb44SMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage 327a65bea8SMatthias Ringwald ${CC} -c ${CFLAGS_COVERAGE} $< -o $@ 337a65bea8SMatthias Ringwald 34*1d3bd1e5SMatthias Ringwaldbuild-coverage/%.o: %.cpp | build-coverage 35*1d3bd1e5SMatthias Ringwald ${CXX} -c ${CFLAGS_COVERAGE} $< -o $@ 36*1d3bd1e5SMatthias Ringwald 37*1d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan 387a65bea8SMatthias Ringwald ${CC} -c ${CFLAGS_ASAN} $< -o $@ 393d87570fSMatthias Ringwald 40*1d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.cpp | build-asan 41*1d3bd1e5SMatthias Ringwald ${CXX} -c ${CFLAGS_ASAN} $< -o $@ 42*1d3bd1e5SMatthias Ringwald 43bdcc259dSMatthias Ringwald 44cd56fb44SMatthias Ringwaldbuild-coverage/aes_ccm_test: build-coverage/aes_ccm.o build-coverage/aes_ccm_test.o build-coverage/btstack_crypto.o build-coverage/btstack_linked_list.o build-coverage/hci_cmd.o build-coverage/btstack_util.o build-coverage/hci_dump.o build-coverage/aes_cmac.o build-coverage/rijndael.o build-coverage/mock.o | build-coverage 45*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 46bdcc259dSMatthias Ringwald 47cd56fb44SMatthias Ringwaldbuild-coverage/aestest: build-coverage/aestest.o build-coverage/rijndael.o | build-coverage 48*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 49bdcc259dSMatthias Ringwald 50cd56fb44SMatthias Ringwaldbuild-coverage/ecc_micro_ecc: build-coverage/ecc_micro_ecc.o build-coverage/uECC.o | build-coverage 51*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 52cd56fb44SMatthias Ringwald 53cd56fb44SMatthias Ringwaldbuild-coverage/aes_cmac_test: build-coverage/aes_cmac_test.o build-coverage/aes_cmac.o build-coverage/rijndael.o | build-coverage 54*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 557a65bea8SMatthias Ringwald 56e0ff5d41SMatthias Ringwaldbuild-coverage/aes_cmac_test2: build-coverage/aes_cmac_test2.o build-coverage/btstack_crypto.o build-coverage/btstack_linked_list.o build-coverage/hci_cmd.o build-coverage/btstack_util.o build-coverage/hci_dump.o build-coverage/rijndael.o | build-asan 57*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ 58cd56fb44SMatthias Ringwald 59cd56fb44SMatthias Ringwald 60cd56fb44SMatthias Ringwaldbuild-asan/aes_ccm_test: build-asan/aes_ccm.o build-asan/aes_ccm_test.o build-asan/btstack_crypto.o build-asan/btstack_linked_list.o build-asan/hci_cmd.o build-asan/btstack_util.o build-asan/hci_dump.o build-asan/aes_cmac.o build-asan/rijndael.o build-asan/mock.o | build-asan 61*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 62cd56fb44SMatthias Ringwald 63cd56fb44SMatthias Ringwaldbuild-asan/aestest: build-asan/aestest.o build-asan/rijndael.o | build-asan 64*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 65cd56fb44SMatthias Ringwald 66cd56fb44SMatthias Ringwaldbuild-asan/ecc_micro_ecc: build-asan/ecc_micro_ecc.o build-asan/uECC.o | build-asan 67*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 68cd56fb44SMatthias Ringwald 69cd56fb44SMatthias Ringwaldbuild-asan/aes_cmac_test: build-asan/aes_cmac_test.o build-asan/aes_cmac.o build-asan/rijndael.o | build-asan 70*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 71cd56fb44SMatthias Ringwald 72e0ff5d41SMatthias Ringwaldbuild-asan/aes_cmac_test2: build-asan/aes_cmac_test2.o build-asan/btstack_crypto.o build-asan/btstack_linked_list.o build-asan/hci_cmd.o build-asan/btstack_util.o build-asan/hci_dump.o build-asan/rijndael.o | build-asan 73*1d3bd1e5SMatthias Ringwald ${CXX} $^ ${LDFLAGS_ASAN} -o $@ 74bdcc259dSMatthias Ringwald 75bdcc259dSMatthias Ringwaldtest: all 76cd56fb44SMatthias Ringwald build-asan/aes_cmac_test 777a65bea8SMatthias Ringwald build-asan/aes_cmac_test2 78cf5f2658SMatthias Ringwald build-asan/aes_ccm_test 79cd56fb44SMatthias Ringwald build-asan/aestest 80cd56fb44SMatthias Ringwald build-asan/ecc_micro_ecc 813d87570fSMatthias Ringwald 823d87570fSMatthias Ringwaldcoverage: all 83cd56fb44SMatthias Ringwald rm -f build-coverage/*.gcda 843d87570fSMatthias Ringwald build-coverage/aes_cmac_test 857a65bea8SMatthias Ringwald build-coverage/aes_cmac_test2 86cf5f2658SMatthias Ringwald build-coverage/aes_ccm_test 873d87570fSMatthias Ringwald build-coverage/aestest 883d87570fSMatthias Ringwald build-coverage/ecc_micro_ecc 89bdcc259dSMatthias Ringwald 90bdcc259dSMatthias Ringwaldclean: 91cd56fb44SMatthias Ringwald rm -rf build-coverage build-asan 92bdcc259dSMatthias Ringwald 93