git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alex Riesen <raa.lkml@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <junkio@cox.net>, "Shawn O. Pearce" <spearce@spearce.org>
Subject: [PATCH] Make the installation targets a little less chatty
Date: Sun, 3 Jun 2007 15:07:45 +0200	[thread overview]
Message-ID: <20070603130745.GC2495@steel.home> (raw)
In-Reply-To: <20070603010044.GA4507@spearce.org>

by default. V=1 works as usual.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---

Updated. BTW, where does "no $(call) in Makefile" came from?
It could simplify the thing a lot

 Makefile           |   44 +++++++++++++++++++++++++++++++++-----------
 templates/Makefile |    5 +++--
 2 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/Makefile b/Makefile
index cac0a4a..6409b9c 100644
--- a/Makefile
+++ b/Makefile
@@ -660,6 +660,7 @@ ifeq ($(TCLTK_PATH),)
 NO_TCLTK=NoThanks
 endif
 
+QUIET=
 QUIET_SUBDIR0  = +$(MAKE) -C # space to separate -C and subdir
 QUIET_SUBDIR1  =
 
@@ -671,6 +672,8 @@ endif
 
 ifneq ($(findstring $(MAKEFLAGS),s),s)
 ifndef V
+	QUIET = @
+
 	QUIET_CC       = @echo '   ' CC $@;
 	QUIET_AR       = @echo '   ' AR $@;
 	QUIET_LINK     = @echo '   ' LINK $@;
@@ -972,34 +975,53 @@ check: common-cmds.h
 
 ### Installation rules
 
+ifeq ($(QUIET),@)
+INST_0   = arg=
+INST_1   = &&echo  "    INSTALL $$arg"&&$(INSTALL) "$$arg" # space
+BSETUP_0 = arg=
+BSETUP_1 = &&echo  "    SETUP BUILTIN $$arg"&& \
+	   rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/'"$$arg" && \
+	   ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git$(X)' \
+	   '$(DESTDIR_SQ)$(gitexecdir_SQ)/'"$$arg" # space
+else
+INST_0   = $(INSTALL) # space to separate "install" and its first arg
+INST_1   =
+BSETUP_0 = arg=
+BSETUP_1 = &&rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/'"$$arg" && \
+	   ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git$(X)' \
+	   '$(DESTDIR_SQ)$(gitexecdir_SQ)/'"$$arg" # space
+endif
+
 install: all
 	$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(bindir_SQ)'
 	$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
-	$(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
-	$(INSTALL) git$X '$(DESTDIR_SQ)$(bindir_SQ)'
-	$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
-	$(MAKE) -C perl prefix='$(prefix_SQ)' install
+	$(QUIET)$(foreach p,$(ALL_PROGRAMS),\
+	    $(INST_0)'$p' $(INST_1)'$(DESTDIR_SQ)$(gitexecdir_SQ)' &&):
+	$(QUIET)$(INST_0)git$X $(INST_1)'$(DESTDIR_SQ)$(bindir_SQ)'
+	$(QUIET)$(foreach p,$(BUILT_INS),$(BSETUP_0)$p $(BSETUP_1)&&):
+	$(QUIET_SUBDIR0)templates $(QUIET_SUBDIR1) DESTDIR='$(DESTDIR_SQ)' install
+	$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) prefix='$(prefix_SQ)' install
 ifndef NO_TCLTK
-	$(INSTALL) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
-	$(MAKE) -C git-gui install
+	$(QUIET)$(INST_0)gitk-wish $(INST_1)'$(DESTDIR_SQ)$(bindir_SQ)'/gitk
+	$(QUIET_SUBDIR0)git-gui $(QUIET_SUBDIR1) install
 endif
-	if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
+	$(QUIET)if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
 	then \
 		ln -f '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
 			'$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X' || \
 		cp '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
 			'$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X'; \
 	fi
-	$(foreach p,$(BUILT_INS), rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' && ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X' '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' ;)
 ifneq (,$X)
-	$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p';)
+	@echo cleaning '$(DESTDIR_SQ)$(gitexecdir_SQ)' of old scripts
+	$(QUIET)$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p';)
 endif
 
 install-doc:
-	$(MAKE) -C Documentation install
+	$(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) install
 
 quick-install-doc:
-	$(MAKE) -C Documentation quick-install
+	$(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) quick-install
 
 
 
diff --git a/templates/Makefile b/templates/Makefile
index b8352e7..b9a39e2 100644
--- a/templates/Makefile
+++ b/templates/Makefile
@@ -45,6 +45,7 @@ clean:
 	rm -rf blt boilerplates.made
 
 install: all
-	$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(template_dir_SQ)'
-	(cd blt && $(TAR) cf - .) | \
+	@echo installing templates
+	$(QUIET)$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(template_dir_SQ)'
+	$(QUIET)(cd blt && $(TAR) cf - .) | \
 	(cd '$(DESTDIR_SQ)$(template_dir_SQ)' && $(TAR) xf -)
-- 
1.5.2.182.ged6b

  parent reply	other threads:[~2007-06-03 13:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-03  1:00 quieter installs Shawn O. Pearce
2007-06-03  5:53 ` Junio C Hamano
2007-06-03  6:00   ` Shawn O. Pearce
2007-06-03 13:17     ` Alex Riesen
2007-06-03 13:04 ` Alex Riesen
2007-06-03 13:07 ` Alex Riesen [this message]
2007-06-04  7:48   ` [PATCH] Make the installation targets a little less chatty Junio C Hamano
2007-06-04 14:00     ` Alex Riesen
2007-06-04 17:40       ` Johannes Schindelin
2007-06-05 10:33         ` Alex Riesen
2007-06-03 13:08 ` [PATCH] Make the installation target of git-gui " Alex Riesen
  -- strict thread matches above, loose matches on Subject: below --
2007-05-31 22:23 [PATCH] Make the installation targets " Alex Riesen
2007-06-01  0:12 ` Junio C Hamano
2007-06-01  7:35   ` Alex Riesen
2007-06-01 23:09     ` Alex Riesen
2007-06-02 19:58       ` Junio C Hamano
2007-06-03 11:43         ` Alex Riesen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070603130745.GC2495@steel.home \
    --to=raa.lkml@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).