On Sat, Sep 24, 2005 at 06:44:57PM +0200, Rafael Garcia-Suarez wrote: > On 9/24/05, Nicholas Clark <[EMAIL PROTECTED]> wrote: > > I also observe that sometimes when I edit files and rebuild, later files > > needlessly get rebuilt, probably because make thinks something is out of > > date, something that never gets updated, probably because it's not being > > I don't get your reasoning here...
Sorry, yes, I failed to explain properly. IIRC the following happens: I edit (say) sv.c I run make make reasons that a lot of things are out of date. Specifically, 1: all the Unicode tables are out of date with respect to lib/Config.pm 2: because that in turn is out of date w.r.t. miniperl 3: because that is out of date w.r.t. sv.o 4: because that is out of date w.r.t. sv.c So the make reruns the build steps for 4,3,2,1 Only mv-if-diff kicks in, and lib/Config.pm isn't changed (make never checks if a step actually changes the timestamp on a file) So if I re-run make, make sees that lib/Config.pm is *still* out of date w.r.t. miniperl, so (correctly) figures that steps 2 and 1 need re-running. I stop the insanity with touch lib/Config.pm; make and make re-runs the Unicode tables generation one last time, and then all is happy. Hence why I think that mv-if-diff is counterproductive. Nicholas Clark