From 0e8c9214ba1d4128cf92442cd343bc3733478261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 6 Jan 2010 20:24:05 +0100 Subject: Drop --whole-archive and static libraries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Juan has contributed a cool Makefile infrastructure that enables us to drop static libraries completely: Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-}, and link those object files directly into the executables. Replace HWLIB by HWDIR, specifying only the directory. Drop --whole-archive and ARLIBS in Makefiles and configure. Drop GENERATED_HEADERS dependency in rules.mak, since this rebuilds all common objects after generating a target-specific header; add dependency rules to Makefile and Makefile.target instead. v2: - Don't try to include /config.mak for user emulators - Changes to user object paths ("Quickfix for libuser.a drop") were obsoleted by "user_only: compile everything with -fpie" (Kirill A. Shutemov) v3: - Fix dependency modelling for tools - Remove comment on GENERATED_HEADERS obsoleted by this patch Signed-off-by: Andreas Färber Cc: Blue Swirl Cc: Palle Lyckegaard Cc: Ben Taylor Cc: Juan Quintela Cc: Kirill A. Shutemov Cc: Paolo Bonzini Signed-off-by: Blue Swirl --- Makefile.user | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'Makefile.user') diff --git a/Makefile.user b/Makefile.user index 7daedeff6..c6ac50940 100644 --- a/Makefile.user +++ b/Makefile.user @@ -14,17 +14,12 @@ vpath %.c %.h $(SRC_PATH) QEMU_CFLAGS+=-I.. -obj-y = -obj-y += envlist.o path.o -obj-y += tcg-runtime.o host-utils.o -obj-y += cutils.o cache-utils.o +include $(SRC_PATH)/Makefile.objs -all: libuser.a +all: $(user-obj-y) # Dummy command so that make thinks it has done something @true -libuser.a: $(obj-y) - clean: rm -f *.o *.d *.a *~ -- cgit v1.2.3