[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