From: Junio C Hamano Date: Tue, 18 Oct 2011 07:26:18 +0000 (-0700) Subject: Makefile: ask "ls-files" to list source files if available X-Git-Tag: v1.7.8-rc0~22^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/335339758c Makefile: ask "ls-files" to list source files if available The [ce]tags and cscope targets used to run "find" looking for any paths that match '*.[chS]' to feed the list of source files to downstream xargs. Use "git ls-files" if it is already available to us, and otherwise use a tighter "find" expression that does not list directories and does not go into our .git directory. Signed-off-by: Junio C Hamano --- diff --git a/Makefile b/Makefile index 8d6d4515d2..badfb77f40 100644 --- a/Makefile +++ b/Makefile @@ -2115,17 +2115,21 @@ po/git.pot: $(LOCALIZED_C) pot: po/git.pot +FIND_SOURCE_FILES = ( git ls-files '*.[hcS]' 2>/dev/null || \ + $(FIND) . \( -name .git -type d -prune \) \ + -o \( -name '*.[hcS]' -type f -print \) ) + $(ETAGS_TARGET): FORCE $(RM) $(ETAGS_TARGET) - $(FIND) . -name '*.[hcS]' -print | xargs etags -a -o $(ETAGS_TARGET) + $(FIND_SOURCE_FILES) | xargs etags -a -o $(ETAGS_TARGET) tags: FORCE $(RM) tags - $(FIND) . -name '*.[hcS]' -print | xargs ctags -a + $(FIND_SOURCE_FILES) | xargs ctags -a cscope: $(RM) cscope* - $(FIND) . -name '*.[hcS]' -print | xargs cscope -b + $(FIND_SOURCE_FILES) | xargs cscope -b ### Detect prefix changes TRACK_CFLAGS = $(CC):$(subst ','\'',$(ALL_CFLAGS)):\