summaryrefslogtreecommitdiff
path: root/rules.mak
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@opensolaris.org>2010-01-06 20:24:05 +0100
committerBlue Swirl <blauwirbel@gmail.com>2010-01-07 18:08:53 +0000
commit0e8c9214ba1d4128cf92442cd343bc3733478261 (patch)
tree8995d2c08ca05c52b7c128c8f397330a52ca6584 /rules.mak
parent18cb1d85578e03b16570d9380309cca673f9fff8 (diff)
downloadqemu-0e8c9214ba1d4128cf92442cd343bc3733478261.tar.gz
qemu-0e8c9214ba1d4128cf92442cd343bc3733478261.tar.bz2
qemu-0e8c9214ba1d4128cf92442cd343bc3733478261.zip
Drop --whole-archive and static libraries
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 <afaerber@opensolaris.org> Cc: Blue Swirl <blauwirbel@gmail.com> Cc: Palle Lyckegaard <palle@lyckegaard.dk> Cc: Ben Taylor <bentaylor.solx86@gmail.com> Cc: Juan Quintela <quintela@trasno.org> Cc: Kirill A. Shutemov <kirill@shutemov.name> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'rules.mak')
-rw-r--r--rules.mak4
1 files changed, 2 insertions, 2 deletions
diff --git a/rules.mak b/rules.mak
index 5d9f684c24..9bcf9af95f 100644
--- a/rules.mak
+++ b/rules.mak
@@ -14,7 +14,7 @@ MAKEFLAGS += -rR
# Flags for dependency generation
QEMU_DGFLAGS += -MMD -MP -MT $@
-%.o: %.c $(GENERATED_HEADERS)
+%.o: %.c
$(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@")
%.o: %.S
@@ -23,7 +23,7 @@ QEMU_DGFLAGS += -MMD -MP -MT $@
%.o: %.m
$(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," OBJC $(TARGET_DIR)$@")
-LINK = $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $(1) $(ARLIBS_BEGIN) $(ARLIBS) $(ARLIBS_END) $(LIBS)," LINK $(TARGET_DIR)$@")
+LINK = $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $(1) $(LIBS)," LINK $(TARGET_DIR)$@")
%$(EXESUF): %.o
$(call LINK,$^)