diff options
-rw-r--r-- | Makefile.objs | 2 | ||||
-rw-r--r-- | Makefile.target | 47 |
2 files changed, 24 insertions, 25 deletions
diff --git a/Makefile.objs b/Makefile.objs index 1daa92c96b..e06db126c2 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -468,3 +468,5 @@ vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS) QEMU_CFLAGS+=$(GLIB_CFLAGS) +nested-vars += # ... +dummy := $(call unnest-vars) diff --git a/Makefile.target b/Makefile.target index 655908e173..f1d5fe2566 100644 --- a/Makefile.target +++ b/Makefile.target @@ -21,8 +21,6 @@ QEMU_CFLAGS += -I../linux-headers endif QEMU_CFLAGS += -I.. -I$(TARGET_PATH) -DNEED_CPU_H -include $(SRC_PATH)/Makefile.objs - QEMU_CFLAGS+=-I$(SRC_PATH)/include ifdef CONFIG_USER_ONLY @@ -107,10 +105,6 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user obj-y += linux-user/ obj-y += gdbstub.o thunk.o user-exec.o $(oslib-obj-y) -obj-y += $(addprefix ../, $(universal-obj-y)) -obj-y += $(addprefix ../libuser/, $(user-obj-y)) -obj-y += $(addprefix ../libdis-user/, $(libdis-y)) - endif #CONFIG_LINUX_USER ######################################################### @@ -123,10 +117,6 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user -I$(SRC_PATH)/bsd-user/$(TARGET_ARCH) obj-y += bsd-user/ obj-y += gdbstub.o user-exec.o -obj-y += $(addprefix ../, $(universal-obj-y)) -obj-y += $(addprefix ../libuser/, $(user-obj-y)) -obj-y += $(addprefix ../libdis-user/, $(libdis-y)) - endif #CONFIG_BSD_USER ######################################################### @@ -191,33 +181,40 @@ main.o: QEMU_CFLAGS+=$(GPROF_CFLAGS) GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h -obj-y += $(addprefix ../, $(universal-obj-y)) -obj-y += $(addprefix ../, $(common-obj-y)) -obj-y += $(addprefix ../libdis/, $(libdis-y)) -obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y)) -obj-y += $(addprefix ../, $(trace-obj-y)) - endif # CONFIG_SOFTMMU -ifndef CONFIG_LINUX_USER -ifndef CONFIG_BSD_USER +nested-vars += obj-y + +# This resolves all nested paths, so it must come last +include $(SRC_PATH)/Makefile.objs + +all-obj-y = $(obj-y) +all-obj-y += $(addprefix ../, $(universal-obj-y)) + +ifdef CONFIG_SOFTMMU + +all-obj-y += $(addprefix ../, $(common-obj-y)) +all-obj-y += $(addprefix ../libdis/, $(libdis-y)) +all-obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y)) +all-obj-y += $(addprefix ../, $(trace-obj-y)) + # libcacard needs qemu-thread support, and besides is only needed by devices # so not requires with linux-user / bsd-user targets -obj-$(CONFIG_SMARTCARD_NSS) += $(addprefix ../libcacard/, $(libcacard-y)) -endif # CONFIG_BSD_USER -endif # CONFIG_LINUX_USER +all-obj-$(CONFIG_SMARTCARD_NSS) += $(addprefix ../libcacard/, $(libcacard-y)) -nested-vars = obj-y -dummy := $(call unnest-vars) +else +all-obj-y += $(addprefix ../libuser/, $(user-obj-y)) +all-obj-y += $(addprefix ../libdis-user/, $(libdis-y)) +endif #CONFIG_LINUX_USER ifdef QEMU_PROGW # The linker builds a windows executable. Make also a console executable. -$(QEMU_PROGW): $(obj-y) +$(QEMU_PROGW): $(all-obj-y) $(call LINK,$^) $(QEMU_PROG): $(QEMU_PROGW) $(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW) $(QEMU_PROG)," GEN $(TARGET_DIR)$(QEMU_PROG)") else -$(QEMU_PROG): $(obj-y) +$(QEMU_PROG): $(all-obj-y) $(call LINK,$^) endif |