xref: /btstack/test/btstack_memory/Makefile (revision 1d3bd1e51ca491d6783233c8d7431c44f06daa5a)
19b8d06a5SMilanka Ringwald# Requirements: cpputest.github.io
29b8d06a5SMilanka Ringwald
39b8d06a5SMilanka RingwaldBTSTACK_ROOT =  ../..
49b8d06a5SMilanka Ringwald
5e0ff5d41SMatthias Ringwald
6*1d3bd1e5SMatthias RingwaldCFLAGS  = -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null
7e0ff5d41SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/src
8cd56fb44SMatthias Ringwald
9cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
1071d52576SMatthias RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
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
286d34f98eSMatthias Ringwaldall: build-coverage/btstack_memory_pool_test \
296d34f98eSMatthias Ringwald	 build-coverage-none/btstack_memory_test \
306d34f98eSMatthias Ringwald	 build-coverage-single/btstack_memory_test \
316d34f98eSMatthias Ringwald	 build-coverage-malloc/btstack_memory_test \
326d34f98eSMatthias Ringwald	 build-asan/btstack_memory_pool_test \
336d34f98eSMatthias Ringwald	 build-asan/btstack_memory_test
349b8d06a5SMilanka Ringwald
35cd56fb44SMatthias Ringwaldbuild-%:
36cd56fb44SMatthias Ringwald	mkdir -p $@
373d87570fSMatthias Ringwald
386d34f98eSMatthias Ringwald
39cd56fb44SMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage
406d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
416d34f98eSMatthias Ringwald
42*1d3bd1e5SMatthias Ringwaldbuild-coverage/%.o: %.cpp | build-coverage
43*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
44*1d3bd1e5SMatthias Ringwald
456d34f98eSMatthias Ringwaldbuild-coverage-none/%.o: %.c | build-coverage-none
466d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_none $< -o $@
476d34f98eSMatthias Ringwald
48*1d3bd1e5SMatthias Ringwaldbuild-coverage-none/%.o: %.cpp | build-coverage-none
49*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) -I config_none $< -o $@
50*1d3bd1e5SMatthias Ringwald
516d34f98eSMatthias Ringwaldbuild-coverage-single/%.o: %.c | build-coverage-single
526d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
536d34f98eSMatthias Ringwald
54*1d3bd1e5SMatthias Ringwaldbuild-coverage-single/%.o: %.cpp | build-coverage-single
55*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
56*1d3bd1e5SMatthias Ringwald
576d34f98eSMatthias Ringwaldbuild-coverage-malloc/%.o: %.c | build-coverage-malloc
586d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_malloc $< -o $@
599b8d06a5SMilanka Ringwald
60*1d3bd1e5SMatthias Ringwaldbuild-coverage-malloc/%.o: %.cpp | build-coverage-malloc
61*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) -I config_malloc $< -o $@
62*1d3bd1e5SMatthias Ringwald
63cd56fb44SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan
646d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_ASAN) $< -I config_single -o $@
65cd56fb44SMatthias Ringwald
66*1d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.cpp | build-asan
67*1d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_ASAN) $< -I config_single -o $@
68cd56fb44SMatthias Ringwald
696d34f98eSMatthias Ringwaldbuild-coverage/btstack_memory_pool_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_memory.o build-coverage/btstack_memory_pool_test.o | build-coverage
70*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
71cd56fb44SMatthias Ringwald
726d34f98eSMatthias 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
73*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
74cd56fb44SMatthias Ringwald
756d34f98eSMatthias 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
76*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
776d34f98eSMatthias Ringwald
786d34f98eSMatthias 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
79*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
806d34f98eSMatthias Ringwald
816d34f98eSMatthias Ringwaldbuild-asan/btstack_memory_pool_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory.o build-asan/btstack_memory_pool_test.o | build-asan
82*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
83cd56fb44SMatthias Ringwald
846d34f98eSMatthias Ringwaldbuild-asan/btstack_memory_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory.o build-asan/btstack_memory_test.o | build-asan
85*1d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
869b8d06a5SMilanka Ringwald
876d34f98eSMatthias Ringwald
889b8d06a5SMilanka Ringwaldtest: all
89cd56fb44SMatthias Ringwald	build-asan/btstack_memory_pool_test
90cd56fb44SMatthias Ringwald	build-asan/btstack_memory_test
913d87570fSMatthias Ringwald
923d87570fSMatthias Ringwaldcoverage: all
93cd56fb44SMatthias Ringwald	rm -f build-coverage/*.gcda
943d87570fSMatthias Ringwald	build-coverage/btstack_memory_pool_test
956d34f98eSMatthias Ringwald	build-coverage-none/btstack_memory_test
966d34f98eSMatthias Ringwald	build-coverage-single/btstack_memory_test
976d34f98eSMatthias Ringwald	build-coverage-malloc/btstack_memory_test
989b8d06a5SMilanka Ringwald
999b8d06a5SMilanka Ringwaldclean:
1006d34f98eSMatthias Ringwald	rm -rf build-*
101