[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 1/8] make.rule: fix $(obj) to a real relative
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH v6 1/8] make.rule: fix $(obj) to a real relative path |
Date: |
Thu, 12 Sep 2013 10:22:53 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, 09/11 15:59, Daniel P. Berrange wrote:
> On Wed, Sep 11, 2013 at 09:34:01PM +0800, Fam Zheng wrote:
> > Makefile.target includes rule.mak and unnested common-obj-y, then prefix
> > them with '../', this will ignore object specific QEMU_CFLAGS in subdir
> > Makefile.objs:
> >
> > $(obj)/curl.o: QEMU_CFLAGS += $(CURL_CFLAGS)
> >
> > Because $(obj) here is './block', instead of '../block'. This doesn't
> > hurt compiling because we basically build all .o from top Makefile,
> > before entering Makefile.target, but it will affact arriving per-object
> > libs support.
> >
> > The starting point of $(obj) is passed in as argument of unnest-vars, as
> > well as nested variables, so that different Makefiles can pass in a
> > right value.
> >
> > Signed-off-by: Fam Zheng <address@hidden>
> > ---
> > Makefile | 16 +++++++++++++++-
> > Makefile.objs | 16 +---------------
> > Makefile.target | 17 +++++++++++++----
> > configure | 1 +
> > rules.mak | 16 +++++++++++-----
> > 5 files changed, 41 insertions(+), 25 deletions(-)
>
> This change appears to break the build of libcacard.so when I tried
> the following sequence with current git master
>
> $ git clean -f -x -d
> $ ./configure --prefix=$HOME/usr/qemu-git --target-list=x86_64-softmmu
> $ make -j 20
> ....
> lt LINK vscclient
> ./.libs/libcacard.so: undefined reference to `monitor_fdset_get_fd'
> ./.libs/libcacard.so: undefined reference to `monitor_fdset_dup_fd_add'
> ./.libs/libcacard.so: undefined reference to `monitor_fdset_dup_fd_remove'
> ./.libs/libcacard.so: undefined reference to `monitor_fdset_dup_fd_find'
> collect2: error: ld returned 1 exit status
>
> I'm also seeing make report circular deps
>
> make: Circular stubs/ <- stubs/ dependency dropped.
> make: Circular trace/ <- stubs/ dependency dropped.
> make: Circular trace/ <- trace/ dependency dropped.
>
>
I fixed it, the order of including libcacard/Makefile and unnest-vars in top
Makefile is reversed. A Good catch, thanks.
Thanks.
[Qemu-devel] [PATCH v6 3/8] Makefile: introduce common-obj-m and block-obj-m for DSO, Fam Zheng, 2013/09/11