On 15 January 2014 08:48, Fam Zheng <f...@redhat.com> wrote: > Adds extract-libs in LINK to expand any "per object libs", the syntax to > define > such a libs options is like: > > foo.o-libs := $(CURL_LIBS) > > in block/Makefile.objs. > > Similarly, > > foo.o-cflags := $(FOO_CFLAGS) > > is also supported. > > "foo.o" must be listed in a nested var (e.g. common-obj-y) to make the > option variables effective. > > Signed-off-by: Fam Zheng <f...@redhat.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > rules.mak | 19 ++++++++++++++++--- > 1 file changed, 16 insertions(+), 3 deletions(-) > > diff --git a/rules.mak b/rules.mak > index 7d27602..9398268 100644 > --- a/rules.mak > +++ b/rules.mak > @@ -21,15 +21,17 @@ QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d > # Same as -I$(SRC_PATH) -I., but for the nested source/object directories > QEMU_INCLUDES += -I$(<D) -I$(@D) > > +extract-libs = $(strip $(foreach o,$1,$($o-libs))) > + > %.o: %.c > - $(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) > $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@") > + $(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) > $(QEMU_DGFLAGS) $(CFLAGS) $($@-cflags) -c -o $@ $<," CC $(TARGET_DIR)$@")
Shouldn't this change also be made in the rules for compiling .cpp and .m files (which also use CFLAGS and could benefit from per-object flags) ? (For instance it would be nice if I could compile the libvixl C++ sources with a different set of flags.) thanks -- PMM