Commit cec7d0b6e187f57d67f8624794ec3f15d76953f4

Authored by pbrook
1 parent 093f8f06

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
Showing 2 changed files with 16 additions and 4 deletions
Makefile
@@ -26,10 +26,15 @@ LIBS+=$(AIOLIBS) @@ -26,10 +26,15 @@ LIBS+=$(AIOLIBS)
26 26
27 all: $(TOOLS) $(DOCS) recurse-all 27 all: $(TOOLS) $(DOCS) recurse-all
28 28
29 -subdir-%: dyngen$(EXESUF) libqemu_common.a 29 +SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
  30 +
  31 +subdir-%: dyngen$(EXESUF)
30 $(MAKE) -C $(subst subdir-,,$@) all 32 $(MAKE) -C $(subst subdir-,,$@) all
31 33
32 -recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS)) 34 +$(filter %-softmmu,$(SUBDIR_RULES)): libqemu_common.a
  35 +$(filter %-user,$(SUBDIR_RULES)): libqemu_user.a
  36 +
  37 +recurse-all: $(SUBDIR_RULES)
33 38
34 ####################################################################### 39 #######################################################################
35 # BLOCK_OBJS is code used by both qemu system emulation and qemu-img 40 # BLOCK_OBJS is code used by both qemu system emulation and qemu-img
@@ -141,6 +146,14 @@ libqemu_common.a: $(OBJS) @@ -141,6 +146,14 @@ libqemu_common.a: $(OBJS)
141 rm -f $@ 146 rm -f $@
142 $(AR) rcs $@ $(OBJS) 147 $(AR) rcs $@ $(OBJS)
143 148
  149 +#######################################################################
  150 +# USER_OBJS is code used by qemu userspace emulation
  151 +USER_OBJS=cutils.o
  152 +
  153 +libqemu_user.a: $(USER_OBJS)
  154 + rm -f $@
  155 + $(AR) rcs $@ $(USER_OBJS)
  156 +
144 QEMU_IMG_BLOCK_OBJS = $(BLOCK_OBJS) 157 QEMU_IMG_BLOCK_OBJS = $(BLOCK_OBJS)
145 ifdef CONFIG_WIN32 158 ifdef CONFIG_WIN32
146 QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-win32.o 159 QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-win32.o
Makefile.target
@@ -414,14 +414,13 @@ OBJS+=gdbstub.o @@ -414,14 +414,13 @@ OBJS+=gdbstub.o
414 endif 414 endif
415 415
416 OBJS+= libqemu.a 416 OBJS+= libqemu.a
417 -OBJS+= ../libqemu_common.a  
418 417
419 # Note: this is a workaround. The real fix is to avoid compiling 418 # Note: this is a workaround. The real fix is to avoid compiling
420 # cpu_signal_handler() in cpu-exec.c. 419 # cpu_signal_handler() in cpu-exec.c.
421 signal.o: signal.c 420 signal.o: signal.c
422 $(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< 421 $(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
423 422
424 -$(QEMU_PROG): $(OBJS) 423 +$(QEMU_PROG): $(OBJS) ../libqemu_user.a
425 $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) 424 $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
426 ifeq ($(ARCH),alpha) 425 ifeq ($(ARCH),alpha)
427 # Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of 426 # Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of