On 16 November 2010 18:58, Anthony Liguori <anth...@codemonkey.ws> wrote:
> On 11/16/2010 12:54 PM, Peter Maydell wrote:
>> If I add a ".PHONY: trace" or change the "trace" target
>> name to "tracexyzzy" then this fixes the problem.
>
> Curious, care to send a patch?  I think I'm not seeing this because I build
> with srcdir != objdir.

Ah, yes, if I build in a different directory to the sources I can build
without having to patch the makefiles. (That feature of configure
doesn't seem to be documented anywhere, unless I've missed
something.)

Anyway, patch sent. I opted to tidy up the makefile a little to avoid
either an ugly target name or a GNU-makeism. I fiddled configure
so I could test the CONFIG_SYSTEMTAP_TRACE bit despite
not having systemtap on this machine, but it would be good if
a real systemtap user could check it.

A couple of oddities I noticed along the way:

(1) How do you get configure to enable CONFIG_SYSTEMTAP_TRACE?
The condition is:
if test "$trace_backend" = "dtrace" -a "$trace_backend_stap" = "yes" ; then
  echo "CONFIG_SYSTEMTAP_TRACE=y" >> $config_host_mak
fi
but trace_backend_stap is only set inside code guarded by
if test "$trace_backend" = "ust"
...
so as far as I can tell the two halves of the -a will never
both be true.

(2) in Makefile.target, the blank line after the all: line:
> all: $(PROGS) $(STPFILES)
>
> # Dummy command so that make thinks it has done something
>         @true

is I think a bit misleading although it is valid makefile syntax.
I suspect it got added by accident.

-- PMM

Reply via email to