summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/mk/rte.sdkgcov.mk
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/spdk/dpdk/mk/rte.sdkgcov.mk
parentInitial commit. (diff)
downloadceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz
ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
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 000000000..ab528b18b
--- /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