your example did expose a bug and it was fixed but after running a few more tests with the fix your example still fails I'll announce when the fix for your problem is posted thanks
On Mon, 15 Nov 2010 16:27:20 +0100 (CET) Alexander Thorp wrote: > Hello Glenn, > Where did you post the update? > Alexander > On Fri, 12 Nov 2010, Glenn Fowler wrote: > > > > I set up a small example and it exposed a long dormant bug > > I'll post a beta update today > > see if your example works with the new release > > > > On Fri, 5 Nov 2010 14:14:08 +0100 (CET) Alexander Thorp wrote: > > > Hello, > > > > > I don't understand why dependency checking works the way it does when > > > one of the dependencies of a target is built via a :MAKE: assertion. I > > > have included an example which shows the problem. > > > > > If the dependency (in this case src/hello.o) already exists at the time > > > the top level nmake is run, then the time stamp of the target (in this > > > case hello) is compared to that of the dependency prior to the :MAKE:, > > > not after it. The result is, if src/hello.o is out of date and needs > > > to be rebuilt, it is rebuilt, but hello is _not_ rebuilt on this nmake > > > run. On the next nmake run, src/hello.o is now newer than hello at the > > > start of the run, and so hello is rebuilt. > > > > > Here is the top level Makefile: > > > > > $ cat Nmakefile > > > /* Nmakefile > > > * > > > * Why does hello only get updated on a subsequent nmake run if > > > src/hello.o > > > * gets updated on this run? > > > */ > > > > > hello : src/hello.o > > > $(CC) -o $(<) $(>) > > > > > src/hello.o :MAKE: src > > > > > And here is the subdirectory Makefile: > > > > > $ cat src/Nmakefile > > > /* src/Nmakefile > > > */ > > > > > hello.o : > > > > > Here is what happens when a change to src/hello.c causes src/hello.o > > > to be out of date. hello is not rebuilt following the rebuilding of > > > src/hello.o, but only on the following nmake run: > > > > > $ nmake > > > src: > > > $ touch src/hello.c > > > $ nmake > > > src: > > > + cc -O -I- -c hello.c > > > $ nmake > > > src: > > > + cc -o hello src/hello.o > > > > > Is there a way to cause nmake to evaluate whether hello needs to be > > > rebuilt _after_ having rebuilt src/hello.o? Or am I coming at this > > > problem from the wrong direction? > > > > > Alexander > > > _______________________________________________ > > > ast-users mailing list > > > [email protected] > > > https://mailman.research.att.com/mailman/listinfo/ast-users > > > _______________________________________________ > ast-users mailing list > [email protected] > https://mailman.research.att.com/mailman/listinfo/ast-users _______________________________________________ ast-users mailing list [email protected] https://mailman.research.att.com/mailman/listinfo/ast-users
