On Wed, Oct 4, 2017 at 6:26 AM, Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> wrote: > --- > Makefile | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/Makefile b/Makefile > index f6c577c02143..50e7b99b6107 100644 > --- a/Makefile > +++ b/Makefile > @@ -62,8 +62,8 @@ INST_MAN1=sparse.1 cgcc.1 > ifeq ($(HAVE_LIBXML),yes) > PROGRAMS+=c2xml > INST_PROGRAMS+=c2xml > -c2xml_EXTRA_OBJS = `$(PKG_CONFIG) --libs libxml-2.0` > -LIBXML_CFLAGS := $(shell $(PKG_CONFIG) --cflags libxml-2.0) > +c2xml: LOADLIBES += $(shell $(PKG_CONFIG) --libs libxml-2.0) > +c2xml: CFLAGS += $(shell $(PKG_CONFIG) --cflags libxml-2.0) This is by design. The problem with target specific variable is that, you can't easily access it out side of the target specific scope. For example in the debug target branch, it go through a loop to process all objects, including the extra objects. You can't do that if you use target specific variables. $(foreach @F,$(PROGRAMS),$(eval $(@F): $(EXTRA_OBJS) $(LIBS))) -$(foreach @F,$(PROGRAMS),$(eval debug/$(@F): $(addprefix debug/, $(EXTRA_OBJS)) $(DBG_LIBS))) +$(foreach @F,$(PROGRAMS),$(eval dbgbuild/$(@F): $(addprefix dbgbuild/, $(EXTRA_OBJS)) $(DBG_LIBS))) Chris -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html