Re: Request for critique on a small makefile

2006-12-11 Thread Philip Guenther
On 12/11/06, Edward Z. Yang <[EMAIL PROTECTED]> wrote: ... So, here is a fairly simple Makefile that works. I would like to know if I did anything wrong, went against any good practice, i.e. did anything that could become a bad habit. How portable is this Makefile? Thanks! First off, you should

Request for critique on a small makefile

2006-12-11 Thread Edward Z. Yang
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 I am currently working my way through a dozen or so exercises to get in touch with the language features of C++. On the second exercise, I needed to parse command line options, so I opted to use the Boost library. Unfortunantely, linking them up is som

Re: Improvement on parallel make

2006-12-11 Thread Paul Smith
On Mon, 2006-12-11 at 19:50 -0500, Paul Smith wrote: > For some examples of what I mean, see this thread: > > http://www.mail-archive.com/help-make@gnu.org/msg05599.html > > These aren't "real world" examples, but they illustrate the problem. Here's another message with a more "real world" exam

Re: Improvement on parallel make

2006-12-11 Thread Paul Smith
Hi all; This thread is very interesting and I'm saving all the emails for a more careful study. However, can I request that everyone REMOVE the [EMAIL PROTECTED] address from the thread? That list doesn't exist; it's just an alias for [EMAIL PROTECTED] You can use either one, but if you use bot

Re: Improvement on parallel make

2006-12-11 Thread Brendan Heading
Alexey Neyman wrote: <<< foo: bar .WAIT baz fum: bar boo fun: baz buu <<< the command "make -j 4 fum fun" will still serialize the "bar" and "baz" targets, with "bar" completed before "baz" is started. Note that the targets command line does not include "foo" - which specifies the .WAIT beh

Re: Improvement on parallel make

2006-12-11 Thread Brendan Heading
Philip Guenther writes: I'm also unimpressed by the fact that the cited examples all seem to use .WAIT as a kludge around the incomplete dependency tree of a recursive make setup. Making that particular hole easier to live in just means more people will dig themselves into it... I was waiting

Re: Improvement on parallel make

2006-12-11 Thread David Boyce
At 07:50 AM 12/11/2006, Christophe LYON wrote: Maybe we could accept a different behaviour that BSD's. (Well, I hope so ;-) If the behavior ends up differing from BSD's, might I suggest using a different name (e.g. .SYNC) for it? It would surprise those familar with BSD make less, and potenti

Re: Improvement on parallel make

2006-12-11 Thread Philip Guenther
On 12/11/06, Alexey Neyman <[EMAIL PROTECTED]> wrote: On Monday 11 December 2006 16:40, Philip Guenther wrote: > On 12/11/06, Alexey Neyman <[EMAIL PROTECTED]> wrote: > ... > > 3. BSD make associates the .WAIT semantics with a target, not with a > > dependency. > > To clarify, are you saying that

Re: Improvement on parallel make

2006-12-11 Thread Christophe LYON
What would you expect? The same sequence in both cases? Yes. By the way, BSD make will behave in the same way in both cases. It would be confusing to specify that "x1 and x2 cannot run in parallel" and have them parallelized. OK, I will try to fix this. Christophe. __

Re: Improvement on parallel make

2006-12-11 Thread Alexey Neyman
On Monday 11 December 2006 16:42, Christophe LYON wrote: > > On Monday 11 December 2006 15:50, Christophe LYON wrote: > >> I don't think so: > >> x2 will wait for x1 to complete, and x3 will wait for x2. > > > > I applied it and tried it out: > > > > [EMAIL PROTECTED]:~/work/make> cat mak > > .PH

Re: Improvement on parallel make

2006-12-11 Thread Alexey Neyman
On Monday 11 December 2006 16:40, Philip Guenther wrote: > On 12/11/06, Alexey Neyman <[EMAIL PROTECTED]> wrote: > ... > > 3. BSD make associates the .WAIT semantics with a target, not with a > > dependency. > > To clarify, are you saying that the .WAIT has no effect unless the > target whose dep

Re: Improvement on parallel make

2006-12-11 Thread Christophe LYON
Alexey Neyman wrote: Cristophe, On Monday 11 December 2006 15:50, Christophe LYON wrote: I don't think so: x2 will wait for x1 to complete, and x3 will wait for x2. I applied it and tried it out: [EMAIL PROTECTED]:~/work/make> cat mak .PHONY: a b a: x1 .WAIT x2 b: x2 .WAIT x3 x1 x2 x3:

Re: Improvement on parallel make

2006-12-11 Thread Philip Guenther
On 12/11/06, Alexey Neyman <[EMAIL PROTECTED]> wrote: ... 3. BSD make associates the .WAIT semantics with a target, not with a dependency. To clarify, are you saying that the .WAIT has no effect unless the target whose dependency list it appears in is *somewhere* in the dependency tree of the t

Re: Improvement on parallel make

2006-12-11 Thread Alexey Neyman
Cristophe, On Monday 11 December 2006 15:50, Christophe LYON wrote: > I don't think so: > x2 will wait for x1 to complete, and x3 will wait for x2. I applied it and tried it out: [EMAIL PROTECTED]:~/work/make> cat mak .PHONY: a b a: x1 .WAIT x2 b: x2 .WAIT x3 x1 x2 x3: @echo start $@; sl

Re: Improvement on parallel make

2006-12-11 Thread Christophe LYON
Alexey, 1. This patch is subject to the same deficiencies as I mentioned at http://lists.gnu.org/archive/html/help-make/2006-04/msg00152.html, but in other way: in that example, when one runs "make -j b a", the jobs updating "x1" and "x2" are started in parallel. The rule in makefile, howeve

Re: Improvement on parallel make

2006-12-11 Thread Alexey Neyman
Cristophe, Thanks for continuing the work that I haven't had the time to finish. I have a few comments, though: 1. This patch is subject to the same deficiencies as I mentioned at http://lists.gnu.org/archive/html/help-make/2006-04/msg00152.html, but in other way: in that example, when one run