>>> "Paul D. Smith" <[EMAIL PROTECTED]> 28.12.05 04:16 >>>
%% "Jan Beulich" <[EMAIL PROTECTED]> writes:
>
>  jb> In a makefile like presented in the first response to this
issue,
>  jb> it is claimed that it is appropriate for $? to be empty.
However,
>  jb> I would assume that if $? is empty and if the target exists,
then
>  jb> there is no need to remake the target. Or, to say it the other
way
>  jb> around, if an existing target is remade it should be safe to
>  jb> assume $? is non-empty.
>
>  jb> Further, the documentation says in 'Rules without Commands or
>  jb> Prerequisites': 'If a rule has no prerequisites or commands,
and
>  jb> the target of the rule is a nonexistent file, then make
imagines
>  jb> this target to have been updated whenever its rule is run. This
>  jb> implies that all targets depending on this one will always have
>  jb> their commands run.'  This, to me, also implies that
dependencies
>  jb> like the commonly used FORCE target should be visible in $?.
>
>Sorry, Jan, but I don't understand your comments here and how they
>relate to either bug #8154 (other than that they are both about $?)
or
>the FORCE stuff you mention.  That bug talks about updating archives
>where there is no command to update them; you appear to be talking
about
>something completely different here.
>
>Most of the time an example is worth a few hundred words, at least:
can
>you please provide a simple couple of lines of makefile to reproduce
the
>situation you are seeing, show the output make gives, and explain
>exactly why you feel this is incorrect?  We can move on from there.

That's why I referred to the first response to bug #8154, which 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?

The difference to the mentioned example is the missing 'touch foo'
prior to running make. Depending on whether foo exists, $? will or will
not be empty; its commands, however, will always be run (as expected).
My point is that if a target's commands get run, should it be obvious
that then $? cannot be empty?

Thanks again, Jan


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to