%% Paul Franklin <[EMAIL PROTECTED]> writes: pf> Under certain circumstances, make fails to notice that one or more pf> included makefiles have changed and does not restart and reread pf> makefiles.
This is a complex problem. Here is what happens: First, make tries to rebuild Make.b (it generally tries to rebuild files in the reverse order in which they are seen in the makefile; this is an accident of implementation). It sees that in order to build Make.b it needs to build Make.a, so it does. Then the rule to build Make.b doesn't actually change Make.b (it just prints a line) so make sees that Make.b was not updated, and it won't schedule a re-exec because of that. Then make looks at the next makefile, Make.a, and it sees that it has already tried to build Make.a (as a side-effect of Make.b) so make ignores it. Then it tries to build the main makefile, and there's no rule for that. So, it gets to the end and decides that none of the makefiles was rebuilt, and it doesn't re-exec. The error here is that make should notice Make.a was rebuilt even though it was done as a side-effect of another build. If you changed your rule for Make.b to actually update the file Make.b, or you switched the include lines around so that Make.a was included after Make.b instead of before, or you removed the dependency of Make.b on Make.a, then it would work. -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make