* [PATCH] Make the installation targets a little less chatty
@ 2007-05-31 22:23 Alex Riesen
2007-06-01 0:12 ` Junio C Hamano
0 siblings, 1 reply; 11+ messages in thread
From: Alex Riesen @ 2007-05-31 22:23 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano
by default. V=1 works as usual.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
Now it quite quiet. I tried top show every installed file, but it
wasn't an improvement at all so I decided to just show what's being
done.
Makefile | 32 +++++++++++++++++++-------------
templates/Makefile | 5 +++--
2 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/Makefile b/Makefile
index cac0a4a..fccc57b 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 $@;
@@ -973,33 +976,36 @@ check: common-cmds.h
### Installation rules
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)$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(bindir_SQ)'
+ $(QUIET)$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+ @echo installing programs
+ $(QUIET)$(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+ $(QUIET)$(INSTALL) git$X '$(DESTDIR_SQ)$(bindir_SQ)'
+ @echo setting up builtins
+ $(QUIET)$(foreach p,$(BUILT_INS), rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' && ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X' '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' ;)
+ $(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)$(INSTALL) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
+ $(QUIET_SUBDIR0)git-gui $(QUIET_SUBDIR1) install
endif
- if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
+ @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.162.gbaa1f
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] Make the installation targets a little less chatty
2007-05-31 22:23 [PATCH] Make the installation targets a little less chatty Alex Riesen
@ 2007-06-01 0:12 ` Junio C Hamano
2007-06-01 7:35 ` Alex Riesen
0 siblings, 1 reply; 11+ messages in thread
From: Junio C Hamano @ 2007-06-01 0:12 UTC (permalink / raw)
To: Alex Riesen; +Cc: git
Alex Riesen <raa.lkml@gmail.com> writes:
> by default. V=1 works as usual.
>
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> ---
>
> Now it quite quiet. I tried top show every installed file, but it
> wasn't an improvement at all so I decided to just show what's being
> done.
I agree that the long single line that installs the commands to $(bindir)
may be somewhat annoying.
Cleaning up compilation step is one thing; by tidying up the
output it makes compiler warnings stand out.
But I do not like playing games like this in general in
installation rule. An excerpt from your patch:
> + @echo installing programs
> + $(QUIET)$(foreach p,$(BUILT_INS), rm -f ...
This would not even let you see what got installed. At least,
less verbose compilation step we have these days lets you see
what is being built. I certainly would not object if the output
would look like this, though:
CC builtin-cat-file.o
...
GEN git-add--interactive
...
LINK git-http-push
...
BUILTIN git-add
...
MKDIR -p /usr/local/bin
INSTALL git-foo
INSTALL git-bar
...
INSTALL templates/description
INSTALL templates/hooks/post-update
...
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make the installation targets a little less chatty
2007-06-01 0:12 ` Junio C Hamano
@ 2007-06-01 7:35 ` Alex Riesen
2007-06-01 23:09 ` Alex Riesen
0 siblings, 1 reply; 11+ messages in thread
From: Alex Riesen @ 2007-06-01 7:35 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On 6/1/07, Junio C Hamano <junkio@cox.net> wrote:
> This would not even let you see what got installed. At least,
> less verbose compilation step we have these days lets you see
> what is being built. I certainly would not object if the output
> would look like this, though:
>
> MKDIR -p /usr/local/bin
> INSTALL git-foo
> INSTALL git-bar
> ...
> INSTALL templates/description
> INSTALL templates/hooks/post-update
> ...
As I said, it did _not_ look like an improvement (I actually
did that first). There is just too much information to be printed.
I'll send that first patch, with every program on its own line.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] Make the installation targets a little less chatty
2007-06-01 7:35 ` Alex Riesen
@ 2007-06-01 23:09 ` Alex Riesen
2007-06-02 19:58 ` Junio C Hamano
0 siblings, 1 reply; 11+ messages in thread
From: Alex Riesen @ 2007-06-01 23:09 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
by default. V=1 works as usual.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
Makefile | 35 ++++++++++++++++++++++-------------
templates/Makefile | 5 +++--
2 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/Makefile b/Makefile
index cac0a4a..f2c9b39 100644
--- a/Makefile
+++ b/Makefile
@@ -660,8 +660,10 @@ ifeq ($(TCLTK_PATH),)
NO_TCLTK=NoThanks
endif
+QUIET=
QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
QUIET_SUBDIR1 =
+QUIET_MSG = :
ifneq ($(findstring $(MAKEFLAGS),w),w)
PRINT_DIR = --no-print-directory
@@ -671,6 +673,9 @@ endif
ifneq ($(findstring $(MAKEFLAGS),s),s)
ifndef V
+ QUIET = @
+
+ QUIET_MSG = echo ' '
QUIET_CC = @echo ' ' CC $@;
QUIET_AR = @echo ' ' AR $@;
QUIET_LINK = @echo ' ' LINK $@;
@@ -973,33 +978,37 @@ check: common-cmds.h
### Installation rules
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)$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(bindir_SQ)'
+ $(QUIET)$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+ $(QUIET)$(foreach p,$(ALL_PROGRAMS),$(QUIET_MSG)INSTALL $p;\
+ $(INSTALL) '$p' '$(DESTDIR_SQ)$(gitexecdir_SQ)';)
+ $(QUIET)$(INSTALL) git$X '$(DESTDIR_SQ)$(bindir_SQ)'
+ $(QUIET)$(foreach p,$(BUILT_INS) ,$(QUIET_MSG)SETUP BUILTIN $p;\
+ rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' && \
+ ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X' '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p';)
+ $(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)$(INSTALL) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
+ $(QUIET_SUBDIR0)git-gui $(QUIET_SUBDIR1) install
endif
- if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
+ @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.162.g8fc0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] Make the installation targets a little less chatty
2007-06-01 23:09 ` Alex Riesen
@ 2007-06-02 19:58 ` Junio C Hamano
2007-06-03 11:43 ` Alex Riesen
0 siblings, 1 reply; 11+ messages in thread
From: Junio C Hamano @ 2007-06-02 19:58 UTC (permalink / raw)
To: Alex Riesen; +Cc: git
Alex Riesen <raa.lkml@gmail.com> writes:
> by default. V=1 works as usual.
You obviously did not test that X-<. V=1 does not work at all
for me. This is what I get.
...
install git '/home/junio/git-test/bin'
:SETUP BUILTIN git-format-patch; rm -f '/home/junio/git-test/bin/git-format-patch' && ln '/home/junio/git-test/bin/git' '/home/junio/git-test/bin/git-format-patch'; ...
...
/bin/sh: :SETUP: command not found
/bin/sh: :SETUP: command not found
/bin/sh: :SETUP: command not found
/bin/sh: :SETUP: command not found
...
Two problems and a half.
(0) You do not report the creation of target directory done
with "install -d", so without $V there is no way to tell if
things are installed in the expected location.
(1) Obviously : and whatever action message needs to be
separated so that it becomes a no-op command ':' followed
by parameters;
(2) Even with that ":SETUP: command not found" fixed, it now
makes the command line twice as long as before for $V case,
which makes it harder to diagnose a problem when Makefile
goes wrong.
I think the way QUIET_CC and friends are done is quite sensible
and does not have this problem, especially (3). With V=1 it
just becomes transparent, and that is what we would want.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make the installation targets a little less chatty
2007-06-02 19:58 ` Junio C Hamano
@ 2007-06-03 11:43 ` Alex Riesen
0 siblings, 0 replies; 11+ messages in thread
From: Alex Riesen @ 2007-06-03 11:43 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Junio C Hamano, Sat, Jun 02, 2007 21:58:22 +0200:
> I think the way QUIET_CC and friends are done is quite sensible
I don't think it is possible to implement this way: QUIET_CC uses
target-global $@, which the "install" target does not have.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] Make the installation targets a little less chatty
2007-06-03 1:00 quieter installs Shawn O. Pearce
@ 2007-06-03 13:07 ` Alex Riesen
2007-06-04 7:48 ` Junio C Hamano
0 siblings, 1 reply; 11+ messages in thread
From: Alex Riesen @ 2007-06-03 13:07 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Shawn O. Pearce
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
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] Make the installation targets a little less chatty
2007-06-03 13:07 ` [PATCH] Make the installation targets a little less chatty Alex Riesen
@ 2007-06-04 7:48 ` Junio C Hamano
2007-06-04 14:00 ` Alex Riesen
0 siblings, 1 reply; 11+ messages in thread
From: Junio C Hamano @ 2007-06-04 7:48 UTC (permalink / raw)
To: Alex Riesen; +Cc: git, Shawn O. Pearce
Alex Riesen <raa.lkml@gmail.com> writes:
> 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
Probably, but first let's make it "work right" while not
introducing new stuff.
> diff --git a/Makefile b/Makefile
> index cac0a4a..6409b9c 100644
> --- a/Makefile
> +++ b/Makefile
> ...
> @@ -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)'
I found Shawn's "DEST = $this_directory" quite decent. Forgot
to port it?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make the installation targets a little less chatty
2007-06-04 7:48 ` Junio C Hamano
@ 2007-06-04 14:00 ` Alex Riesen
2007-06-04 17:40 ` Johannes Schindelin
0 siblings, 1 reply; 11+ messages in thread
From: Alex Riesen @ 2007-06-04 14:00 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Shawn O. Pearce, Johannes Schindelin
On 6/4/07, Junio C Hamano <gitster@pobox.com> wrote:
> >
> > Updated. BTW, where does "no $(call) in Makefile" came from?
> > It could simplify the thing a lot
>
> Probably, but first let's make it "work right" while not
> introducing new stuff.
>
Just looked for the reasons, which appear to be there:
commit 39c015c556f285106931e0500f301de462b0e46e
Author: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Date: Sat Feb 18 12:40:22 2006 +0100
Fixes for ancient versions of GNU make
Some versions of GNU make do not understand $(call), and have problems to
interpret rules like this:
some_target: CFLAGS += -Dsome=defs
[jc: simplified substitution a bit. ]
Signed-off-by: Johannes E. Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
I trust Johannes to have such a make, never seen it myself, though.
> > install: all
> > $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(bindir_SQ)'
> > $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
>
> I found Shawn's "DEST = $this_directory" quite decent. Forgot
> to port it?
>
Race condition. Hit the send button before reading his patch and
the related discussion. Besides, now I find it is already too much
cruft just to print a directory. Didn't want to make it pretty, just
needed some readability on screen. Still think the errors of
(eventually) failing install would be enough.
Using $(call) would allow to generalize that, BTW.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make the installation targets a little less chatty
2007-06-04 14:00 ` Alex Riesen
@ 2007-06-04 17:40 ` Johannes Schindelin
2007-06-05 10:33 ` Alex Riesen
0 siblings, 1 reply; 11+ messages in thread
From: Johannes Schindelin @ 2007-06-04 17:40 UTC (permalink / raw)
To: Alex Riesen; +Cc: Junio C Hamano, git, Shawn O. Pearce
Hi,
On Mon, 4 Jun 2007, Alex Riesen wrote:
> On 6/4/07, Junio C Hamano <gitster@pobox.com> wrote:
> > >
> > > Updated. BTW, where does "no $(call) in Makefile" came from?
> > > It could simplify the thing a lot
> >
> > Probably, but first let's make it "work right" while not
> > introducing new stuff.
> >
>
> Just looked for the reasons, which appear to be there:
> commit 39c015c556f285106931e0500f301de462b0e46e
> Author: Johannes Schindelin <Johannes.Schindelin@gmx.de>
> Date: Sat Feb 18 12:40:22 2006 +0100
>
> Fixes for ancient versions of GNU make
>
> Some versions of GNU make do not understand $(call), and have problems to
> interpret rules like this:
>
> some_target: CFLAGS += -Dsome=defs
>
> [jc: simplified substitution a bit. ]
>
> Signed-off-by: Johannes E. Schindelin <Johannes.Schindelin@gmx.de>
> Signed-off-by: Junio C Hamano <junkio@cox.net>
>
> I trust Johannes to have such a make, never seen it myself, though.
Yes. I no longer have access to that machine, but it was an SGI machine
running IRIX, and I had no root access, and I had a quota.
That is when I worked towards getting rid of Python (making the use of it
optional at first), and working with incompatible or sufficiently non-GNU
programs like old make, different sed, etc.
At the time I was really annoyed with the situation, especially since it
was _easy_ to stay compatible with them. I have little sympathy with
making things just a little simpler for John R. Developer, and
substantially harder for a lot of users.
So, are you sure you want to force everybody who wants to compile Git to
use a recent GNU make?
Ciao,
Dscho
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make the installation targets a little less chatty
2007-06-04 17:40 ` Johannes Schindelin
@ 2007-06-05 10:33 ` Alex Riesen
0 siblings, 0 replies; 11+ messages in thread
From: Alex Riesen @ 2007-06-05 10:33 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Junio C Hamano, git, Shawn O. Pearce
On 6/4/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
>
> So, are you sure you want to force everybody who wants to compile Git to
> use a recent GNU make?
>
Dunno. I just didn't want to slap more workarounds onto Git's Makefile.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2007-06-05 10:33 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-31 22:23 [PATCH] Make the installation targets a little less chatty 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
-- strict thread matches above, loose matches on Subject: below --
2007-06-03 1:00 quieter installs Shawn O. Pearce
2007-06-03 13:07 ` [PATCH] Make the installation targets a little less chatty Alex Riesen
2007-06-04 7:48 ` Junio C Hamano
2007-06-04 14:00 ` Alex Riesen
2007-06-04 17:40 ` Johannes Schindelin
2007-06-05 10:33 ` Alex Riesen
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).