All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Stabellini <sstabellini@kernel.org>
To: julien.grall@arm.com
Cc: sstabellini@kernel.org, andrii_anisov@epam.com,
	andrew.cooper3@citrix.com, George.Dunlap@citrix.com,
	dfaggioli@suse.com, jbeulich@suse.com, xen-devel@lists.xen.org
Subject: [PATCH v7 10/12] xen: add cloc target
Date: Fri,  6 Jul 2018 16:14:01 -0700	[thread overview]
Message-ID: <1530918843-14318-10-git-send-email-sstabellini@kernel.org> (raw)
In-Reply-To: <alpine.DEB.2.10.1807061537300.13502@sstabellini-ThinkPad-X260>

Add a Xen build target to count the lines of code of the source files
built. Uses `cloc' to do the job.

With Xen on ARM taking off in embedded, IoT, and automotive, we are
seeing more and more uses of Xen in constrained environments. Users and
system integrators want the smallest Xen and Dom0 configurations. Some
of these deployments require certifications, where you definitely want
the smallest lines of code count. I provided this patch to give us the
lines of code count for that purpose.

Use the .o.d files to account for all the built source files. Generate a
list for the `cloc' utility and invoke `cloc'.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
CC: jbeulich@suse.com
CC: andrew.cooper3@citrix.com
---
Changes in v4:
- use grep regex to get multiple source files from .d files

Changes in v3:
- remove build as dependecy for the cloc target

Changes in v2:
- change implementation to use .o.d to find built source files
---
 xen/Makefile | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/xen/Makefile b/xen/Makefile
index 62d479c..338d5a3 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -267,3 +267,15 @@ $(KCONFIG_CONFIG):
 include/config/auto.conf.cmd: ;
 
 -include $(BASEDIR)/include/config/auto.conf.cmd
+
+.PHONY: cloc
+cloc:
+	$(eval tmpfile := $(shell mktemp))
+	$(foreach f, $(shell find $(BASEDIR) -name *.o.d), \
+		$(eval path := $(dir $(f))) \
+		$(eval names := $(shell grep -o "[a-zA-Z0-9_/-]*\.[cS]" $(f))) \
+		$(foreach sf, $(names), \
+			$(shell if test -f $(path)/$(sf) ; then echo $(path)/$(sf) >> $(tmpfile); fi;)))
+	cloc --list-file=$(tmpfile)
+	rm $(tmpfile)
+
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  parent reply	other threads:[~2018-07-06 23:14 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-06 23:12 [PATCH v7 00/12] arm: more kconfig configurability and small default configs Stefano Stabellini
2018-07-06 23:13 ` [PATCH v7 01/12] arm: remove the ARM HDLCD driver Stefano Stabellini
2018-07-06 23:13 ` [PATCH v7 02/12] arm: make it possible to disable HAS_GICV3 Stefano Stabellini
2018-07-06 23:13 ` [PATCH v7 03/12] arm: rename HAS_GICV3 to GICV3 Stefano Stabellini
2018-07-06 23:13 ` [PATCH v7 04/12] Make MEM_ACCESS configurable Stefano Stabellini
2018-07-06 23:13 ` [PATCH v7 05/12] make it possible to enable/disable UART drivers Stefano Stabellini
2018-07-06 23:13 ` [PATCH v7 06/12] arm: make it possible to disable the SMMU driver Stefano Stabellini
2018-07-06 23:13 ` [PATCH v7 07/12] arm: add a tiny kconfig configuration Stefano Stabellini
2018-07-23 11:17   ` Julien Grall
2018-07-06 23:13 ` [PATCH v7 08/12] arm: add ALL, QEMU, Rcar3 and MPSoC configs Stefano Stabellini
2018-07-23 11:24   ` Julien Grall
2018-07-24 22:08     ` Stefano Stabellini
2018-07-24 13:27   ` Andrii Anisov
2018-07-26 22:46     ` Stefano Stabellini
2018-07-27 10:30       ` Andrii Anisov
2018-07-27 11:20         ` Julien Grall
2018-07-27 11:21         ` Andrii Anisov
2018-07-27 11:27           ` Julien Grall
2018-07-27 11:34             ` Andrii Anisov
2018-07-27 11:39               ` Julien Grall
2018-07-27 17:11         ` Stefano Stabellini
2018-07-27 18:23           ` Andrii Anisov
2018-07-27 21:35             ` Stefano Stabellini
2018-07-27 22:09               ` Julien Grall
2018-07-27 23:30                 ` Stefano Stabellini
2018-07-30 10:34                   ` Julien Grall
2018-07-30 17:39                     ` Stefano Stabellini
2018-07-30 16:11               ` Andrii Anisov
2018-07-06 23:14 ` [PATCH v7 09/12] xen: add per-platform defaults for NR_CPUS Stefano Stabellini
2018-07-23 11:26   ` Julien Grall
2018-07-06 23:14 ` Stefano Stabellini [this message]
2018-07-06 23:14 ` [PATCH v7 11/12] xen: specify support for EXPERT and DEBUG Kconfig options Stefano Stabellini
2018-07-16 12:50   ` Jan Beulich
2018-07-06 23:14 ` [PATCH v7 12/12] xen: clarify the security-support status of Kconfig options on ARM Stefano Stabellini
2018-07-23 11:37   ` Julien Grall
2018-07-24 22:31     ` Stefano Stabellini
2018-07-25  8:46       ` Julien Grall
2018-07-25  8:59         ` Andrew Cooper
2018-07-25  9:50           ` Julien Grall
2018-07-25 11:09             ` George Dunlap
2018-07-26  0:40               ` Stefano Stabellini
2018-07-25  9:11         ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1530918843-14318-10-git-send-email-sstabellini@kernel.org \
    --to=sstabellini@kernel.org \
    --cc=George.Dunlap@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=andrii_anisov@epam.com \
    --cc=dfaggioli@suse.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.