%% "Jan Beulich" <[EMAIL PROTECTED]> writes: jb> That's why I referred to the first response to bug #8154, which jb> doesn't have to do with building archives.
>> Just to be clear, I tried this makefile: >> >> $ cat Makefile >> foo: FORCE ; @echo '$$? = $?' >> FORCE: >> >> $ make >> $? = FORCE >> >> every time, so I don't understand your comment that FORCE should be >> visible in $?, as if it weren't visible there... it IS visible there? jb> The difference to the mentioned example is the missing 'touch foo' jb> prior to running make. Depending on whether foo exists, $? will or jb> will not be empty; its commands, however, will always be run (as jb> expected). My point is that if a target's commands get run, jb> should it be obvious that then $? cannot be empty? You mean, if the target's commands get run AND the target already exists then $? should not be empty; if the target doesn't exist its commands will be invoked even if no prerequisites are updated and $? is empty. Yes, that seems reasonable. The issue appears to be that the "changed" flag on a prerequisite is not set if the prerequisite does not exist, but the target is marked to be rebuilt anyway. The value of $? is populated only with prerequisites where the "changed" flag is set. The question is, is it more appropriate to ensure the "changed" flag is set for non-existent prerequisites, or to make a more detailed check as to whether the prerequisite is nonexistent when populating $?. The former seems more correct offhand but I wonder what other effects it might have. -- ------------------------------------------------------------------------------- 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 Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make