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 <f...@redhat.com> > --- > 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. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|