qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH 0/4] per-object libraries


From: Andreas Färber
Subject: Re: [Qemu-devel] [RFC PATCH 0/4] per-object libraries
Date: Mon, 01 Jul 2013 16:46:39 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6

Am 01.07.2013 16:43, schrieb Michael Tokarev:
> 01.07.2013 17:39, Paolo Bonzini wrote:
>> What used to be there was something like
>>
>>    net-obj-y = foo.o bar.o
>>    common-obj-y += $(addprefix net/, $(net-obj-y))
>>
>> and this has been replaced by net/Makefile.objs and friends.
> 
> Maybe we should just list them all in a single makefile after all,
> with proper paths
> 
>    common-obj-y += net/foo.o net/bar.o block/baz.o
> 
> and be done with it, without the need to put them in
> different makefiles and without re-merging them back
> in a non-trivial way during make invocation?  It isn't
> much typing really, and it is rather obvious this way
> and easy to deal with.
> 
> And for every program we build,
> 
>  $(PROGRAM)-obj = program.o $(foo-objs-y) $(bar-objs-y)
> 
> etc.
> 
> Why do we re-merge them back making things shorter to
> write (without paths), non-obvious and half-working?
> (by "half" i mean that some variables gets prefixed
> while some arent).
> 
> Something similar for a (softmmu|user) target too, with
> maybe even all target variations listed in a single
> top-level makefile.
> 
>> This should not be undone, but it is completely different from what you
>> are trying to do.  You need a much more fine-grained assignment of
>> libraries to object files.
>>
>> I think the build system parts are hard because we haven't found the
>> right design.
> 
> What's wrong with a single makefile for everything, except
> of the need to use full pathnames from the top-level source
> dir?

In short the problem we ran into was missing *.d inclusions.
This got fixed by automatically expanding net/ to -include
net/Makefile.objs and -include net/*.d or so.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]