git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC] "Recursive Make considered harmful"

From
Junio C Hamano <junkio@cox.net>
Date
Jul 28, 2005, 07:04 UTC
Message-ID
<7v64uvh0mo.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<7v4qafrk8w.fsf@assigned-by-dhcp.cox.net>

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.

Previous: Matthias UrlichsNext: Matthias Urlichs
Message 9 of 16 in “"Recursive Make considered harmful"”
  1. "Recursive Make considered harmful"Ryan Anderson, Jul 27, 2005
  2. A Large Angry SCMJul 27, 2005
  3. Kirby C. BohlingJul 27, 2005
  4. A Large Angry SCMJul 27, 2005
  5. Junio C HamanoJul 27, 2005
  6. A Large Angry SCMJul 27, 2005
  7. Petr BaudisJul 28, 2005
  8. Matthias UrlichsJul 28, 2005
  9. Junio C HamanoJul 28, 2005
  10. Matthias UrlichsJul 28, 2005
  11. Junio C HamanoJul 28, 2005
  12. A Large Angry SCMJul 28, 2005
  13. Ryan AndersonJul 29, 2005
  14. Sam RavnborgJul 29, 2005
  15. Petr BaudisJul 29, 2005
  16. Timo HirvonenJul 29, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.