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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Blue Swirl
						Blue Swirl