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

Reply via email to