Merge branch 'jc/make-tags'
authorJunio C Hamano <gitster@pobox.com>
Fri, 21 Oct 2011 23:04:35 +0000 (16:04 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 21 Oct 2011 23:04:35 +0000 (16:04 -0700)
* jc/make-tags:
Makefile: ask "ls-files" to list source files if available

1  2 
Makefile
diff --combined Makefile
index 17404c43d64d08aff0bdf9b4e6b6eeddf9b8a5e7,badfb77f409a8e86202f5c1213648da6012977d4..3139c19b10898d735b0d684c269454bc3fd84b68
+++ b/Makefile
@@@ -250,6 -250,10 +250,6 @@@ all:
  #   DEFAULT_EDITOR='$GIT_FALLBACK_EDITOR',
  #   DEFAULT_EDITOR='"C:\Program Files\Vim\gvim.exe" --nofork'
  #
 -# Define COMPUTE_HEADER_DEPENDENCIES if your compiler supports the -MMD option
 -# and you want to avoid rebuilding objects when an unrelated header file
 -# changes.
 -#
  # Define CHECK_HEADER_DEPENDENCIES to check for problems in the hard-coded
  # dependency rules.
  #
@@@ -501,7 -505,6 +501,7 @@@ VCSSVN_LIB=vcs-svn/lib.
  
  LIB_H += advice.h
  LIB_H += archive.h
 +LIB_H += argv-array.h
  LIB_H += attr.h
  LIB_H += blob.h
  LIB_H += builtin.h
@@@ -517,7 -520,6 +517,7 @@@ LIB_H += compat/win32/pthread.
  LIB_H += compat/win32/syslog.h
  LIB_H += compat/win32/sys/poll.h
  LIB_H += compat/win32/dirent.h
 +LIB_H += connected.h
  LIB_H += csum-file.h
  LIB_H += decorate.h
  LIB_H += delta.h
@@@ -559,7 -561,6 +559,7 @@@ LIB_H += rerere.
  LIB_H += resolve-undo.h
  LIB_H += revision.h
  LIB_H += run-command.h
 +LIB_H += sequencer.h
  LIB_H += sha1-array.h
  LIB_H += sha1-lookup.h
  LIB_H += sideband.h
@@@ -585,7 -586,6 +585,7 @@@ LIB_OBJS += alloc.
  LIB_OBJS += archive.o
  LIB_OBJS += archive-tar.o
  LIB_OBJS += archive-zip.o
 +LIB_OBJS += argv-array.o
  LIB_OBJS += attr.o
  LIB_OBJS += base85.o
  LIB_OBJS += bisect.o
@@@ -599,7 -599,6 +599,7 @@@ LIB_OBJS += commit.
  LIB_OBJS += compat/obstack.o
  LIB_OBJS += config.o
  LIB_OBJS += connect.o
 +LIB_OBJS += connected.o
  LIB_OBJS += convert.o
  LIB_OBJS += copy.o
  LIB_OBJS += csum-file.o
@@@ -669,7 -668,6 +669,7 @@@ LIB_OBJS += revision.
  LIB_OBJS += run-command.o
  LIB_OBJS += server-info.o
  LIB_OBJS += setup.o
 +LIB_OBJS += sequencer.o
  LIB_OBJS += sha1-array.o
  LIB_OBJS += sha1-lookup.o
  LIB_OBJS += sha1_file.o
@@@ -822,7 -820,6 +822,7 @@@ ifeq ($(uname_S),GNU/kFreeBSD
        NO_STRLCPY = YesPlease
        NO_MKSTEMPS = YesPlease
        HAVE_PATHS_H = YesPlease
 +      DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
  endif
  ifeq ($(uname_S),UnixWare)
        CC = cc
@@@ -1245,15 -1242,6 +1245,15 @@@ endi
  ifdef CHECK_HEADER_DEPENDENCIES
  COMPUTE_HEADER_DEPENDENCIES =
  USE_COMPUTED_HEADER_DEPENDENCIES =
 +else
 +ifndef COMPUTE_HEADER_DEPENDENCIES
 +dep_check = $(shell $(CC) $(ALL_CFLAGS) \
 +      -c -MF /dev/null -MMD -MP -x c /dev/null -o /dev/null 2>&1; \
 +      echo $$?)
 +ifeq ($(dep_check),0)
 +COMPUTE_HEADER_DEPENDENCIES=YesPlease
 +endif
 +endif
  endif
  
  ifdef COMPUTE_HEADER_DEPENDENCIES
@@@ -1906,7 -1894,7 +1906,7 @@@ dep_dirs := $(addsuffix .depend,$(sort 
  
  ifdef COMPUTE_HEADER_DEPENDENCIES
  $(dep_dirs):
 -      mkdir -p $@
 +      @mkdir -p $@
  
  missing_dep_dirs := $(filter-out $(wildcard $(dep_dirs)),$(dep_dirs))
  dep_file = $(dir $@).depend/$(notdir $@).d
@@@ -2127,17 -2115,21 +2127,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)):\
@@@ -2292,7 -2284,8 +2296,7 @@@ install: al
        $(INSTALL) $(install_bindir_programs) '$(DESTDIR_SQ)$(bindir_SQ)'
        $(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
        $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'
 -      (cd mergetools && $(TAR) cf - .) | \
 -      (cd '$(DESTDIR_SQ)$(mergetools_instdir_SQ)' && umask 022 && $(TAR) xof -)
 +      $(INSTALL) -m 644 mergetools/* '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'
  ifndef NO_PERL
        $(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install
        $(MAKE) -C gitweb install