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 <gitster@pobox.com>
This commit is contained in:
parent
703f05ad58
commit
335339758c
10
Makefile
10
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)):\
|
||||
|
Loading…
Reference in New Issue
Block a user