From: Junio C Hamano Date: Wed, 5 Oct 2011 19:36:16 +0000 (-0700) Subject: Merge branch 'fk/make-auto-header-dependencies' X-Git-Tag: v1.7.8-rc0~145 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/7af4d3468f79c39a75e59aa9699d43d1bbbfd1af?ds=inline;hp=-c Merge branch 'fk/make-auto-header-dependencies' * fk/make-auto-header-dependencies: Makefile: Use computed header dependencies if the compiler supports it --- 7af4d3468f79c39a75e59aa9699d43d1bbbfd1af diff --combined Makefile index 8d6d4515d2,c131439a34..15fb8c23a3 --- a/Makefile +++ b/Makefile @@@ -250,10 -250,6 +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. # @@@ -302,7 -298,6 +298,7 @@@ bindir = $(prefix)/$(bindir_relative mandir = share/man infodir = share/info gitexecdir = libexec/git-core +mergetoolsdir = $(gitexecdir)/mergetools sharedir = $(prefix)/share gitwebdir = $(sharedir)/gitweb template_dir = share/git-core/templates @@@ -515,7 -510,6 +511,7 @@@ LIB_H += commit. LIB_H += compat/bswap.h LIB_H += compat/cygwin.h LIB_H += compat/mingw.h +LIB_H += compat/obstack.h LIB_H += compat/win32/pthread.h LIB_H += compat/win32/syslog.h LIB_H += compat/win32/sys/poll.h @@@ -534,7 -528,6 +530,7 @@@ LIB_H += graph. LIB_H += grep.h LIB_H += hash.h LIB_H += help.h +LIB_H += kwset.h LIB_H += levenshtein.h LIB_H += list-objects.h LIB_H += ll-merge.h @@@ -596,7 -589,6 +592,7 @@@ LIB_OBJS += cache-tree. LIB_OBJS += color.o LIB_OBJS += combine-diff.o LIB_OBJS += commit.o +LIB_OBJS += compat/obstack.o LIB_OBJS += config.o LIB_OBJS += connect.o LIB_OBJS += convert.o @@@ -626,7 -618,6 +622,7 @@@ LIB_OBJS += hash. LIB_OBJS += help.o LIB_OBJS += hex.o LIB_OBJS += ident.o +LIB_OBJS += kwset.o LIB_OBJS += levenshtein.o LIB_OBJS += list-objects.o LIB_OBJS += ll-merge.o @@@ -647,7 -638,6 +643,7 @@@ LIB_OBJS += pack-revindex. LIB_OBJS += pack-write.o LIB_OBJS += pager.o LIB_OBJS += parse-options.o +LIB_OBJS += parse-options-cb.o LIB_OBJS += patch-delta.o LIB_OBJS += patch-ids.o LIB_OBJS += path.o @@@ -1242,6 -1232,15 +1238,15 @@@ endi ifdef CHECK_HEADER_DEPENDENCIES COMPUTE_HEADER_DEPENDENCIES = USE_COMPUTED_HEADER_DEPENDENCIES = + else + ifndef COMPUTE_HEADER_DEPENDENCIES + dep_check = $(shell sh -c \ + '$(CC) -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 @@@ -2210,7 -2209,7 +2215,7 @@@ test-delta$X: diff-delta.o patch-delta. test-line-buffer$X: vcs-svn/lib.a -test-parse-options$X: parse-options.o +test-parse-options$X: parse-options.o parse-options-cb.o test-string-pool$X: vcs-svn/lib.a @@@ -2263,13 -2262,6 +2268,13 @@@ endi gitexec_instdir_SQ = $(subst ','\'',$(gitexec_instdir)) export gitexec_instdir +ifneq ($(filter /%,$(firstword $(mergetoolsdir))),) +mergetools_instdir = $(mergetoolsdir) +else +mergetools_instdir = $(prefix)/$(mergetoolsdir) +endif +mergetools_instdir_SQ = $(subst ','\'',$(mergetools_instdir)) + install_bindir_programs := $(patsubst %,%$X,$(BINDIR_PROGRAMS_NEED_X)) $(BINDIR_PROGRAMS_NO_X) install: all @@@ -2279,9 -2271,6 +2284,9 @@@ $(INSTALL) -m 644 $(SCRIPT_LIB) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' $(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 -) ifndef NO_PERL $(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install $(MAKE) -C gitweb install