[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] build: rework cloc recipe



commit 83a0353f49373c58fb92fc74626d7ab13c0399a3
Author:     Anthony PERARD <anthony.perard@xxxxxxxxxx>
AuthorDate: Fri Feb 18 08:58:52 2022 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri Feb 18 08:58:52 2022 +0100

    build: rework cloc recipe
    
    We are going to make other modifications to the cloc recipe, so this
    patch prepare make those modification easier.
    
    We replace the Makefile meta programming by just a shell script which
    should be easier to read and is actually faster to execute.
    
    Instead of looking for files in "$(BASEDIR)", we use "." which is give
    the same result overall. We also avoid the need for a temporary file
    as cloc can read the list of files from stdin.
    
    No change intended to the output of `cloc`.
    
    Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
    Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
---
 xen/Makefile | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 0dc44ddd27..6e4ea200aa 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -473,14 +473,12 @@ _MAP:
 
 .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)
+       find . -name '*.o.d' | while read f; do \
+           for sf in $$(grep -o "[a-zA-Z0-9_/-]*\.[cS]" $$f); do \
+               sf="$$(dirname $$f)/$$sf"; \
+               test -f "$$sf" && echo "$$sf"; \
+           done; \
+       done | cloc --list-file=-
 
 endif #config-build
 
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.