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
