summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/mk/rte.sdkgcov.mk
diff options
context:
space:
mode:
Diffstat (limited to 'src/spdk/dpdk/mk/rte.sdkgcov.mk')
-rw-r--r--src/spdk/dpdk/mk/rte.sdkgcov.mk39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/spdk/dpdk/mk/rte.sdkgcov.mk b/src/spdk/dpdk/mk/rte.sdkgcov.mk
new file mode 100644
index 00000000..ab528b18
--- /dev/null
+++ b/src/spdk/dpdk/mk/rte.sdkgcov.mk
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2010-2014 Intel Corporation
+
+ifdef T
+ifeq ("$(origin T)", "command line")
+$(error "Cannot use T= with gcov target")
+endif
+endif
+
+ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
+ $(error "need a make config first")
+else
+ include $(RTE_SDK)/mk/rte.vars.mk
+endif
+ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
+ $(error "need a make config first")
+endif
+
+INPUTDIR = $(RTE_OUTPUT)
+OUTPUTDIR = $(RTE_OUTPUT)/gcov
+
+.PHONY: gcovclean
+gcovclean:
+ $(Q)find $(INPUTDIR)/build -name "*.gcno" -o -name "*.gcda" -exec rm {} \;
+ $(Q)rm -rf $(OUTPUTDIR)
+
+.PHONY: gcov
+gcov:
+ $(Q)for APP in test ; do \
+ mkdir -p $(OUTPUTDIR)/$$APP ; cd $(OUTPUTDIR)/$$APP ; \
+ for FIC in `strings $(RTE_OUTPUT)/app/$$APP | grep gcda | sed s,gcda,o,` ; do \
+ SUBDIR=`basename $$FIC`;\
+ mkdir $$SUBDIR ;\
+ cd $$SUBDIR ;\
+ $(GCOV) $(RTE_OUTPUT)/app/$$APP -o $$FIC > gcov.log; \
+ cd - >/dev/null;\
+ done ; \
+ cd - >/dev/null; \
+ done