[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: non-recursive build question

From: Paul D. Smith
Subject: Re: non-recursive build question
Date: Thu, 29 Apr 2004 10:43:46 -0400

%% Noel Yap <address@hidden> writes:

  ny> In the end, though, the OP should be able to do what he wanted
  ny> (assuming IIUC)

That I don't know about; you could well be correct--I hope Sandy will
provide a list of explicit requirements that we can use to determine
that because I, at least, don't have any good feeling for exactly what
they are.

  ny> This is true for the LHS, but not completely true for the RHS.  It
  ny> allows checking to see if the RHS needs to be rebuilt.

Good point.  I was thinking from the point of view of the target, but
you're correct there is a change to the prerequisite.

  ny> I didn't mean to imply that make proper would be doing the work of
  ny> generating and checking the hash, version, etc.  Rather, the
  ny> developer who created the code for the condition would be
  ny> responsible for coding it in such a way that it's able to retrieve
  ny> and store this info somewhere.

That's an idea.  I was kind of thinking that make would offer to save a
token in its own directory structure representing the "state" of the
target.  This token would be generic; maybe a union of a void* and a
long unsigned or something.  That way make could avoid keeping duplicate
structures representing files.

Make would then invoke a separate function, which could be one of many,
to determine whether or not a target was out-of-date.

  ny> Do you think adding GUILE to make and allowing a hook to redefine
  ny> the update condition would allow such extensibility?

Once you open up to a scripting language people can do all kinds of
things (just look at the things folks are doing with eval!)  However I
don't know that this would be the most _efficient_ way to do it.

  ny> Anyway, just blue sky dreaming; the situations in which such a
  ny> feature to be useful are extremely rare IME.  YMMV, of course.

Actually in my "real life" job I'd love to have this capability--I think
it could be (part of) a very, very significant savings in developer
productivity.  Maybe someday I'll convince my managers in that life to
let me work on it :).

 Paul D. Smith <address@hidden>          Find some GNU make tips at:            
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist

reply via email to

[Prev in Thread] Current Thread [Next in Thread]