From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54403) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UtfKR-0001XW-I6 for qemu-devel@nongnu.org; Mon, 01 Jul 2013 10:43:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UtfKQ-00072e-1V for qemu-devel@nongnu.org; Mon, 01 Jul 2013 10:43:43 -0400 Received: from isrv.corpit.ru ([86.62.121.231]:50196) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UtfKP-00072Z-Pj for qemu-devel@nongnu.org; Mon, 01 Jul 2013 10:43:41 -0400 Message-ID: <51D1959B.50803@msgid.tls.msk.ru> Date: Mon, 01 Jul 2013 18:43:39 +0400 From: Michael Tokarev MIME-Version: 1.0 References: <1371576844-28743-1-git-send-email-mjt@msgid.tls.msk.ru> <51D04EA6.6020806@suse.de> <51D05090.40304@msgid.tls.msk.ru> <51D18681.6050805@redhat.com> In-Reply-To: <51D18681.6050805@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH 0/4] per-object libraries List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: =?ISO-8859-15?Q?Andreas_F=E4rber?= , qemu-devel@nongnu.org 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? Thanks, /mjt