Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.os2.programmer.misc > #214

Re: Makefile dependency graphs

From Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM>
Newsgroups comp.unix.programmer, comp.os.ms-windows.programmer.win32, comp.os.os2.programmer.misc
Subject Re: Makefile dependency graphs
References (3 earlier) <838c970a-2b0d-41a8-a029-f5ec491bdbd1@v36g2000prm.googlegroups.com> <835fb0fd-4cd5-4caf-9d8d-c5022400d9fb@d19g2000prh.googlegroups.com> <IU.D20110429.T015530.P403.Q1@J.de.Boyne.Pollard.localhost> <0olp88-1qn.ln1@wilbur.25thandClement.com> <83a3dddf-e528-42ec-9156-14c62d652bd3@d26g2000prn.googlegroups.com>
Message-ID <IU.D20110429.T190847.P1051.Q0@J.de.Boyne.Pollard.localhost> (permalink)
Organization virginmedia.com
Date 2011-04-29 20:08 +0100

Cross-posted to 3 groups.

Show all headers | View raw


> I've found 3 distinct problems that require some interesting "makefile 
> coding" to get incrementally correct.
>
> 1- Remove a node from a wildcard list. [...]
> 2- Add a node which hides another on a search path. [...]
> 3- Change compilation options.  [...]
>
You're following a path that has been trodden before, long since.  Dan 
Bernstein identified these same issues years ago.  He covered more in 
mail messages than has, alas, survived on WWW pages, but here are the 
WWW pages:

     http://cr.yp.to/redo.html
     http://cr.yp.to/redo/honest-script.html
     http://cr.yp.to/redo/honest-nonfile.html

I know of two redo implementations.  There's the one from 2010 that's in 
macports:

     http://apenwarr.ca/log/?m=201012#14
     http://trac.macports.org/browser/trunk/dports/devel/redo/Portfile
     
https://github.com/apenwarr/redo/blob/master/Documentation/redo.md#readme

And there's the 2006 one by Alan Grosskurth:

     http://grosskurth.ca/papers/mmath-thesis.pdf

The downside of the "redo" model is that it makes it difficult to 
separate object code directories from source code directories.  But the 
operation of the tool (including the implicit redo-ifcreates of the .do 
files themselves) does indicate what one has to incorporate into a build 
mechanism if one truly wants the so-called "incremental correctness" 
that you are striving for.  (Bernstein calls it "honest dependencies", 
notice.)

I was rather hoping that you had something new, but it looks like you've 
covered the same ground as others have before.  This is not, of course, 
a bad thing.  Independently coming to the same conclusions is a good 
thing.  It provides evidence that those conclusions are right.  But from 
the perspective of people like me (I wrote my first "make" replacement 
sometime around 1991.), the problems to be tackled *now* are not what 
the problems are that "make" has, which (as noted) have long since been 
identified.  The problems to be tackled *now* are how to make something 
like "redo" usable for projects where one has needs such as read-only 
source trees with separate object trees, multiple object trees for 
cross-compiling to multiple target platforms, and so forth.  One can do 
those with "make".  It's not obvious how one does them with "redo".

Back to comp.os.os2.programmer.misc | Previous | NextNext in thread | Find similar


Thread

Re: Makefile dependency graphs Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-29 20:08 +0100
  Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-29 15:08 -0700
  Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-29 16:11 -0700

csiph-web