[Top][All Lists]

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

Re: 'How makefiles are remade'

From: Jim
Subject: Re: 'How makefiles are remade'
Date: Tue, 20 Apr 2004 23:03:17 -0700
User-agent: Mozilla Thunderbird 0.5 (Windows/20040207)

Jim wrote:

Noel Yap wrote:

That would be fine, if that even worked, that would probalby solve about 90% of the problems just by cleverly odering the includes... but, as I started, the first attached makefile fails, and it includes 'ticks' which if Makefile or one of the other touchable things changes, remakes ticks, which should cause a reload with the current, updated value. Then x is included, and again, x needs to be updated, which will cause x to be regenerated with the current value of ticks, which in turn should do the same for y....

but this is not what happens, and what you're really saying is that only the LAST included file can be re-loaded, since ALL includes are read before their dependancies are even checked.

And THAT is not at all what the documentation indicates, it says -

" if any have actually been changed, make starts with a clean slate and reads all the makefiles over agai"

if ANY changed, clean all, and reload all again...

Even failing that it doesn't work... I can add at the end of a made target...

$(makefile): $(dependancies)
        echo do some stuff
        exec $(MAKE)

after doing stuff to make the makefile portion, exec make, however, even under a linux system this doesn't work, because it's still launched as a shell process /bin/sh -c exec ... no big deal, but it's not an exec over the initial make, and there's no way that method would work for windows.

/bin/false very *nix dependant, and it works, but it's causes all parent makes to also abort with error. (an interesting note though, they do return the wrong error, the first is error 1 from false, the rest are error 2 (file not found) from the makefile having not been found in the first place... (really that's entirely an assumption of why it would change)

exit hmm... /bin/sh -c exit; and so the spawned shell exits.

Is there any way to cause make to exit without error?


Bug-make mailing list

reply via email to

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