Code

Merge branch 'rj/quietly-create-dep-dir'
authorJunio C Hamano <gitster@pobox.com>
Wed, 5 Oct 2011 19:36:21 +0000 (12:36 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 5 Oct 2011 19:36:21 +0000 (12:36 -0700)
* rj/quietly-create-dep-dir:
  Makefile: Make dependency directory creation less noisy

1  2 
Makefile

diff --cc Makefile
index 741aac424f11877e1fea39647ef39ba73de46639,3ea0a788886b395fc4e6857cfcfe1b53a712aa9d..4a8191c8d88d7160bcb994fb908396a452695da5
+++ b/Makefile
@@@ -1884,111 -1670,50 +1884,111 @@@ git.o git.spec 
        $(patsubst %.perl,%,$(SCRIPT_PERL)) \
        : GIT-VERSION-FILE
  
 -GIT_OBJS := $(LIB_OBJS) $(BUILTIN_OBJS) $(TEST_OBJS) \
 -      git.o http.o http-walker.o remote-curl.o \
 -      $(patsubst git-%$X,%.o,$(PROGRAMS))
 +TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS))
 +GIT_OBJS := $(LIB_OBJS) $(BUILTIN_OBJS) $(PROGRAM_OBJS) $(TEST_OBJS) \
 +      git.o
 +ifndef NO_CURL
 +      GIT_OBJS += http.o http-walker.o remote-curl.o
 +endif
  XDIFF_OBJS = xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o \
 -      xdiff/xmerge.o xdiff/xpatience.o
 -OBJECTS := $(GIT_OBJS) $(XDIFF_OBJS)
 +      xdiff/xmerge.o xdiff/xpatience.o xdiff/xhistogram.o
 +VCSSVN_OBJS = vcs-svn/string_pool.o vcs-svn/line_buffer.o \
 +      vcs-svn/repo_tree.o vcs-svn/fast_export.o vcs-svn/svndump.o
 +VCSSVN_TEST_OBJS = test-obj-pool.o test-string-pool.o \
 +      test-line-buffer.o test-treap.o
 +OBJECTS := $(GIT_OBJS) $(XDIFF_OBJS) $(VCSSVN_OBJS)
  
 -ASM_SRC := $(wildcard $(OBJECTS:o=S))
 -ASM_OBJ := $(ASM_SRC:S=o)
 -C_OBJ := $(filter-out $(ASM_OBJ),$(OBJECTS))
 +dep_files := $(foreach f,$(OBJECTS),$(dir $f).depend/$(notdir $f).d)
 +dep_dirs := $(addsuffix .depend,$(sort $(dir $(OBJECTS))))
  
  ifdef COMPUTE_HEADER_DEPENDENCIES
 -dep_dirs := $(addsuffix deps,$(sort $(dir $(OBJECTS))))
  $(dep_dirs):
-       mkdir -p $@
+       @mkdir -p $@
  
  missing_dep_dirs := $(filter-out $(wildcard $(dep_dirs)),$(dep_dirs))
 -else
 +dep_file = $(dir $@).depend/$(notdir $@).d
 +dep_args = -MF $(dep_file) -MMD -MP
 +ifdef CHECK_HEADER_DEPENDENCIES
 +$(error cannot compute header dependencies outside a normal build. \
 +Please unset CHECK_HEADER_DEPENDENCIES and try again)
 +endif
 +endif
 +
 +ifndef COMPUTE_HEADER_DEPENDENCIES
 +ifndef CHECK_HEADER_DEPENDENCIES
  dep_dirs =
  missing_dep_dirs =
 +dep_args =
 +endif
 +endif
 +
 +ifdef CHECK_HEADER_DEPENDENCIES
 +ifndef PRINT_HEADER_DEPENDENCIES
 +missing_deps = $(filter-out $(notdir $^), \
 +      $(notdir $(shell $(MAKE) -s $@ \
 +              CHECK_HEADER_DEPENDENCIES=YesPlease \
 +              USE_COMPUTED_HEADER_DEPENDENCIES=YesPlease \
 +              PRINT_HEADER_DEPENDENCIES=YesPlease)))
 +endif
  endif
  
 +ASM_SRC := $(wildcard $(OBJECTS:o=S))
 +ASM_OBJ := $(ASM_SRC:S=o)
 +C_OBJ := $(filter-out $(ASM_OBJ),$(OBJECTS))
 +
  .SUFFIXES:
  
 +ifdef PRINT_HEADER_DEPENDENCIES
 +$(C_OBJ): %.o: %.c FORCE
 +      echo $^
 +$(ASM_OBJ): %.o: %.S FORCE
 +      echo $^
 +
 +ifndef CHECK_HEADER_DEPENDENCIES
 +$(error cannot print header dependencies during a normal build. \
 +Please set CHECK_HEADER_DEPENDENCIES and try again)
 +endif
 +endif
 +
 +ifndef PRINT_HEADER_DEPENDENCIES
 +ifdef CHECK_HEADER_DEPENDENCIES
 +$(C_OBJ): %.o: %.c $(dep_files) FORCE
 +      @set -e; echo CHECK $@; \
 +      missing_deps="$(missing_deps)"; \
 +      if test "$$missing_deps"; \
 +      then \
 +              echo missing dependencies: $$missing_deps; \
 +              false; \
 +      fi
 +$(ASM_OBJ): %.o: %.S $(dep_files) FORCE
 +      @set -e; echo CHECK $@; \
 +      missing_deps="$(missing_deps)"; \
 +      if test "$$missing_deps"; \
 +      then \
 +              echo missing dependencies: $$missing_deps; \
 +              false; \
 +      fi
 +endif
 +endif
 +
 +ifndef CHECK_HEADER_DEPENDENCIES
  $(C_OBJ): %.o: %.c GIT-CFLAGS $(missing_dep_dirs)
 -      $(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $<
 -%.s: %.c GIT-CFLAGS FORCE
 -      $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $<
 +      $(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
  $(ASM_OBJ): %.o: %.S GIT-CFLAGS $(missing_dep_dirs)
 -      $(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $<
 +      $(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
 +endif
  
 -ifdef COMPUTE_HEADER_DEPENDENCIES
 +%.s: %.c GIT-CFLAGS FORCE
 +      $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
 +
 +ifdef USE_COMPUTED_HEADER_DEPENDENCIES
  # Take advantage of gcc's on-the-fly dependency generation
  # See <http://gcc.gnu.org/gcc-3.0/features.html>.
 -dep_files := $(wildcard $(foreach f,$(OBJECTS),$(dir f)deps/$(notdir $f).d))
 -ifneq ($(dep_files),)
 -include $(dep_files)
 +dep_files_present := $(wildcard $(dep_files))
 +ifneq ($(dep_files_present),)
 +include $(dep_files_present)
  endif
 -
 -dep_file = $(dir $@)deps/$(notdir $@).d
 -dep_args = -MF $(dep_file) -MMD -MP
  else
 -dep_args =
 -
  # Dependencies on header files, for platforms that do not support
  # the gcc -MMD option.
  #