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