xref: /btstack/test/btstack_memory/Makefile (revision 98e87e7776ef9a7fe55135aea8cddc761fe3a7a5)
19b8d06a5SMilanka Ringwald# Requirements: cpputest.github.io
29b8d06a5SMilanka Ringwald
39b8d06a5SMilanka RingwaldBTSTACK_ROOT =  ../..
49b8d06a5SMilanka Ringwald
5*98e87e77SMatthias Ringwald# CppuTest from pkg-config
6*98e87e77SMatthias RingwaldCFLAGS  += ${shell pkg-config --cflags CppuTest}
7*98e87e77SMatthias RingwaldLDFLAGS += ${shell pkg-config --libs   CppuTest}
8e0ff5d41SMatthias Ringwald
9*98e87e77SMatthias RingwaldCFLAGS += -DUNIT_TEST -g -Wall -Wnarrowing -Wconversion-null
10e0ff5d41SMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/src
11cd56fb44SMatthias Ringwald
12cd56fb44SMatthias RingwaldCFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
1371d52576SMatthias RingwaldCFLAGS_ASAN     = ${CFLAGS} -fsanitize=address -DHAVE_ASSERT
14cd56fb44SMatthias Ringwald
159b8d06a5SMilanka RingwaldLDFLAGS += -lCppUTest -lCppUTestExt
16cd56fb44SMatthias RingwaldLDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
17cd56fb44SMatthias RingwaldLDFLAGS_ASAN     = ${LDFLAGS} -fsanitize=address
189b8d06a5SMilanka Ringwald
199b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src
209b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/src/classic
219b8d06a5SMilanka RingwaldVPATH += ${BTSTACK_ROOT}/platform/posix
229b8d06a5SMilanka Ringwald
239b8d06a5SMilanka RingwaldCOMMON = \
249b8d06a5SMilanka Ringwald	btstack_util.c		    \
259b8d06a5SMilanka Ringwald	hci_dump.c    			\
269b8d06a5SMilanka Ringwald	btstack_memory_pool.c 	\
279b8d06a5SMilanka Ringwald
28cd56fb44SMatthias RingwaldCOMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
29cd56fb44SMatthias RingwaldCOMMON_OBJ_ASAN     = $(addprefix build-asan/,    $(COMMON:.c=.o))
309b8d06a5SMilanka Ringwald
316d34f98eSMatthias Ringwaldall: build-coverage/btstack_memory_pool_test \
326d34f98eSMatthias Ringwald	 build-coverage-none/btstack_memory_test \
336d34f98eSMatthias Ringwald	 build-coverage-single/btstack_memory_test \
346d34f98eSMatthias Ringwald	 build-coverage-malloc/btstack_memory_test \
356d34f98eSMatthias Ringwald	 build-asan/btstack_memory_pool_test \
366d34f98eSMatthias Ringwald	 build-asan/btstack_memory_test
379b8d06a5SMilanka Ringwald
38cd56fb44SMatthias Ringwaldbuild-%:
39cd56fb44SMatthias Ringwald	mkdir -p $@
403d87570fSMatthias Ringwald
416d34f98eSMatthias Ringwald
42cd56fb44SMatthias Ringwaldbuild-coverage/%.o: %.c | build-coverage
436d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
446d34f98eSMatthias Ringwald
451d3bd1e5SMatthias Ringwaldbuild-coverage/%.o: %.cpp | build-coverage
461d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
471d3bd1e5SMatthias Ringwald
486d34f98eSMatthias Ringwaldbuild-coverage-none/%.o: %.c | build-coverage-none
496d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_none $< -o $@
506d34f98eSMatthias Ringwald
511d3bd1e5SMatthias Ringwaldbuild-coverage-none/%.o: %.cpp | build-coverage-none
521d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) -I config_none $< -o $@
531d3bd1e5SMatthias Ringwald
546d34f98eSMatthias Ringwaldbuild-coverage-single/%.o: %.c | build-coverage-single
556d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
566d34f98eSMatthias Ringwald
571d3bd1e5SMatthias Ringwaldbuild-coverage-single/%.o: %.cpp | build-coverage-single
581d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) -I config_single $< -o $@
591d3bd1e5SMatthias Ringwald
606d34f98eSMatthias Ringwaldbuild-coverage-malloc/%.o: %.c | build-coverage-malloc
616d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_COVERAGE) -I config_malloc $< -o $@
629b8d06a5SMilanka Ringwald
631d3bd1e5SMatthias Ringwaldbuild-coverage-malloc/%.o: %.cpp | build-coverage-malloc
641d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_COVERAGE) -I config_malloc $< -o $@
651d3bd1e5SMatthias Ringwald
66cd56fb44SMatthias Ringwaldbuild-asan/%.o: %.c | build-asan
676d34f98eSMatthias Ringwald	${CC} -c $(CFLAGS_ASAN) $< -I config_single -o $@
68cd56fb44SMatthias Ringwald
691d3bd1e5SMatthias Ringwaldbuild-asan/%.o: %.cpp | build-asan
701d3bd1e5SMatthias Ringwald	${CXX} -c $(CFLAGS_ASAN) $< -I config_single -o $@
71cd56fb44SMatthias Ringwald
726d34f98eSMatthias Ringwaldbuild-coverage/btstack_memory_pool_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_memory.o build-coverage/btstack_memory_pool_test.o | build-coverage
731d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
74cd56fb44SMatthias Ringwald
756d34f98eSMatthias 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
761d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
77cd56fb44SMatthias Ringwald
786d34f98eSMatthias 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
791d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
806d34f98eSMatthias Ringwald
816d34f98eSMatthias 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
821d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_COVERAGE} -o $@
836d34f98eSMatthias Ringwald
846d34f98eSMatthias Ringwaldbuild-asan/btstack_memory_pool_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory.o build-asan/btstack_memory_pool_test.o | build-asan
851d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
86cd56fb44SMatthias Ringwald
876d34f98eSMatthias Ringwaldbuild-asan/btstack_memory_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory.o build-asan/btstack_memory_test.o | build-asan
881d3bd1e5SMatthias Ringwald	${CXX} $^ ${LDFLAGS_ASAN} -o $@
899b8d06a5SMilanka Ringwald
906d34f98eSMatthias Ringwald
919b8d06a5SMilanka Ringwaldtest: all
92cd56fb44SMatthias Ringwald	build-asan/btstack_memory_pool_test
93cd56fb44SMatthias Ringwald	build-asan/btstack_memory_test
943d87570fSMatthias Ringwald
953d87570fSMatthias Ringwaldcoverage: all
96cd56fb44SMatthias Ringwald	rm -f build-coverage/*.gcda
973d87570fSMatthias Ringwald	build-coverage/btstack_memory_pool_test
986d34f98eSMatthias Ringwald	build-coverage-none/btstack_memory_test
996d34f98eSMatthias Ringwald	build-coverage-single/btstack_memory_test
1006d34f98eSMatthias Ringwald	build-coverage-malloc/btstack_memory_test
1019b8d06a5SMilanka Ringwald
1029b8d06a5SMilanka Ringwaldclean:
1036d34f98eSMatthias Ringwald	rm -rf build-*
104