Compile some user files only once for all targets
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
a4b18c6ddb
commit
add16157d7
9
Makefile
9
Makefile
@ -40,6 +40,11 @@ subdir-%:
|
||||
|
||||
$(filter %-softmmu,$(SUBDIR_RULES)): libqemu_common.a
|
||||
|
||||
$(filter %-user,$(SUBDIR_RULES)): libuser.a
|
||||
|
||||
libuser.a:
|
||||
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libuser V="$(V)" TARGET_DIR="$*/" all,)
|
||||
|
||||
ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
|
||||
romsubdir-%:
|
||||
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pc-bios/$* V="$(V)" TARGET_DIR="$*/",)
|
||||
@ -185,14 +190,14 @@ clean:
|
||||
rm -f slirp/*.o slirp/*.d audio/*.o audio/*.d block/*.o block/*.d
|
||||
rm -f qemu-img-cmds.h
|
||||
$(MAKE) -C tests clean
|
||||
for d in $(ALL_SUBDIRS) libhw32 libhw64; do \
|
||||
for d in $(ALL_SUBDIRS) libhw32 libhw64 libuser; do \
|
||||
$(MAKE) -C $$d $@ || exit 1 ; \
|
||||
done
|
||||
|
||||
distclean: clean
|
||||
rm -f config-host.mak config-host.h config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi
|
||||
rm -f qemu-{doc,tech}.{info,aux,cp,dvi,fn,info,ky,log,pg,toc,tp,vr}
|
||||
for d in $(TARGET_DIRS) libhw32 libhw64; do \
|
||||
for d in $(TARGET_DIRS) libhw32 libhw64 libuser; do \
|
||||
rm -rf $$d || exit 1 ; \
|
||||
done
|
||||
|
||||
|
@ -82,7 +82,6 @@ VPATH+=:$(SRC_PATH)/linux-user:$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR)
|
||||
QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR)
|
||||
obj-y = main.o syscall.o strace.o mmap.o signal.o thunk.o \
|
||||
elfload.o linuxload.o uaccess.o gdbstub.o gdbstub-xml.o
|
||||
obj-y += envlist.o path.o
|
||||
|
||||
obj-$(TARGET_HAS_BFLT) += flatload.o
|
||||
obj-$(TARGET_HAS_ELFLOAD32) += elfload32.o
|
||||
@ -98,7 +97,8 @@ obj-arm-y += arm-semi.o
|
||||
|
||||
obj-m68k-y += m68k-sim.o m68k-semi.o
|
||||
|
||||
ARLIBS=libqemu.a
|
||||
ARLIBS=../libuser/libuser.a libqemu.a
|
||||
|
||||
endif #CONFIG_LINUX_USER
|
||||
|
||||
#########################################################
|
||||
@ -116,11 +116,10 @@ LIBS+=-lmx
|
||||
|
||||
obj-y = main.o commpage.o machload.o mmap.o signal.o syscall.o thunk.o \
|
||||
gdbstub.o gdbstub-xml.o
|
||||
obj-y += envlist.o path.o
|
||||
|
||||
obj-i386-y += ioport-user.o
|
||||
|
||||
ARLIBS=libqemu.a
|
||||
ARLIBS=../libuser/libuser.a libqemu.a
|
||||
|
||||
endif #CONFIG_DARWIN_USER
|
||||
|
||||
@ -134,24 +133,13 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user -I$(SRC_PATH)/bsd-user/$(TARGET_ARCH)
|
||||
|
||||
obj-y = main.o bsdload.o elfload.o mmap.o signal.o strace.o syscall.o \
|
||||
gdbstub.o gdbstub-xml.o uaccess.o
|
||||
obj-y += envlist.o path.o
|
||||
|
||||
obj-i386-y += ioport-user.o
|
||||
|
||||
ARLIBS=libqemu.a
|
||||
ARLIBS=../libuser/libuser.a libqemu.a
|
||||
|
||||
endif #CONFIG_BSD_USER
|
||||
|
||||
ifdef CONFIG_USER_ONLY
|
||||
# hack to compile with -fpie for *-user targets
|
||||
obj-y += tcg-runtime-user.o host-utils-user.o
|
||||
obj-y += cutils-user.o cache-utils-user.o
|
||||
tcg-runtime-user.c host-utils-user.c cutils-user.c cache-utils-user.c:
|
||||
@echo " LN $(TARGET_DIR)$@"
|
||||
@ln -s $(SRC_PATH)/$(@:%-user.c=%.c) $@
|
||||
endif
|
||||
|
||||
|
||||
#########################################################
|
||||
# System emulator target
|
||||
ifdef CONFIG_SOFTMMU
|
||||
|
27
Makefile.user
Normal file
27
Makefile.user
Normal file
@ -0,0 +1,27 @@
|
||||
# Makefile for qemu target independent user files.
|
||||
|
||||
include ../config-host.mak
|
||||
include $(SRC_PATH)/rules.mak
|
||||
|
||||
.PHONY: all
|
||||
|
||||
VPATH=$(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
|
||||
|
||||
all: libuser.a
|
||||
# Dummy command so that make thinks it has done something
|
||||
@true
|
||||
|
||||
libuser.a: $(obj-y)
|
||||
|
||||
clean:
|
||||
rm -f *.o *.d *.a *~
|
||||
|
||||
# Include automatically generated dependency files
|
||||
-include $(wildcard *.d */*.d)
|
Loading…
Reference in New Issue
Block a user