xref: /btstack/test/btstack_memory/Makefile (revision 6d34f98e0c6a035be904a5ac00e86a7b4f285631)
19b8d06a5SMilanka RingwaldCC = g++
29b8d06a5SMilanka Ringwald
39b8d06a5SMilanka Ringwald# Requirements: cpputest.github.io
49b8d06a5SMilanka Ringwald
59b8d06a5SMilanka RingwaldBTSTACK_ROOT =  ../..
69b8d06a5SMilanka Ringwald
7*6d34f98eSMatthias RingwaldCFLAGS  = -g -Wall -I${BTSTACK_ROOT}/src
8cd56fb44SMatthias Ringwald
9cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
10cd56fb44SMatthias RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address
11cd56fb44SMatthias Ringwald
129b8d06a5SMilanka RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
13cd56fb44SMatthias RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
14cd56fb44SMatthias RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
159b8d06a5SMilanka Ringwald
169b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src
179b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/classic
189b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix
199b8d06a5SMilanka Ringwald
209b8d06a5SMilanka RingwaldCOMMON = \
219b8d06a5SMilanka Ringwald	btstack_util.c		    \
229b8d06a5SMilanka Ringwald	hci_dump.c    			\
239b8d06a5SMilanka Ringwald	btstack_memory_pool.c 	\
249b8d06a5SMilanka Ringwald
25cd56fb44SMatthias RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
26cd56fb44SMatthias RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
279b8d06a5SMilanka Ringwald
28*6d34f98eSMatthias Ringwaldall: build-coverage/btstack_memory_pool_test \
29*6d34f98eSMatthias Ringwald	 build-coverage-none/btstack_memory_test \
30*6d34f98eSMatthias Ringwald	 build-coverage-single/btstack_memory_test \
31*6d34f98eSMatthias Ringwald	 build-coverage-malloc/btstack_memory_test \
32*6d34f98eSMatthias Ringwald	 build-asan/btstack_memory_pool_test \
33*6d34f98eSMatthias Ringwald	 build-asan/btstack_memory_test
349b8d06a5SMilanka Ringwald
35cd56fb44SMatthias Ringwaldbuild-%:
36cd56fb44SMatthias Ringwald	mkdir -p $@
373d87570fSMatthias Ringwald
38*6d34f98eSMatthias Ringwald
39cd56fb44SMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage
40*6d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
41*6d34f98eSMatthias Ringwald
42*6d34f98eSMatthias Ringwaldbuild-coverage-none/%.o: %.c | build-coverage-none
43*6d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_none $< -o $@
44*6d34f98eSMatthias Ringwald
45*6d34f98eSMatthias Ringwaldbuild-coverage-single/%.o: %.c | build-coverage-single
46*6d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
47*6d34f98eSMatthias Ringwald
48*6d34f98eSMatthias Ringwaldbuild-coverage-malloc/%.o: %.c | build-coverage-malloc
49*6d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_malloc $< -o $@
509b8d06a5SMilanka Ringwald
51cd56fb44SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan
52*6d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_ASAN) $< -I config_single -o $@
53cd56fb44SMatthias Ringwald
54cd56fb44SMatthias Ringwald
55*6d34f98eSMatthias Ringwaldbuild-coverage/btstack_memory_pool_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_memory.o build-coverage/btstack_memory_pool_test.o | build-coverage
56cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
57cd56fb44SMatthias Ringwald
58*6d34f98eSMatthias 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
59cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
60cd56fb44SMatthias Ringwald
61*6d34f98eSMatthias 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
62*6d34f98eSMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
63*6d34f98eSMatthias Ringwald
64*6d34f98eSMatthias 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
65*6d34f98eSMatthias Ringwald	${CC} $^ ${LDFLAGS_COVERAGE} -o $@
66*6d34f98eSMatthias Ringwald
67*6d34f98eSMatthias Ringwaldbuild-asan/btstack_memory_pool_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory.o build-asan/btstack_memory_pool_test.o | build-asan
68cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_ASAN} -o $@
69cd56fb44SMatthias Ringwald
70*6d34f98eSMatthias Ringwaldbuild-asan/btstack_memory_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory.o build-asan/btstack_memory_test.o | build-asan
71cd56fb44SMatthias Ringwald	${CC} $^ ${LDFLAGS_ASAN} -o $@
729b8d06a5SMilanka Ringwald
73*6d34f98eSMatthias Ringwald
749b8d06a5SMilanka Ringwaldtest: all
75cd56fb44SMatthias Ringwald	build-asan/btstack_memory_pool_test
76cd56fb44SMatthias Ringwald	build-asan/btstack_memory_test
773d87570fSMatthias Ringwald
783d87570fSMatthias Ringwaldcoverage: all
79cd56fb44SMatthias Ringwald	rm -f build-coverage/*.gcda
803d87570fSMatthias Ringwald	build-coverage/btstack_memory_pool_test
81*6d34f98eSMatthias Ringwald	build-coverage-none/btstack_memory_test
82*6d34f98eSMatthias Ringwald	build-coverage-single/btstack_memory_test
83*6d34f98eSMatthias Ringwald	build-coverage-malloc/btstack_memory_test
849b8d06a5SMilanka Ringwald
859b8d06a5SMilanka Ringwaldclean:
86*6d34f98eSMatthias Ringwald	rm -rf build-*
87