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

Reply via email to