[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ast-users
Subject:    Re: [ast-users] nmake :MAKE: assertion and dependency checking
From:       Alexander Thorp <at-d15ef4fa () similaun ! numerique ! de>
Date:       2010-11-16 7:46:08
Message-ID: Pine.LNX.4.64.1011160844070.22441 () similaun ! numerique ! de
[Download RAW message or body]

Hello Glenn,

OK, many thanks. I'll look forward to that.

Alexander

On Mon, 15 Nov 2010, Glenn Fowler wrote:

> 
> 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
> > > > ast-users@research.att.com
> > > > https://mailman.research.att.com/mailman/listinfo/ast-users
> > > 
> > _______________________________________________
> > ast-users mailing list
> > ast-users@research.att.com
> > https://mailman.research.att.com/mailman/listinfo/ast-users
> 
_______________________________________________
ast-users mailing list
ast-users@research.att.com
https://mailman.research.att.com/mailman/listinfo/ast-users
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic