xref: /btstack/test/btstack_memory/Makefile (revision e0ff5d41db6818dbffc8fb955269ec946759fcbb)
19b8d06a5SMilanka RingwaldCC = g++
29b8d06a5SMilanka Ringwald
39b8d06a5SMilanka Ringwald# Requirements: cpputest.github.io
49b8d06a5SMilanka Ringwald
59b8d06a5SMilanka RingwaldBTSTACK_ROOT =  ../..
69b8d06a5SMilanka Ringwald
7*e0ff5d41SMatthias Ringwald
8*e0ff5d41SMatthias RingwaldCFLAGS  = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null
9*e0ff5d41SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/src
10cd56fb44SMatthias Ringwald
11cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
1271d52576SMatthias RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
13cd56fb44SMatthias Ringwald
149b8d06a5SMilanka RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
15cd56fb44SMatthias RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
16cd56fb44SMatthias RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
179b8d06a5SMilanka Ringwald
189b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src
199b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/classic
209b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix
219b8d06a5SMilanka Ringwald
229b8d06a5SMilanka RingwaldCOMMON = \
239b8d06a5SMilanka Ringwald	btstack_util.c		    \
249b8d06a5SMilanka Ringwald	hci_dump.c    			\
259b8d06a5SMilanka Ringwald	btstack_memory_pool.c 	\
269b8d06a5SMilanka Ringwald
27cd56fb44SMatthias RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
28cd56fb44SMatthias RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
299b8d06a5SMilanka Ringwald
306d34f98eSMatthias Ringwaldall: build-coverage/btstack_memory_pool_test \
316d34f98eSMatthias Ringwald	 build-coverage-none/btstack_memory_test \
326d34f98eSMatthias Ringwald	 build-coverage-single/btstack_memory_test \
336d34f98eSMatthias Ringwald	 build-coverage-malloc/btstack_memory_test \
346d34f98eSMatthias Ringwald	 build-asan/btstack_memory_pool_test \
356d34f98eSMatthias Ringwald	 build-asan/btstack_memory_test
369b8d06a5SMilanka Ringwald
37cd56fb44SMatthias Ringwaldbuild-%:
38cd56fb44SMatthias Ringwald	mkdir -p $@
393d87570fSMatthias Ringwald
406d34f98eSMatthias Ringwald
41cd56fb44SMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage
426d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
436d34f98eSMatthias Ringwald
446d34f98eSMatthias Ringwaldbuild-coverage-none/%.o: %.c | build-coverage-none
456d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_none $< -o $@
466d34f98eSMatthias Ringwald
476d34f98eSMatthias Ringwaldbuild-coverage-single/%.o: %.c | build-coverage-single
486d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
496d34f98eSMatthias Ringwald
506d34f98eSMatthias Ringwaldbuild-coverage-malloc/%.o: %.c | build-coverage-malloc
516d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_malloc $< -o $@
529b8d06a5SMilanka Ringwald
53cd56fb44SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan
546d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_ASAN) $< -I config_single -o $@
55cd56fb44SMatthias Ringwald
56cd56fb44SMatthias Ringwald
576d34f98eSMatthias Ringwaldbuild-coverage/btstack_memory_pool_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_memory.o build-coverage/btstack_memory_pool_test.o | build-coverage
58cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
59cd56fb44SMatthias Ringwald
606d34f98eSMatthias Ringwaldbuild-coverage-none/btstack_memory_test: ${COMMON_OBJ_COVERAGE} build-coverage-none/btstack_memory.o build-coverage-none/btstack_memory_test.o | build-coverage-none
61cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
62cd56fb44SMatthias Ringwald
636d34f98eSMatthias Ringwaldbuild-coverage-single/btstack_memory_test: ${COMMON_OBJ_COVERAGE} build-coverage-single/btstack_memory.o build-coverage-single/btstack_memory_test.o | build-coverage-single
646d34f98eSMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
656d34f98eSMatthias Ringwald
666d34f98eSMatthias Ringwaldbuild-coverage-malloc/btstack_memory_test: ${COMMON_OBJ_COVERAGE} build-coverage-malloc/btstack_memory.o build-coverage-malloc/btstack_memory_test.o | build-coverage-malloc
676d34f98eSMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
686d34f98eSMatthias Ringwald
696d34f98eSMatthias Ringwaldbuild-asan/btstack_memory_pool_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory.o build-asan/btstack_memory_pool_test.o | build-asan
70cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_ASAN} -o $@
71cd56fb44SMatthias Ringwald
726d34f98eSMatthias Ringwaldbuild-asan/btstack_memory_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory.o build-asan/btstack_memory_test.o | build-asan
73cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_ASAN} -o $@
749b8d06a5SMilanka Ringwald
756d34f98eSMatthias Ringwald
769b8d06a5SMilanka Ringwaldtest: all
77cd56fb44SMatthias Ringwald	build-asan/btstack_memory_pool_test
78cd56fb44SMatthias Ringwald	build-asan/btstack_memory_test
793d87570fSMatthias Ringwald
803d87570fSMatthias Ringwaldcoverage: all
81cd56fb44SMatthias Ringwald	rm -f build-coverage/*.gcda
823d87570fSMatthias Ringwald	build-coverage/btstack_memory_pool_test
836d34f98eSMatthias Ringwald	build-coverage-none/btstack_memory_test
846d34f98eSMatthias Ringwald	build-coverage-single/btstack_memory_test
856d34f98eSMatthias Ringwald	build-coverage-malloc/btstack_memory_test
869b8d06a5SMilanka Ringwald
879b8d06a5SMilanka Ringwaldclean:
886d34f98eSMatthias Ringwald	rm -rf build-*
89