On Wed, Mar 15, 2017 at 06:44:25AM -0500, Eric Blake wrote: > On 03/15/2017 05:56 AM, Daniel P. Berrange wrote: > > The build rules for trace files have a dependancy on $(tracetool-y). > > This variable populated in the trace/Makefile.objs file and thus its > > definition gets pulled into the top level makefile. This happens too > > late in the process though, so by the time $(tracetool-y) is defined, > > make has already evaluated $(tracetool-y) in the dependancies and > > found it to be empty. The result is that when the tracetool source > > is changed, the generated files are not rebuilt. The solution is to > > define the variable in the top level makefile too > > > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > > --- > > Makefile | 3 +++ > > 1 file changed, 3 insertions(+) > > Does this mean the definitions in trace/Makefile.objs are now redundant > and can be omitted?
Hmm, I'm not sure, but quite possibly true. > > > > > diff --git a/Makefile b/Makefile > > index 1c4c04f..dffc74b 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -85,6 +85,9 @@ GENERATED_SOURCES += $(TRACE_SOURCES) > > > > trace-group-name = $(shell dirname $1 | sed -e 's/[^a-zA-Z0-9]/_/g') > > > > +tracetool-y = $(SRC_PATH)/scripts/tracetool.py > > +tracetool-y += $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py") > > Should this also include the comment currently in trace/Makefile.objs: > > ###################################################################### > # tracetool source files > # Every rule that invokes tracetool must depend on this so code is > regenerated > # if tracetool itself changes. > > But it certainly looks like you're on the right track for fixing the > issue I ran into. IMHO such comments are pointless - they're just stating the obvious. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|