git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: Ryan Anderson <ryan@michonline.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH/RFC] "Recursive Make considered harmful"
Date: Thu, 28 Jul 2005 00:04:47 -0700	[thread overview]
Message-ID: <7v64uvh0mo.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <7v4qafrk8w.fsf@assigned-by-dhcp.cox.net> (Junio C. Hamano's message of "Wed, 27 Jul 2005 14:50:55 -0700")

Ryan, I am dropping this patch, at least for now, after keeping
it in the "pu" (proposed updates) branch and using it myself.
There are two complaints from me.

I am used to "make bin=$HOME/bin/i386 install install-tools",
which the patch breaks (I do not want to build docs for myself).
This is minor; I could say "install-bin install-toolsxx"
instead.

I do not deal with RPM packages myself, but guessing by reading
git-core.spec.in, I think it relies on the install target not
touching the documentation, in order for it to be able to build
doc-full and/or doc-less binary packages.  The patch makes
install target to also build and install docs.

The Debian build is not affected because it does not produce
separate git-core and doc-git-core packages[*1*]; probably this
was the reason you did not notice this.

I think what is installed from the toplevel and what comes from
tools/ subdirectory are divided mostly for historical reasons
and nothing else[*2*], and I do not mind the install target
depending on install-bin and install-tools, but I suspect that
binary packaging folks would appreciate to have a separate doc
target that is not done by a normal install.

Speeding up the build procedure by defining dependencies
correctly is a worthy goal.  Personally I feel a low hanging
fruit is in the main Makefile, before worrying about the make
recursion.  Many things are in libgit.a and when I touch
something only relevant to small number of things, say
csum-file.c, all "git-%: %.c" programs are recompiled and
relinked, even most of them do not link with csum-file.o (this
particular one is only used by git-pack-objects, by the way).

[Footnote]

*1* Which, BTW, would be the Debian way, if I am not mistaken.

*2* Although one _could_ argue that tools/ is primarily meant
for "project lead" role users who accept and incorporate patches
obtained via e-mails.

  parent reply	other threads:[~2005-07-28  7:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-27  8:39 [PATCH/RFC] "Recursive Make considered harmful" Ryan Anderson
2005-07-27 14:25 ` A Large Angry SCM
2005-07-27 14:37   ` Kirby C. Bohling
2005-07-27 15:32     ` A Large Angry SCM
2005-07-27 21:50 ` Junio C Hamano
2005-07-27 22:07   ` A Large Angry SCM
2005-07-28  7:51     ` Petr Baudis
2005-07-28  9:40       ` Matthias Urlichs
2005-07-28  7:04   ` Junio C Hamano [this message]
2005-07-28  7:45     ` Matthias Urlichs
2005-07-28 16:38       ` Junio C Hamano
2005-07-28 17:09         ` A Large Angry SCM
2005-07-29  6:53   ` Ryan Anderson
2005-07-29  7:31     ` Sam Ravnborg
2005-07-29  7:46       ` Petr Baudis
2005-07-29  9:12         ` Timo Hirvonen

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=7v64uvh0mo.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=ryan@michonline.com \
    /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).