Stefan Hajnoczi writes: > On Mon, Aug 29, 2011 at 8:27 PM, Michael Roth <mdr...@linux.vnet.ibm.com> > wrote: >> @@ -380,7 +381,6 @@ else >> trace-obj-y = trace.o >> ifeq ($(TRACE_BACKEND),simple) >> trace-obj-y += simpletrace.o >> -user-obj-y += qemu-timer-common.o >> endif >> endif
> Now that we have a concrete patch to look at I think this approach is > problematic. There are several subsystems in QEMU which might be > built outside the main qemu binary for qemu-io, qemu-img, qemu-ga, > etc. [...] > If QEMU is split up into libraries then having an explicit list of > dependencies for each subsystem will be very useful, whereas the > CONFIG_* approach doesn't collect that information in one place. > So I think explicit subsys-obj-y += qemu-timer-common.o together with > $(sort) during the link stage actually allows for a cleaner build > system. I prefer that approach. I couldn't agree more. The only problem I see with '$(sort)' is that it will invariably change the order of object files, which can influence code placement. Whether or not the spatial locality among compilation units is important, I don't know. Although I believe it won't have much of a performance penalty. In any case, I tried to find a straightforward way of filtering-out repeated words in a list with make, but couldn't find any solution other than '$(sort)' or calling an external command with '$(shell)'. Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth