aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-28 16:44:57 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-28 16:44:57 +0000
commitcec7d0b6e187f57d67f8624794ec3f15d76953f4 (patch)
tree0ab7d12defb7280d7ff2373badd1dc1fb4608181
parent093f8f06323206697afe29b8def82883182d6480 (diff)
Don't link usermode emulation against libqemu_common.a
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4607 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--Makefile17
-rw-r--r--Makefile.target3
2 files changed, 16 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 7424943674..d227f911b0 100644
--- a/Makefile
+++ b/Makefile
@@ -26,10 +26,15 @@ LIBS+=$(AIOLIBS)
all: $(TOOLS) $(DOCS) recurse-all
-subdir-%: dyngen$(EXESUF) libqemu_common.a
+SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
+
+subdir-%: dyngen$(EXESUF)
$(MAKE) -C $(subst subdir-,,$@) all
-recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS))
+$(filter %-softmmu,$(SUBDIR_RULES)): libqemu_common.a
+$(filter %-user,$(SUBDIR_RULES)): libqemu_user.a
+
+recurse-all: $(SUBDIR_RULES)
#######################################################################
# BLOCK_OBJS is code used by both qemu system emulation and qemu-img
@@ -141,6 +146,14 @@ libqemu_common.a: $(OBJS)
rm -f $@
$(AR) rcs $@ $(OBJS)
+#######################################################################
+# USER_OBJS is code used by qemu userspace emulation
+USER_OBJS=cutils.o
+
+libqemu_user.a: $(USER_OBJS)
+ rm -f $@
+ $(AR) rcs $@ $(USER_OBJS)
+
QEMU_IMG_BLOCK_OBJS = $(BLOCK_OBJS)
ifdef CONFIG_WIN32
QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-win32.o
diff --git a/Makefile.target b/Makefile.target
index 04c88e4208..de6a7c60fc 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -414,14 +414,13 @@ OBJS+=gdbstub.o
endif
OBJS+= libqemu.a
-OBJS+= ../libqemu_common.a
# Note: this is a workaround. The real fix is to avoid compiling
# cpu_signal_handler() in cpu-exec.c.
signal.o: signal.c
$(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
-$(QEMU_PROG): $(OBJS)
+$(QEMU_PROG): $(OBJS) ../libqemu_user.a
$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
ifeq ($(ARCH),alpha)
# Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of