* [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use
@ 2012-06-06 6:36 Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 01/25] build: remove trace-nested-y Paolo Bonzini
` (25 more replies)
0 siblings, 26 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Here is v2 of the nested Makefile patches. Thanks all for the enthusiasm!
The main change is that rules can now be put in the per-directory snippets.
This is done for op_helper.o already.
Paolo
v1->v2:
do not call nested files "Makefile" (Andreas)
do not create directories at configure time (Anthony)
allow per-snippet rules, use it for op_helper.o (Blue Swirl)
whitespace fixes (Blue Swirl)
fix Xen (myself)
Paolo Bonzini (25):
build: remove trace-nested-y
build: do not sprinkle around GENERATED_HEADERS dependencies
build: add rules for nesting
build: move *-user/ objects to nested Makefile.objs
build: move obj-TARGET-y variables to nested Makefile.objs
build: move libobj-y variable to nested Makefile.objs
build: move other target-*/ objects to nested Makefile.objs
build: move rules for nesting to Makefile.objs
build: put qom/ rules in a Makefile.objs file
build: move block/ objects to nested Makefile.objs
build: move net/ objects to nested Makefile.objs
build: move fsdev/ objects to nested Makefile.objs
build: move ui/ objects to nested Makefile.objs
build: move audio/ objects to nested Makefile.objs
build: move slirp/ objects to nested Makefile.objs
build: move qapi/ objects to nested Makefile.objs
build: move qga/ objects to nested Makefile.objs
build: move target-independent hw/ objects to nested Makefile.objs
build: convert libhw to nested Makefile.objs
build: move per-target hw/ objects to nested Makefile.objs
build: move device tree to per-target Makefile
build: libcacard Makefile cleanups
build: limit usage of vpath
build: compile oslib-obj-y once
build: do not create directories at configure time
Makefile | 32 ++-
Makefile.hw | 7 +-
Makefile.objs | 317 ++++--------------------
Makefile.target | 333 ++++----------------------
audio/Makefile.objs | 14 ++
block/Makefile.objs | 11 +
bsd-user/Makefile.objs | 2 +
configure | 55 ++---
fsdev/Makefile.objs | 9 +
hw/9pfs/Makefile.objs | 9 +
hw/Makefile.objs | 165 +++++++++++++
hw/alpha/Makefile.objs | 4 +
hw/arm/Makefile.objs | 40 ++++
hw/cris/Makefile.objs | 13 +
hw/i386/Makefile.objs | 13 +
hw/ide/Makefile.objs | 10 +
hw/lm32/Makefile.objs | 23 ++
hw/m68k/Makefile.objs | 4 +
hw/microblaze/Makefile.objs | 14 ++
hw/mips/Makefile.objs | 6 +
hw/ppc/Makefile.objs | 32 +++
hw/s390x/Makefile.objs | 3 +
hw/sh4/Makefile.objs | 5 +
hw/sparc/Makefile.objs | 8 +
hw/sparc64/Makefile.objs | 4 +
hw/usb/Makefile.objs | 13 +
hw/xtensa/Makefile.objs | 5 +
libcacard/Makefile | 17 +-
linux-user/Makefile.objs | 7 +
linux-user/arm/nwfpe/Makefile.objs | 2 +
net/Makefile.objs | 12 +
qapi/Makefile.objs | 3 +
qga/Makefile.objs | 3 +
qom/Makefile | 2 -
qom/Makefile.objs | 4 +
rules.mak | 40 ++++
slirp/Makefile.objs | 3 +
target-alpha/Makefile.objs | 3 +
target-arm/Makefile.objs | 6 +
arm-semi.c => target-arm/arm-semi.c | 0
target-cris/Makefile.objs | 4 +
target-i386/Makefile.objs | 7 +
ioport-user.c => target-i386/ioport-user.c | 0
target-lm32/Makefile.objs | 4 +
target-m68k/Makefile.objs | 5 +
m68k-semi.c => target-m68k/m68k-semi.c | 0
target-microblaze/Makefile.objs | 4 +
target-mips/Makefile.objs | 4 +
target-ppc/Makefile.objs | 6 +
target-s390x/Makefile.objs | 5 +
target-sh4/Makefile.objs | 4 +
target-sparc/Makefile.objs | 8 +
target-unicore32/Makefile.objs | 4 +
target-xtensa/Makefile.objs | 8 +
xtensa-semi.c => target-xtensa/xtensa-semi.c | 0
tests/Makefile | 1 -
ui/Makefile.objs | 18 ++
57 files changed, 701 insertions(+), 634 deletions(-)
create mode 100644 audio/Makefile.objs
create mode 100644 block/Makefile.objs
create mode 100644 bsd-user/Makefile.objs
create mode 100644 fsdev/Makefile.objs
create mode 100644 hw/9pfs/Makefile.objs
create mode 100644 hw/Makefile.objs
create mode 100644 hw/alpha/Makefile.objs
create mode 100644 hw/arm/Makefile.objs
create mode 100644 hw/cris/Makefile.objs
create mode 100644 hw/i386/Makefile.objs
create mode 100644 hw/ide/Makefile.objs
create mode 100644 hw/lm32/Makefile.objs
create mode 100644 hw/m68k/Makefile.objs
create mode 100644 hw/microblaze/Makefile.objs
create mode 100644 hw/mips/Makefile.objs
create mode 100644 hw/ppc/Makefile.objs
create mode 100644 hw/s390x/Makefile.objs
create mode 100644 hw/sh4/Makefile.objs
create mode 100644 hw/sparc/Makefile.objs
create mode 100644 hw/sparc64/Makefile.objs
create mode 100644 hw/usb/Makefile.objs
create mode 100644 hw/xtensa/Makefile.objs
create mode 100644 linux-user/Makefile.objs
create mode 100644 linux-user/arm/nwfpe/Makefile.objs
create mode 100644 net/Makefile.objs
create mode 100644 qapi/Makefile.objs
create mode 100644 qga/Makefile.objs
delete mode 100644 qom/Makefile
create mode 100644 qom/Makefile.objs
create mode 100644 slirp/Makefile.objs
create mode 100644 target-alpha/Makefile.objs
create mode 100644 target-arm/Makefile.objs
rename arm-semi.c => target-arm/arm-semi.c (100%)
create mode 100644 target-cris/Makefile.objs
create mode 100644 target-i386/Makefile.objs
rename ioport-user.c => target-i386/ioport-user.c (100%)
create mode 100644 target-lm32/Makefile.objs
create mode 100644 target-m68k/Makefile.objs
rename m68k-semi.c => target-m68k/m68k-semi.c (100%)
create mode 100644 target-microblaze/Makefile.objs
create mode 100644 target-mips/Makefile.objs
create mode 100644 target-ppc/Makefile.objs
create mode 100644 target-s390x/Makefile.objs
create mode 100644 target-sh4/Makefile.objs
create mode 100644 target-sparc/Makefile.objs
create mode 100644 target-unicore32/Makefile.objs
create mode 100644 target-xtensa/Makefile.objs
rename xtensa-semi.c => target-xtensa/xtensa-semi.c (100%)
create mode 100644 ui/Makefile.objs
--
1.7.10.1
^ permalink raw reply [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 01/25] build: remove trace-nested-y
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 02/25] build: do not sprinkle around GENERATED_HEADERS dependencies Paolo Bonzini
` (24 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs
index 70c5c79..1daa92c 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -425,16 +425,11 @@ ifneq ($(TRACE_BACKEND),dtrace)
trace-obj-y = trace.o
endif
-trace-nested-$(CONFIG_TRACE_DEFAULT) += default.o
-
-trace-nested-$(CONFIG_TRACE_SIMPLE) += simple.o
+trace-obj-$(CONFIG_TRACE_DEFAULT) += trace/default.o
+trace-obj-$(CONFIG_TRACE_SIMPLE) += trace/simple.o
trace-obj-$(CONFIG_TRACE_SIMPLE) += qemu-timer-common.o
-
-trace-nested-$(CONFIG_TRACE_STDERR) += stderr.o
-
-trace-nested-y += control.o
-
-trace-obj-y += $(addprefix trace/, $(trace-nested-y))
+trace-obj-$(CONFIG_TRACE_STDERR) += trace/stderr.o
+trace-obj-y += trace/control.o
$(trace-obj-y): $(GENERATED_HEADERS)
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 02/25] build: do not sprinkle around GENERATED_HEADERS dependencies
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 01/25] build: remove trace-nested-y Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 03/25] build: add rules for nesting Paolo Bonzini
` (23 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Keeping GENERATED_HEADERS dependencies up-to-date everywhere is complex.
We can simply make the Makefile depend on them, and they will be built
before all other targets.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 18 +++++++++---------
Makefile.target | 14 ++++----------
tests/Makefile | 1 -
3 files changed, 13 insertions(+), 20 deletions(-)
diff --git a/Makefile b/Makefile
index 9b7a85e..c0ab97a 100644
--- a/Makefile
+++ b/Makefile
@@ -91,19 +91,18 @@ qemu-options.def: $(SRC_PATH)/qemu-options.hx
SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
-subdir-%: $(GENERATED_HEADERS)
+subdir-%:
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,)
ifneq ($(wildcard config-host.mak),)
include $(SRC_PATH)/Makefile.objs
endif
-$(universal-obj-y) $(common-obj-y): $(GENERATED_HEADERS)
subdir-libcacard: $(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o
$(filter %-softmmu,$(SUBDIR_RULES)): $(universal-obj-y) $(trace-obj-y) $(common-obj-y) subdir-libdis
-$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) $(universal-obj-y) $(trace-obj-y) subdir-libdis-user subdir-libuser
+$(filter %-user,$(SUBDIR_RULES)): $(universal-obj-y) $(trace-obj-y) subdir-libdis-user subdir-libuser
ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
romsubdir-%:
@@ -142,7 +141,7 @@ libcacard.la:
install-libcacard:
@echo "libtool is missing, please install and rerun configure"; exit 1
else
-libcacard.la: $(GENERATED_HEADERS) $(oslib-obj-y) qemu-timer-common.o $(addsuffix .lo, $(basename $(trace-obj-y)))
+libcacard.la: $(oslib-obj-y) qemu-timer-common.o $(addsuffix .lo, $(basename $(trace-obj-y)))
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libcacard V="$(V)" TARGET_DIR="$*/" libcacard.la,)
install-libcacard: libcacard.la
@@ -151,7 +150,6 @@ endif
######################################################################
qemu-img.o: qemu-img-cmds.h
-qemu-img.o qemu-tool.o qemu-nbd.o qemu-io.o cmd.o qemu-ga.o: $(GENERATED_HEADERS)
tools-obj-y = $(oslib-obj-y) $(trace-obj-y) qemu-tool.o qemu-timer.o \
qemu-timer-common.o main-loop.o notify.o iohandler.o cutils.o async.o
@@ -162,7 +160,6 @@ qemu-nbd$(EXESUF): qemu-nbd.o $(tools-obj-y) $(block-obj-y)
qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y)
qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o
-qemu-bridge-helper.o: $(GENERATED_HEADERS)
fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/virtio-9p-marshal.o oslib-posix.o $(trace-obj-y)
fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
@@ -170,7 +167,6 @@ fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx
$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@," GEN $@")
-$(qapi-obj-y): $(GENERATED_HEADERS)
qapi-dir := $(BUILD_DIR)/qapi-generated
qemu-ga$(EXESUF): LIBS = $(LIBS_QGA)
qemu-ga$(EXESUF): QEMU_CFLAGS += -I $(qapi-dir)
@@ -203,8 +199,8 @@ $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py
QGALIB_OBJ=$(addprefix $(qapi-dir)/, qga-qapi-types.o qga-qapi-visit.o qga-qmp-marshal.o)
QGALIB_GEN=$(addprefix $(qapi-dir)/, qga-qapi-types.h qga-qapi-visit.h qga-qmp-commands.h)
-$(QGALIB_OBJ): $(QGALIB_GEN) $(GENERATED_HEADERS)
-$(qga-obj-y) qemu-ga.o: $(QGALIB_GEN) $(GENERATED_HEADERS)
+$(QGALIB_OBJ): $(QGALIB_GEN)
+$(qga-obj-y) qemu-ga.o: $(QGALIB_GEN)
qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(tools-obj-y) $(qapi-obj-y) $(qobject-obj-y) $(version-obj-y) $(QGALIB_OBJ)
@@ -399,5 +395,9 @@ tar:
cd /tmp && tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS --exclude .git --exclude .svn
rm -rf /tmp/$(FILE)
+# Add a dependency on the generated files, so that they are always
+# rebuilt before other object files
+Makefile: $(GENERATED_HEADERS)
+
# Include automatically generated dependency files
-include $(wildcard *.d audio/*.d slirp/*.d block/*.d net/*.d ui/*.d qapi/*.d qga/*.d)
diff --git a/Makefile.target b/Makefile.target
index 1582904..95a82be 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -1,6 +1,5 @@
# -*- Mode: makefile -*-
-GENERATED_HEADERS = config-target.h
CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
@@ -105,8 +104,6 @@ libobj-$(CONFIG_TCI_DIS) += tci-dis.o
tci-dis.o: QEMU_CFLAGS += -I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/tci
-$(libobj-y): $(GENERATED_HEADERS)
-
# HELPER_CFLAGS is used for all the legacy code compiled with static register
# variables
ifneq ($(TARGET_BASE_ARCH), sparc)
@@ -143,8 +140,6 @@ obj-arm-y += arm-semi.o
obj-m68k-y += m68k-sim.o m68k-semi.o
-$(obj-y) $(obj-$(TARGET_BASE_ARCH)-y): $(GENERATED_HEADERS)
-
obj-y += $(addprefix ../, $(universal-obj-y))
obj-y += $(addprefix ../libuser/, $(user-obj-y))
obj-y += $(addprefix ../libdis-user/, $(libdis-y))
@@ -166,8 +161,6 @@ obj-y = main.o bsdload.o elfload.o mmap.o signal.o strace.o syscall.o \
obj-i386-y += ioport-user.o
-$(obj-y) $(obj-$(TARGET_BASE_ARCH)-y): $(GENERATED_HEADERS)
-
obj-y += $(addprefix ../, $(universal-obj-y))
obj-y += $(addprefix ../libuser/, $(user-obj-y))
obj-y += $(addprefix ../libdis-user/, $(libdis-y))
@@ -389,9 +382,7 @@ obj-xtensa-y += core-fsf.o
main.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
-monitor.o: hmp-commands.h qmp-commands-old.h
-
-$(obj-y) $(obj-$(TARGET_BASE_ARCH)-y): $(GENERATED_HEADERS)
+GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
obj-y += $(addprefix ../, $(universal-obj-y))
obj-y += $(addprefix ../, $(common-obj-y))
@@ -452,5 +443,8 @@ ifdef CONFIG_TRACE_SYSTEMTAP
$(INSTALL_DATA) $(QEMU_PROG).stp "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset"
endif
+GENERATED_HEADERS += config-target.h
+Makefile: $(GENERATED_HEADERS)
+
# Include automatically generated dependency files
-include $(wildcard *.d */*.d)
diff --git a/tests/Makefile b/tests/Makefile
index ab7f667..2e754c3 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -37,7 +37,6 @@ test-qapi-obj-y = $(qobject-obj-y) $(qapi-obj-y) $(tools-obj-y)
test-qapi-obj-y += tests/test-qapi-visit.o tests/test-qapi-types.o
test-qapi-obj-y += module.o
-$(test-obj-y): $(GENERATED_HEADERS)
$(test-obj-y): QEMU_INCLUDES += -Itests
tests/check-qint$(EXESUF): tests/check-qint.o qint.o $(tools-obj-y)
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 03/25] build: add rules for nesting
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 01/25] build: remove trace-nested-y Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 02/25] build: do not sprinkle around GENERATED_HEADERS dependencies Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 04/25] build: move *-user/ objects to nested Makefile.objs Paolo Bonzini
` (22 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
This adds the 'magic' rules that take care of subdirectories.
The subdirectory makefiles in the source tree are not complete; they
only define some variables (listed in nested-vars) according to the
configuration.
The magic rules descend into subdirectory makefiles and gather the
evaluated values of those variables. The values from all subdirectories
are joined together, each prefixed with the subdirectory name, and used
by the "real" makefiles.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
rules.mak | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/rules.mak b/rules.mak
index efef6f2..f65283c 100644
--- a/rules.mak
+++ b/rules.mak
@@ -73,3 +73,42 @@ TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
# will delete the target of a rule if commands exit with a nonzero exit status
.DELETE_ON_ERROR:
+
+# magic to descend into other directories
+
+obj := .
+old-nested-dirs :=
+
+define push-var
+$(eval save-$2-$1 = $(value $1))
+$(eval $1 :=)
+endef
+
+define pop-var
+$(eval subdir-$2-$1 := $(if $(filter $2,$(save-$2-$1)),$(addprefix $2,$($1))))
+$(eval $1 = $(value save-$2-$1) $$(subdir-$2-$1))
+$(eval save-$2-$1 :=)
+endef
+
+define unnest-dir
+$(foreach var,$(nested-vars),$(call push-var,$(var),$1/))
+$(eval obj := $(obj)/$1)
+$(eval include $(SRC_PATH)/$1/Makefile.objs)
+$(eval obj := $(patsubst %/$1,%,$(obj)))
+$(foreach var,$(nested-vars),$(call pop-var,$(var),$1/))
+endef
+
+define unnest-vars-1
+$(eval nested-dirs := $(filter-out \
+ $(old-nested-dirs), \
+ $(sort $(foreach var,$(nested-vars), $(filter %/, $($(var)))))))
+$(if $(nested-dirs),
+ $(foreach dir,$(nested-dirs),$(call unnest-dir,$(patsubst %/,%,$(dir))))
+ $(eval old-nested-dirs := $(old-nested-dirs) $(nested-dirs))
+ $(call unnest-vars-1))
+endef
+
+define unnest-vars
+$(call unnest-vars-1)
+$(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
+endef
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 04/25] build: move *-user/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (2 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 03/25] build: add rules for nesting Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 05/25] build: move obj-TARGET-y variables " Paolo Bonzini
` (21 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.target | 32 ++++++++++----------------------
bsd-user/Makefile.objs | 2 ++
configure | 8 +++++++-
linux-user/Makefile.objs | 7 +++++++
linux-user/arm/nwfpe/Makefile.objs | 2 ++
5 files changed, 28 insertions(+), 23 deletions(-)
create mode 100644 bsd-user/Makefile.objs
create mode 100644 linux-user/Makefile.objs
create mode 100644 linux-user/arm/nwfpe/Makefile.objs
diff --git a/Makefile.target b/Makefile.target
index 95a82be..6ffb556 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -113,32 +113,20 @@ user-exec.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
# Note: this is a workaround. The real fix is to avoid compiling
# cpu_signal_handler() in user-exec.c.
-signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
+%/signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
#########################################################
# Linux user emulator target
ifdef CONFIG_LINUX_USER
-$(call set-vpath, $(SRC_PATH)/linux-user:$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR))
-
QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) -I$(SRC_PATH)/linux-user
-obj-y = main.o syscall.o strace.o mmap.o signal.o thunk.o \
- elfload.o linuxload.o uaccess.o gdbstub.o cpu-uname.o \
- user-exec.o $(oslib-obj-y)
-
-obj-$(TARGET_HAS_BFLT) += flatload.o
-
-obj-$(TARGET_I386) += vm86.o
+obj-y += linux-user/
+obj-y += gdbstub.o thunk.o user-exec.o $(oslib-obj-y)
obj-i386-y += ioport-user.o
-
-nwfpe-obj-y = fpa11.o fpa11_cpdo.o fpa11_cpdt.o fpa11_cprt.o fpopcode.o
-nwfpe-obj-y += single_cpdo.o double_cpdo.o extended_cpdo.o
-obj-arm-y += $(addprefix nwfpe/, $(nwfpe-obj-y))
-obj-arm-y += arm-semi.o
-
-obj-m68k-y += m68k-sim.o m68k-semi.o
+obj-$(TARGET_ARM) += arm-semi.o
+obj-$(TARGET_M68K) += m68k-semi.o
obj-y += $(addprefix ../, $(universal-obj-y))
obj-y += $(addprefix ../libuser/, $(user-obj-y))
@@ -152,13 +140,10 @@ endif #CONFIG_LINUX_USER
ifdef CONFIG_BSD_USER
-$(call set-vpath, $(SRC_PATH)/bsd-user)
-
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 uaccess.o user-exec.o
-
+obj-y += bsd-user/
+obj-y += gdbstub.o user-exec.o
obj-i386-y += ioport-user.o
obj-y += $(addprefix ../, $(universal-obj-y))
@@ -403,6 +388,9 @@ endif # CONFIG_LINUX_USER
obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
+nested-vars = obj-y
+dummy := $(call unnest-vars)
+
ifdef QEMU_PROGW
# The linker builds a windows executable. Make also a console executable.
$(QEMU_PROGW): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
diff --git a/bsd-user/Makefile.objs b/bsd-user/Makefile.objs
new file mode 100644
index 0000000..5e77f57
--- /dev/null
+++ b/bsd-user/Makefile.objs
@@ -0,0 +1,2 @@
+obj-y = main.o bsdload.o elfload.o mmap.o signal.o strace.o syscall.o \
+ uaccess.o
diff --git a/configure b/configure
index 1f338f8..d5647f3 100755
--- a/configure
+++ b/configure
@@ -3520,8 +3520,14 @@ mkdir -p $target_dir/ide
mkdir -p $target_dir/usb
mkdir -p $target_dir/9pfs
mkdir -p $target_dir/kvm
+if test "$target_linux_user" = yes; then
+ mkdir -p $target_dir/linux-user
+fi
+if test "$target_bsd_user" = yes; then
+ mkdir -p $target_dir/bsd-user
+fi
if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
- mkdir -p $target_dir/nwfpe
+ mkdir -p $target_dir/linux-user/arm/nwfpe
fi
symlink "$source_path/Makefile.target" "$target_dir/Makefile"
diff --git a/linux-user/Makefile.objs b/linux-user/Makefile.objs
new file mode 100644
index 0000000..5899d72
--- /dev/null
+++ b/linux-user/Makefile.objs
@@ -0,0 +1,7 @@
+obj-y = main.o syscall.o strace.o mmap.o signal.o \
+ elfload.o linuxload.o uaccess.o cpu-uname.o
+
+obj-$(TARGET_HAS_BFLT) += flatload.o
+obj-$(TARGET_I386) += vm86.o
+obj-$(TARGET_ARM) += arm/nwfpe/
+obj-$(TARGET_M68K) += m68k-sim.o
diff --git a/linux-user/arm/nwfpe/Makefile.objs b/linux-user/arm/nwfpe/Makefile.objs
new file mode 100644
index 0000000..51b0c32
--- /dev/null
+++ b/linux-user/arm/nwfpe/Makefile.objs
@@ -0,0 +1,2 @@
+obj-y = fpa11.o fpa11_cpdo.o fpa11_cpdt.o fpa11_cprt.o fpopcode.o
+obj-y += single_cpdo.o double_cpdo.o extended_cpdo.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 05/25] build: move obj-TARGET-y variables to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (3 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 04/25] build: move *-user/ objects to nested Makefile.objs Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 06/25] build: move libobj-y variable " Paolo Bonzini
` (20 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Also drop duplicate occurrence of device-hotplug.o.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.target | 186 ++------------------------
configure | 48 ++++---
hw/alpha/Makefile.objs | 4 +
hw/arm/Makefile.objs | 39 ++++++
hw/cris/Makefile.objs | 13 ++
hw/i386/Makefile.objs | 13 ++
hw/lm32/Makefile.objs | 23 ++++
hw/m68k/Makefile.objs | 4 +
hw/microblaze/Makefile.objs | 13 ++
hw/mips/Makefile.objs | 6 +
hw/ppc/Makefile.objs | 31 +++++
hw/s390x/Makefile.objs | 3 +
hw/sh4/Makefile.objs | 5 +
hw/sparc/Makefile.objs | 8 ++
hw/sparc64/Makefile.objs | 4 +
hw/xtensa/Makefile.objs | 5 +
target-alpha/Makefile.objs | 1 +
target-arm/Makefile.objs | 1 +
arm-semi.c => target-arm/arm-semi.c | 0
target-cris/Makefile.objs | 1 +
target-i386/Makefile.objs | 3 +
ioport-user.c => target-i386/ioport-user.c | 0
target-lm32/Makefile.objs | 1 +
target-m68k/Makefile.objs | 1 +
m68k-semi.c => target-m68k/m68k-semi.c | 0
target-microblaze/Makefile.objs | 1 +
target-mips/Makefile.objs | 1 +
target-ppc/Makefile.objs | 1 +
target-s390x/Makefile.objs | 1 +
target-sh4/Makefile.objs | 1 +
target-sparc/Makefile.objs | 1 +
target-unicore32/Makefile.objs | 1 +
target-xtensa/Makefile.objs | 4 +
xtensa-semi.c => target-xtensa/xtensa-semi.c | 0
34 files changed, 229 insertions(+), 195 deletions(-)
create mode 100644 hw/alpha/Makefile.objs
create mode 100644 hw/arm/Makefile.objs
create mode 100644 hw/cris/Makefile.objs
create mode 100644 hw/i386/Makefile.objs
create mode 100644 hw/lm32/Makefile.objs
create mode 100644 hw/m68k/Makefile.objs
create mode 100644 hw/microblaze/Makefile.objs
create mode 100644 hw/mips/Makefile.objs
create mode 100644 hw/ppc/Makefile.objs
create mode 100644 hw/s390x/Makefile.objs
create mode 100644 hw/sh4/Makefile.objs
create mode 100644 hw/sparc/Makefile.objs
create mode 100644 hw/sparc64/Makefile.objs
create mode 100644 hw/xtensa/Makefile.objs
create mode 100644 target-alpha/Makefile.objs
create mode 100644 target-arm/Makefile.objs
rename arm-semi.c => target-arm/arm-semi.c (100%)
create mode 100644 target-cris/Makefile.objs
create mode 100644 target-i386/Makefile.objs
rename ioport-user.c => target-i386/ioport-user.c (100%)
create mode 100644 target-lm32/Makefile.objs
create mode 100644 target-m68k/Makefile.objs
rename m68k-semi.c => target-m68k/m68k-semi.c (100%)
create mode 100644 target-microblaze/Makefile.objs
create mode 100644 target-mips/Makefile.objs
create mode 100644 target-ppc/Makefile.objs
create mode 100644 target-s390x/Makefile.objs
create mode 100644 target-sh4/Makefile.objs
create mode 100644 target-sparc/Makefile.objs
create mode 100644 target-unicore32/Makefile.objs
create mode 100644 target-xtensa/Makefile.objs
rename xtensa-semi.c => target-xtensa/xtensa-semi.c (100%)
diff --git a/Makefile.target b/Makefile.target
index 6ffb556..a2697e9 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -102,6 +102,8 @@ libobj-$(TARGET_ALPHA) += int_helper.o fpu_helper.o sys_helper.o mem_helper.o
libobj-y += disas.o
libobj-$(CONFIG_TCI_DIS) += tci-dis.o
+obj-y += target-$(TARGET_BASE_ARCH)/
+
tci-dis.o: QEMU_CFLAGS += -I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/tci
# HELPER_CFLAGS is used for all the legacy code compiled with static register
@@ -124,9 +126,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-i386-y += ioport-user.o
-obj-$(TARGET_ARM) += arm-semi.o
-obj-$(TARGET_M68K) += m68k-semi.o
obj-y += $(addprefix ../, $(universal-obj-y))
obj-y += $(addprefix ../libuser/, $(user-obj-y))
@@ -144,7 +143,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-i386-y += ioport-user.o
obj-y += $(addprefix ../, $(universal-obj-y))
obj-y += $(addprefix ../libuser/, $(user-obj-y))
@@ -157,7 +155,7 @@ endif #CONFIG_BSD_USER
# System emulator target
ifdef CONFIG_SOFTMMU
-obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o balloon.o ioport.o
+obj-y += arch_init.o cpus.o monitor.o machine.o gdbstub.o balloon.o ioport.o
# virtio has to be here due to weird dependency between PCI and virtio-net.
# need to fix this properly
obj-$(CONFIG_NO_PCI) += pci-stub.o
@@ -172,8 +170,6 @@ obj-$(CONFIG_VGA) += vga.o
obj-y += memory.o savevm.o cputlb.o
LIBS+=-lz
-obj-i386-$(CONFIG_KVM) += hyperv.o
-
QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
QEMU_CFLAGS += $(VNC_SASL_CFLAGS)
QEMU_CFLAGS += $(VNC_JPEG_CFLAGS)
@@ -183,8 +179,6 @@ QEMU_CFLAGS += $(VNC_PNG_CFLAGS)
obj-$(CONFIG_XEN) += xen-all.o xen_machine_pv.o xen_domainbuild.o xen-mapcache.o
obj-$(CONFIG_NO_XEN) += xen-stub.o
-obj-i386-$(CONFIG_XEN) += xen_platform.o xen_apic.o
-
# Inter-VM PCI shared memory
CONFIG_IVSHMEM =
ifeq ($(CONFIG_KVM), y)
@@ -198,172 +192,18 @@ obj-$(CONFIG_IVSHMEM) += ivshmem.o
obj-y += device-hotplug.o
# Hardware support
-obj-i386-y += mc146818rtc.o pc.o
-obj-i386-y += apic_common.o apic.o kvmvapic.o
-obj-i386-y += sga.o ioapic_common.o ioapic.o piix_pci.o
-obj-i386-y += vmport.o
-obj-i386-y += pci-hotplug.o smbios.o wdt_ib700.o
-obj-i386-y += debugcon.o multiboot.o
-obj-i386-y += pc_piix.o
-obj-i386-y += pc_sysfw.o
-obj-i386-$(CONFIG_KVM) += kvm/clock.o kvm/apic.o kvm/i8259.o kvm/ioapic.o kvm/i8254.o
-obj-i386-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o
-
-# shared objects
-obj-ppc-y = ppc.o ppc_booke.o
-# PREP target
-obj-ppc-y += mc146818rtc.o
-obj-ppc-y += ppc_prep.o
-# OldWorld PowerMac
-obj-ppc-y += ppc_oldworld.o
-# NewWorld PowerMac
-obj-ppc-y += ppc_newworld.o
-# IBM pSeries (sPAPR)
-obj-ppc-$(CONFIG_PSERIES) += spapr.o spapr_hcall.o spapr_rtas.o spapr_vio.o
-obj-ppc-$(CONFIG_PSERIES) += xics.o spapr_vty.o spapr_llan.o spapr_vscsi.o
-obj-ppc-$(CONFIG_PSERIES) += spapr_pci.o device-hotplug.o pci-hotplug.o
-# PowerPC 4xx boards
-obj-ppc-y += ppc4xx_devs.o ppc4xx_pci.o ppc405_uc.o ppc405_boards.o
-obj-ppc-y += ppc440_bamboo.o
-# PowerPC E500 boards
-obj-ppc-y += ppce500_mpc8544ds.o mpc8544_guts.o ppce500_spin.o
-# PowerPC 440 Xilinx ML507 reference board.
-obj-ppc-y += virtex_ml507.o
-obj-ppc-$(CONFIG_KVM) += kvm_ppc.o
-obj-ppc-$(CONFIG_FDT) += device_tree.o
-# PowerPC OpenPIC
-obj-ppc-y += openpic.o
-
-# Xilinx PPC peripherals
-obj-ppc-y += xilinx_intc.o
-obj-ppc-y += xilinx_timer.o
-obj-ppc-y += xilinx_uartlite.o
-obj-ppc-y += xilinx_ethlite.o
-
-# LM32 boards
-obj-lm32-y += lm32_boards.o
-obj-lm32-y += milkymist.o
-
-# LM32 peripherals
-obj-lm32-y += lm32_pic.o
-obj-lm32-y += lm32_juart.o
-obj-lm32-y += lm32_timer.o
-obj-lm32-y += lm32_uart.o
-obj-lm32-y += lm32_sys.o
-obj-lm32-y += milkymist-ac97.o
-obj-lm32-y += milkymist-hpdmc.o
-obj-lm32-y += milkymist-memcard.o
-obj-lm32-y += milkymist-minimac2.o
-obj-lm32-y += milkymist-pfpu.o
-obj-lm32-y += milkymist-softusb.o
-obj-lm32-y += milkymist-sysctl.o
-obj-lm32-$(CONFIG_OPENGL) += milkymist-tmu2.o
-obj-lm32-y += milkymist-uart.o
-obj-lm32-y += milkymist-vgafb.o
-obj-lm32-y += framebuffer.o
-
-obj-mips-y = mips_r4k.o mips_jazz.o mips_malta.o mips_mipssim.o
-obj-mips-y += mips_addr.o mips_timer.o mips_int.o
-obj-mips-y += gt64xxx.o mc146818rtc.o
-obj-mips-$(CONFIG_FULONG) += bonito.o vt82c686.o mips_fulong2e.o
-
-obj-microblaze-y = petalogix_s3adsp1800_mmu.o
-obj-microblaze-y += petalogix_ml605_mmu.o
-obj-microblaze-y += microblaze_boot.o
-
-obj-microblaze-y += microblaze_pic_cpu.o
-obj-microblaze-y += xilinx_intc.o
-obj-microblaze-y += xilinx_timer.o
-obj-microblaze-y += xilinx_uartlite.o
-obj-microblaze-y += xilinx_ethlite.o
-obj-microblaze-y += xilinx_axidma.o
-obj-microblaze-y += xilinx_axienet.o
-
-obj-microblaze-$(CONFIG_FDT) += device_tree.o
-
-# Boards
-obj-cris-y = cris_pic_cpu.o
-obj-cris-y += cris-boot.o
-obj-cris-y += axis_dev88.o
-
-# IO blocks
-obj-cris-y += etraxfs_dma.o
-obj-cris-y += etraxfs_pic.o
-obj-cris-y += etraxfs_eth.o
-obj-cris-y += etraxfs_timer.o
-obj-cris-y += etraxfs_ser.o
-
ifeq ($(TARGET_ARCH), sparc64)
-obj-sparc-y = sun4u.o apb_pci.o
-obj-sparc-y += mc146818rtc.o
+obj-y += hw/sparc64/
else
-obj-sparc-y = sun4m.o lance.o tcx.o sun4m_iommu.o slavio_intctl.o
-obj-sparc-y += slavio_timer.o slavio_misc.o sparc32_dma.o
-obj-sparc-y += cs4231.o eccmemctl.o sbi.o sun4c_intctl.o leon3.o
-
-# GRLIB
-obj-sparc-y += grlib_gptimer.o grlib_irqmp.o grlib_apbuart.o
+obj-y += hw/$(TARGET_BASE_ARCH)/
endif
-obj-arm-y = integratorcp.o versatilepb.o arm_pic.o arm_timer.o
-obj-arm-y += arm_boot.o pl011.o pl031.o pl050.o pl080.o pl110.o pl181.o pl190.o
-obj-arm-y += versatile_pci.o
-obj-arm-y += versatile_i2c.o
-obj-arm-y += cadence_uart.o
-obj-arm-y += cadence_ttc.o
-obj-arm-y += cadence_gem.o
-obj-arm-y += xilinx_zynq.o zynq_slcr.o
-obj-arm-y += arm_gic.o
-obj-arm-y += realview_gic.o realview.o arm_sysctl.o arm11mpcore.o a9mpcore.o
-obj-arm-y += exynos4210_gic.o exynos4210_combiner.o exynos4210.o
-obj-arm-y += exynos4_boards.o exynos4210_uart.o exynos4210_pwm.o
-obj-arm-y += exynos4210_pmu.o exynos4210_mct.o exynos4210_fimd.o
-obj-arm-y += arm_l2x0.o
-obj-arm-y += arm_mptimer.o a15mpcore.o
-obj-arm-y += armv7m.o armv7m_nvic.o stellaris.o pl022.o stellaris_enet.o
-obj-arm-y += highbank.o
-obj-arm-y += pl061.o
-obj-arm-y += xgmac.o
-obj-arm-y += arm-semi.o
-obj-arm-y += pxa2xx.o pxa2xx_pic.o pxa2xx_gpio.o pxa2xx_timer.o pxa2xx_dma.o
-obj-arm-y += pxa2xx_lcd.o pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
-obj-arm-y += gumstix.o
-obj-arm-y += zaurus.o ide/microdrive.o spitz.o tosa.o tc6393xb.o
-obj-arm-y += omap1.o omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
- omap_gpio.o omap_intc.o omap_uart.o
-obj-arm-y += omap2.o omap_dss.o soc_dma.o omap_gptimer.o omap_synctimer.o \
- omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o
-obj-arm-y += omap_sx1.o palm.o tsc210x.o
-obj-arm-y += nseries.o blizzard.o onenand.o cbus.o tusb6010.o usb/hcd-musb.o
-obj-arm-y += mst_fpga.o mainstone.o
-obj-arm-y += z2.o
-obj-arm-y += musicpal.o bitbang_i2c.o marvell_88w8618_audio.o
-obj-arm-y += framebuffer.o
-obj-arm-y += vexpress.o
-obj-arm-y += strongarm.o
-obj-arm-y += collie.o
-obj-arm-y += pl041.o lm4549.o
-obj-arm-$(CONFIG_FDT) += device_tree.o
-
-obj-sh4-y = shix.o r2d.o sh7750.o sh7750_regnames.o tc58128.o
-obj-sh4-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o sm501.o
-obj-sh4-y += ide/mmio.o
-
-obj-m68k-y = an5206.o mcf5206.o mcf_uart.o mcf_intc.o mcf5208.o mcf_fec.o
-obj-m68k-y += m68k-semi.o dummy_m68k.o
-
-obj-s390x-y = s390-virtio-bus.o s390-virtio.o
-
-obj-alpha-y = mc146818rtc.o
-obj-alpha-y += alpha_pci.o alpha_dp264.o alpha_typhoon.o
-
-obj-xtensa-y += xtensa_pic.o
-obj-xtensa-y += xtensa_sim.o
-obj-xtensa-y += xtensa_lx60.o
-obj-xtensa-y += xtensa-semi.o
-obj-xtensa-y += core-dc232b.o
-obj-xtensa-y += core-dc233c.o
-obj-xtensa-y += core-fsf.o
+# Device tree
+ifeq ($(CONFIG_FDT), y)
+obj-$(TARGET_ARM) += device_tree.o
+obj-$(TARGET_MICROBLAZE) += device_tree.o
+obj-$(TARGET_PPC) += device_tree.o
+endif
main.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
@@ -393,12 +233,12 @@ dummy := $(call unnest-vars)
ifdef QEMU_PROGW
# The linker builds a windows executable. Make also a console executable.
-$(QEMU_PROGW): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
+$(QEMU_PROGW): $(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) $(obj-$(TARGET_BASE_ARCH)-y)
+$(QEMU_PROG): $(obj-y)
$(call LINK,$^)
endif
diff --git a/configure b/configure
index d5647f3..afcca8d 100755
--- a/configure
+++ b/configure
@@ -3514,24 +3514,6 @@ case "$target" in
esac
mkdir -p $target_dir
-mkdir -p $target_dir/fpu
-mkdir -p $target_dir/tcg
-mkdir -p $target_dir/ide
-mkdir -p $target_dir/usb
-mkdir -p $target_dir/9pfs
-mkdir -p $target_dir/kvm
-if test "$target_linux_user" = yes; then
- mkdir -p $target_dir/linux-user
-fi
-if test "$target_bsd_user" = yes; then
- mkdir -p $target_dir/bsd-user
-fi
-if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
- mkdir -p $target_dir/linux-user/arm/nwfpe
-fi
-symlink "$source_path/Makefile.target" "$target_dir/Makefile"
-
-
echo "# Automatically generated by configure - do not modify" > $config_target_mak
bflt="no"
@@ -3682,6 +3664,32 @@ case "$target_arch2" in
exit 1
;;
esac
+# TARGET_BASE_ARCH needs to be defined after TARGET_ARCH
+if [ "$TARGET_BASE_ARCH" = "" ]; then
+ TARGET_BASE_ARCH=$TARGET_ARCH
+fi
+
+mkdir -p $target_dir/fpu
+mkdir -p $target_dir/tcg
+mkdir -p $target_dir/9pfs
+mkdir -p $target_dir/hw
+mkdir -p $target_dir/hw/ide
+mkdir -p $target_dir/hw/usb
+mkdir -p $target_dir/hw/kvm
+mkdir -p $target_dir/hw/$TARGET_ARCH
+mkdir -p $target_dir/hw/$TARGET_BASE_ARCH
+mkdir -p $target_dir/target-$TARGET_BASE_ARCH
+if test "$target_linux_user" = yes; then
+ mkdir -p $target_dir/linux-user
+fi
+if test "$target_bsd_user" = yes; then
+ mkdir -p $target_dir/bsd-user
+fi
+if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
+ mkdir -p $target_dir/linux-user/arm/nwfpe
+fi
+symlink "$source_path/Makefile.target" "$target_dir/Makefile"
+
case "$target_arch2" in
alpha | sparc*)
@@ -3697,10 +3705,6 @@ echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
target_arch_name="`echo $TARGET_ARCH | LC_ALL=C tr '[a-z]' '[A-Z]'`"
echo "TARGET_$target_arch_name=y" >> $config_target_mak
echo "TARGET_ARCH2=$target_arch2" >> $config_target_mak
-# TARGET_BASE_ARCH needs to be defined after TARGET_ARCH
-if [ "$TARGET_BASE_ARCH" = "" ]; then
- TARGET_BASE_ARCH=$TARGET_ARCH
-fi
echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak
if [ "$TARGET_ABI_DIR" = "" ]; then
TARGET_ABI_DIR=$TARGET_ARCH
diff --git a/hw/alpha/Makefile.objs b/hw/alpha/Makefile.objs
new file mode 100644
index 0000000..af1c07f
--- /dev/null
+++ b/hw/alpha/Makefile.objs
@@ -0,0 +1,4 @@
+obj-y = mc146818rtc.o
+obj-y += alpha_pci.o alpha_dp264.o alpha_typhoon.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
new file mode 100644
index 0000000..92b4f1e
--- /dev/null
+++ b/hw/arm/Makefile.objs
@@ -0,0 +1,39 @@
+obj-y = integratorcp.o versatilepb.o arm_pic.o arm_timer.o
+obj-y += arm_boot.o pl011.o pl031.o pl050.o pl080.o pl110.o pl181.o pl190.o
+obj-y += versatile_pci.o
+obj-y += versatile_i2c.o
+obj-y += cadence_uart.o
+obj-y += cadence_ttc.o
+obj-y += cadence_gem.o
+obj-y += xilinx_zynq.o zynq_slcr.o
+obj-y += arm_gic.o
+obj-y += realview_gic.o realview.o arm_sysctl.o arm11mpcore.o a9mpcore.o
+obj-y += exynos4210_gic.o exynos4210_combiner.o exynos4210.o
+obj-y += exynos4_boards.o exynos4210_uart.o exynos4210_pwm.o
+obj-y += exynos4210_pmu.o exynos4210_mct.o exynos4210_fimd.o
+obj-y += arm_l2x0.o
+obj-y += arm_mptimer.o a15mpcore.o
+obj-y += armv7m.o armv7m_nvic.o stellaris.o pl022.o stellaris_enet.o
+obj-y += highbank.o
+obj-y += pl061.o
+obj-y += xgmac.o
+obj-y += pxa2xx.o pxa2xx_pic.o pxa2xx_gpio.o pxa2xx_timer.o pxa2xx_dma.o
+obj-y += pxa2xx_lcd.o pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
+obj-y += gumstix.o
+obj-y += zaurus.o ide/microdrive.o spitz.o tosa.o tc6393xb.o
+obj-y += omap1.o omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
+ omap_gpio.o omap_intc.o omap_uart.o
+obj-y += omap2.o omap_dss.o soc_dma.o omap_gptimer.o omap_synctimer.o \
+ omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o
+obj-y += omap_sx1.o palm.o tsc210x.o
+obj-y += nseries.o blizzard.o onenand.o cbus.o tusb6010.o usb/hcd-musb.o
+obj-y += mst_fpga.o mainstone.o
+obj-y += z2.o
+obj-y += musicpal.o bitbang_i2c.o marvell_88w8618_audio.o
+obj-y += framebuffer.o
+obj-y += vexpress.o
+obj-y += strongarm.o
+obj-y += collie.o
+obj-y += pl041.o lm4549.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/cris/Makefile.objs b/hw/cris/Makefile.objs
new file mode 100644
index 0000000..aa9298a
--- /dev/null
+++ b/hw/cris/Makefile.objs
@@ -0,0 +1,13 @@
+# Boards
+obj-y = cris_pic_cpu.o
+obj-y += cris-boot.o
+obj-y += axis_dev88.o
+
+# IO blocks
+obj-y += etraxfs_dma.o
+obj-y += etraxfs_pic.o
+obj-y += etraxfs_eth.o
+obj-y += etraxfs_timer.o
+obj-y += etraxfs_ser.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
new file mode 100644
index 0000000..d43f1df
--- /dev/null
+++ b/hw/i386/Makefile.objs
@@ -0,0 +1,13 @@
+obj-y += mc146818rtc.o pc.o
+obj-y += apic_common.o apic.o kvmvapic.o
+obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
+obj-y += vmport.o
+obj-y += pci-hotplug.o smbios.o wdt_ib700.o
+obj-y += debugcon.o multiboot.o
+obj-y += pc_piix.o
+obj-y += pc_sysfw.o
+obj-$(CONFIG_XEN) += xen_platform.o xen_apic.o
+obj-$(CONFIG_KVM) += kvm/clock.o kvm/apic.o kvm/i8259.o kvm/ioapic.o kvm/i8254.o
+obj-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
new file mode 100644
index 0000000..4e1843c
--- /dev/null
+++ b/hw/lm32/Makefile.objs
@@ -0,0 +1,23 @@
+# LM32 boards
+obj-y += lm32_boards.o
+obj-y += milkymist.o
+
+# LM32 peripherals
+obj-y += lm32_pic.o
+obj-y += lm32_juart.o
+obj-y += lm32_timer.o
+obj-y += lm32_uart.o
+obj-y += lm32_sys.o
+obj-y += milkymist-ac97.o
+obj-y += milkymist-hpdmc.o
+obj-y += milkymist-memcard.o
+obj-y += milkymist-minimac2.o
+obj-y += milkymist-pfpu.o
+obj-y += milkymist-softusb.o
+obj-y += milkymist-sysctl.o
+obj-$(CONFIG_OPENGL) += milkymist-tmu2.o
+obj-y += milkymist-uart.o
+obj-y += milkymist-vgafb.o
+obj-y += framebuffer.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/m68k/Makefile.objs b/hw/m68k/Makefile.objs
new file mode 100644
index 0000000..93b6d25
--- /dev/null
+++ b/hw/m68k/Makefile.objs
@@ -0,0 +1,4 @@
+obj-y = an5206.o mcf5206.o mcf_uart.o mcf_intc.o mcf5208.o mcf_fec.o
+obj-y += dummy_m68k.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/microblaze/Makefile.objs b/hw/microblaze/Makefile.objs
new file mode 100644
index 0000000..4172442
--- /dev/null
+++ b/hw/microblaze/Makefile.objs
@@ -0,0 +1,13 @@
+obj-y = petalogix_s3adsp1800_mmu.o
+obj-y += petalogix_ml605_mmu.o
+obj-y += microblaze_boot.o
+
+obj-y += microblaze_pic_cpu.o
+obj-y += xilinx_intc.o
+obj-y += xilinx_timer.o
+obj-y += xilinx_uartlite.o
+obj-y += xilinx_ethlite.o
+obj-y += xilinx_axidma.o
+obj-y += xilinx_axienet.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/mips/Makefile.objs b/hw/mips/Makefile.objs
new file mode 100644
index 0000000..29a5d0d
--- /dev/null
+++ b/hw/mips/Makefile.objs
@@ -0,0 +1,6 @@
+obj-y = mips_r4k.o mips_jazz.o mips_malta.o mips_mipssim.o
+obj-y += mips_addr.o mips_timer.o mips_int.o
+obj-y += gt64xxx.o mc146818rtc.o
+obj-$(CONFIG_FULONG) += bonito.o vt82c686.o mips_fulong2e.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
new file mode 100644
index 0000000..5b09849
--- /dev/null
+++ b/hw/ppc/Makefile.objs
@@ -0,0 +1,31 @@
+# shared objects
+obj-y = ppc.o ppc_booke.o
+# PREP target
+obj-y += mc146818rtc.o
+obj-y += ppc_prep.o
+# OldWorld PowerMac
+obj-y += ppc_oldworld.o
+# NewWorld PowerMac
+obj-y += ppc_newworld.o
+# IBM pSeries (sPAPR)
+obj-$(CONFIG_PSERIES) += spapr.o spapr_hcall.o spapr_rtas.o spapr_vio.o
+obj-$(CONFIG_PSERIES) += xics.o spapr_vty.o spapr_llan.o spapr_vscsi.o
+obj-$(CONFIG_PSERIES) += spapr_pci.o pci-hotplug.o
+# PowerPC 4xx boards
+obj-y += ppc4xx_devs.o ppc4xx_pci.o ppc405_uc.o ppc405_boards.o
+obj-y += ppc440_bamboo.o
+# PowerPC E500 boards
+obj-y += ppce500_mpc8544ds.o mpc8544_guts.o ppce500_spin.o
+# PowerPC 440 Xilinx ML507 reference board.
+obj-y += virtex_ml507.o
+obj-$(CONFIG_KVM) += kvm_ppc.o
+# PowerPC OpenPIC
+obj-y += openpic.o
+
+# Xilinx PPC peripherals
+obj-y += xilinx_intc.o
+obj-y += xilinx_timer.o
+obj-y += xilinx_uartlite.o
+obj-y += xilinx_ethlite.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/s390x/Makefile.objs b/hw/s390x/Makefile.objs
new file mode 100644
index 0000000..dcdcac8
--- /dev/null
+++ b/hw/s390x/Makefile.objs
@@ -0,0 +1,3 @@
+obj-y = s390-virtio-bus.o s390-virtio.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs
new file mode 100644
index 0000000..68c5921
--- /dev/null
+++ b/hw/sh4/Makefile.objs
@@ -0,0 +1,5 @@
+obj-y = shix.o r2d.o sh7750.o sh7750_regnames.o tc58128.o
+obj-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o sm501.o
+obj-y += ide/mmio.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
new file mode 100644
index 0000000..a39a511
--- /dev/null
+++ b/hw/sparc/Makefile.objs
@@ -0,0 +1,8 @@
+obj-y = sun4m.o lance.o tcx.o sun4m_iommu.o slavio_intctl.o
+obj-y += slavio_timer.o slavio_misc.o sparc32_dma.o
+obj-y += cs4231.o eccmemctl.o sbi.o sun4c_intctl.o leon3.o
+
+# GRLIB
+obj-y += grlib_gptimer.o grlib_irqmp.o grlib_apbuart.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/sparc64/Makefile.objs b/hw/sparc64/Makefile.objs
new file mode 100644
index 0000000..8c65fc4
--- /dev/null
+++ b/hw/sparc64/Makefile.objs
@@ -0,0 +1,4 @@
+obj-y = sun4u.o apb_pci.o
+obj-y += mc146818rtc.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/xtensa/Makefile.objs b/hw/xtensa/Makefile.objs
new file mode 100644
index 0000000..79698e9
--- /dev/null
+++ b/hw/xtensa/Makefile.objs
@@ -0,0 +1,5 @@
+obj-y += xtensa_pic.o
+obj-y += xtensa_sim.o
+obj-y += xtensa_lx60.o
+
+obj-y := $(addprefix ../,$(obj-y))
diff --git a/target-alpha/Makefile.objs b/target-alpha/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-alpha/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-arm/Makefile.objs b/target-arm/Makefile.objs
new file mode 100644
index 0000000..f5bb920
--- /dev/null
+++ b/target-arm/Makefile.objs
@@ -0,0 +1 @@
+obj-y += arm-semi.o
diff --git a/arm-semi.c b/target-arm/arm-semi.c
similarity index 100%
rename from arm-semi.c
rename to target-arm/arm-semi.c
diff --git a/target-cris/Makefile.objs b/target-cris/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-cris/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-i386/Makefile.objs b/target-i386/Makefile.objs
new file mode 100644
index 0000000..93c6f3f
--- /dev/null
+++ b/target-i386/Makefile.objs
@@ -0,0 +1,3 @@
+obj-$(CONFIG_KVM) += hyperv.o
+obj-$(CONFIG_LINUX_USER) += ioport-user.o
+obj-$(CONFIG_BSD_USER) += ioport-user.o
diff --git a/ioport-user.c b/target-i386/ioport-user.c
similarity index 100%
rename from ioport-user.c
rename to target-i386/ioport-user.c
diff --git a/target-lm32/Makefile.objs b/target-lm32/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-lm32/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-m68k/Makefile.objs b/target-m68k/Makefile.objs
new file mode 100644
index 0000000..e73a5ba
--- /dev/null
+++ b/target-m68k/Makefile.objs
@@ -0,0 +1 @@
+obj-y += m68k-semi.o
diff --git a/m68k-semi.c b/target-m68k/m68k-semi.c
similarity index 100%
rename from m68k-semi.c
rename to target-m68k/m68k-semi.c
diff --git a/target-microblaze/Makefile.objs b/target-microblaze/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-microblaze/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-mips/Makefile.objs b/target-mips/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-mips/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-ppc/Makefile.objs b/target-ppc/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-ppc/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-s390x/Makefile.objs b/target-s390x/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-s390x/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-sh4/Makefile.objs b/target-sh4/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-sh4/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-sparc/Makefile.objs b/target-sparc/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-sparc/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-unicore32/Makefile.objs b/target-unicore32/Makefile.objs
new file mode 100644
index 0000000..c574c9e
--- /dev/null
+++ b/target-unicore32/Makefile.objs
@@ -0,0 +1 @@
+# still empty
diff --git a/target-xtensa/Makefile.objs b/target-xtensa/Makefile.objs
new file mode 100644
index 0000000..a49ca8d
--- /dev/null
+++ b/target-xtensa/Makefile.objs
@@ -0,0 +1,4 @@
+obj-y += xtensa-semi.o
+obj-y += core-dc232b.o
+obj-y += core-dc233c.o
+obj-y += core-fsf.o
diff --git a/xtensa-semi.c b/target-xtensa/xtensa-semi.c
similarity index 100%
rename from xtensa-semi.c
rename to target-xtensa/xtensa-semi.c
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 06/25] build: move libobj-y variable to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (4 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 05/25] build: move obj-TARGET-y variables " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 07/25] build: move other target-*/ objects " Paolo Bonzini
` (19 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.target | 41 +++++++--------------------------------
configure | 6 ------
target-alpha/Makefile.objs | 3 ++-
target-arm/Makefile.objs | 4 ++++
target-cris/Makefile.objs | 5 ++++-
target-i386/Makefile.objs | 3 +++
target-lm32/Makefile.objs | 4 +++-
target-m68k/Makefile.objs | 3 +++
target-microblaze/Makefile.objs | 5 ++++-
target-mips/Makefile.objs | 4 +++-
target-ppc/Makefile.objs | 4 +++-
target-s390x/Makefile.objs | 4 +++-
target-sh4/Makefile.objs | 4 +++-
target-sparc/Makefile.objs | 8 +++++++-
target-unicore32/Makefile.objs | 4 +++-
target-xtensa/Makefile.objs | 3 +++
16 files changed, 55 insertions(+), 50 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index a2697e9..714659e 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -76,41 +76,19 @@ all: $(PROGS) stap
#########################################################
# cpu emulator library
-libobj-y = exec.o translate-all.o cpu-exec.o translate.o
-libobj-y += tcg/tcg.o tcg/optimize.o
-libobj-$(CONFIG_TCG_INTERPRETER) += tci.o
-libobj-y += fpu/softfloat.o
-ifneq ($(TARGET_BASE_ARCH), sparc)
-ifneq ($(TARGET_BASE_ARCH), alpha)
-libobj-y += op_helper.o
-endif
-endif
-libobj-y += helper.o
-ifneq ($(TARGET_BASE_ARCH), ppc)
-libobj-y += cpu.o
-endif
-libobj-$(TARGET_SPARC64) += vis_helper.o
-libobj-$(CONFIG_NEED_MMU) += mmu.o
-libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
-ifeq ($(TARGET_BASE_ARCH), sparc)
-libobj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
-endif
-libobj-$(TARGET_SPARC) += int32_helper.o
-libobj-$(TARGET_SPARC64) += int64_helper.o
-libobj-$(TARGET_ALPHA) += int_helper.o fpu_helper.o sys_helper.o mem_helper.o
-
-libobj-y += disas.o
-libobj-$(CONFIG_TCI_DIS) += tci-dis.o
-
+obj-y = exec.o translate-all.o cpu-exec.o translate.o
+obj-y += tcg/tcg.o tcg/optimize.o
+obj-$(CONFIG_TCG_INTERPRETER) += tci.o
+obj-y += fpu/softfloat.o
+obj-y += disas.o
+obj-$(CONFIG_TCI_DIS) += tci-dis.o
obj-y += target-$(TARGET_BASE_ARCH)/
+obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
tci-dis.o: QEMU_CFLAGS += -I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/tci
# HELPER_CFLAGS is used for all the legacy code compiled with static register
# variables
-ifneq ($(TARGET_BASE_ARCH), sparc)
-op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
-endif
user-exec.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
# Note: this is a workaround. The real fix is to avoid compiling
@@ -130,7 +108,6 @@ 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))
-obj-y += $(libobj-y)
endif #CONFIG_LINUX_USER
@@ -147,7 +124,6 @@ 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))
-obj-y += $(libobj-y)
endif #CONFIG_BSD_USER
@@ -212,7 +188,6 @@ 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 += $(libobj-y)
obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y))
obj-y += $(addprefix ../, $(trace-obj-y))
@@ -226,8 +201,6 @@ obj-$(CONFIG_SMARTCARD_NSS) += $(addprefix ../libcacard/, $(libcacard-y))
endif # CONFIG_BSD_USER
endif # CONFIG_LINUX_USER
-obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
-
nested-vars = obj-y
dummy := $(call unnest-vars)
diff --git a/configure b/configure
index afcca8d..afa7937 100755
--- a/configure
+++ b/configure
@@ -3903,12 +3903,6 @@ if test "$target_softmmu" = "yes" ; then
esac
fi
-if test "$target_softmmu" = "yes" -a \( \
- "$TARGET_ARCH" = "microblaze" -o \
- "$TARGET_ARCH" = "cris" \) ; then
- echo "CONFIG_NEED_MMU=y" >> $config_target_mak
-fi
-
if test "$gprof" = "yes" ; then
echo "TARGET_GPROF=yes" >> $config_target_mak
if test "$target_linux_user" = "yes" ; then
diff --git a/target-alpha/Makefile.objs b/target-alpha/Makefile.objs
index c574c9e..9a72870 100644
--- a/target-alpha/Makefile.objs
+++ b/target-alpha/Makefile.objs
@@ -1 +1,2 @@
-# still empty
+obj-y += helper.o cpu.o
+obj-y += int_helper.o fpu_helper.o sys_helper.o mem_helper.o
diff --git a/target-arm/Makefile.objs b/target-arm/Makefile.objs
index f5bb920..4dcd3c5 100644
--- a/target-arm/Makefile.objs
+++ b/target-arm/Makefile.objs
@@ -1 +1,5 @@
obj-y += arm-semi.o
+obj-y += op_helper.o helper.o cpu.o
+obj-y += neon_helper.o iwmmxt_helper.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-cris/Makefile.objs b/target-cris/Makefile.objs
index c574c9e..9a50c28 100644
--- a/target-cris/Makefile.objs
+++ b/target-cris/Makefile.objs
@@ -1 +1,4 @@
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += mmu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-i386/Makefile.objs b/target-i386/Makefile.objs
index 93c6f3f..2538c43 100644
--- a/target-i386/Makefile.objs
+++ b/target-i386/Makefile.objs
@@ -1,3 +1,6 @@
+obj-y += op_helper.o helper.o cpu.o
obj-$(CONFIG_KVM) += hyperv.o
obj-$(CONFIG_LINUX_USER) += ioport-user.o
obj-$(CONFIG_BSD_USER) += ioport-user.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-lm32/Makefile.objs b/target-lm32/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-lm32/Makefile.objs
+++ b/target-lm32/Makefile.objs
@@ -1 +1,3 @@
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-m68k/Makefile.objs b/target-m68k/Makefile.objs
index e73a5ba..553691d 100644
--- a/target-m68k/Makefile.objs
+++ b/target-m68k/Makefile.objs
@@ -1 +1,4 @@
obj-y += m68k-semi.o
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-microblaze/Makefile.objs b/target-microblaze/Makefile.objs
index c574c9e..9a50c28 100644
--- a/target-microblaze/Makefile.objs
+++ b/target-microblaze/Makefile.objs
@@ -1 +1,4 @@
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += mmu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-mips/Makefile.objs b/target-mips/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-mips/Makefile.objs
+++ b/target-mips/Makefile.objs
@@ -1 +1,3 @@
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-ppc/Makefile.objs b/target-ppc/Makefile.objs
index c574c9e..bf46331 100644
--- a/target-ppc/Makefile.objs
+++ b/target-ppc/Makefile.objs
@@ -1 +1,3 @@
-# still empty
+obj-y += op_helper.o helper.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-s390x/Makefile.objs b/target-s390x/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-s390x/Makefile.objs
+++ b/target-s390x/Makefile.objs
@@ -1 +1,3 @@
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-sh4/Makefile.objs b/target-sh4/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-sh4/Makefile.objs
+++ b/target-sh4/Makefile.objs
@@ -1 +1,3 @@
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-sparc/Makefile.objs b/target-sparc/Makefile.objs
index c574c9e..3556d13 100644
--- a/target-sparc/Makefile.objs
+++ b/target-sparc/Makefile.objs
@@ -1 +1,7 @@
-# still empty
+obj-y += helper.o cpu.o
+obj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
+obj-$(TARGET_SPARC) += int32_helper.o
+obj-$(TARGET_SPARC64) += int64_helper.o
+obj-$(TARGET_SPARC64) += vis_helper.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-unicore32/Makefile.objs b/target-unicore32/Makefile.objs
index c574c9e..8e9be60 100644
--- a/target-unicore32/Makefile.objs
+++ b/target-unicore32/Makefile.objs
@@ -1 +1,3 @@
-# still empty
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-xtensa/Makefile.objs b/target-xtensa/Makefile.objs
index a49ca8d..3cdf604 100644
--- a/target-xtensa/Makefile.objs
+++ b/target-xtensa/Makefile.objs
@@ -2,3 +2,6 @@ obj-y += xtensa-semi.o
obj-y += core-dc232b.o
obj-y += core-dc233c.o
obj-y += core-fsf.o
+obj-y += op_helper.o helper.o cpu.o
+
+$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 07/25] build: move other target-*/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (5 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 06/25] build: move libobj-y variable " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 08/25] build: move rules for nesting to Makefile.objs Paolo Bonzini
` (18 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.target | 6 +++---
target-alpha/Makefile.objs | 3 ++-
target-arm/Makefile.objs | 3 ++-
target-cris/Makefile.objs | 4 ++--
target-i386/Makefile.objs | 5 +++--
target-lm32/Makefile.objs | 3 ++-
target-m68k/Makefile.objs | 3 ++-
target-microblaze/Makefile.objs | 4 ++--
target-mips/Makefile.objs | 3 ++-
target-ppc/Makefile.objs | 3 +++
target-s390x/Makefile.objs | 4 +++-
target-sh4/Makefile.objs | 3 ++-
target-sparc/Makefile.objs | 3 ++-
target-unicore32/Makefile.objs | 3 ++-
target-xtensa/Makefile.objs | 3 ++-
15 files changed, 34 insertions(+), 19 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 714659e..4714a30 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -76,7 +76,7 @@ all: $(PROGS) stap
#########################################################
# cpu emulator library
-obj-y = exec.o translate-all.o cpu-exec.o translate.o
+obj-y = exec.o translate-all.o cpu-exec.o
obj-y += tcg/tcg.o tcg/optimize.o
obj-$(CONFIG_TCG_INTERPRETER) += tci.o
obj-y += fpu/softfloat.o
@@ -131,7 +131,7 @@ endif #CONFIG_BSD_USER
# System emulator target
ifdef CONFIG_SOFTMMU
-obj-y += arch_init.o cpus.o monitor.o machine.o gdbstub.o balloon.o ioport.o
+obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o
# virtio has to be here due to weird dependency between PCI and virtio-net.
# need to fix this properly
obj-$(CONFIG_NO_PCI) += pci-stub.o
@@ -140,7 +140,7 @@ obj-$(CONFIG_VIRTIO) += virtio-scsi.o
obj-y += vhost_net.o
obj-$(CONFIG_VHOST_NET) += vhost.o
obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/virtio-9p-device.o
-obj-$(CONFIG_KVM) += kvm.o kvm-all.o
+obj-$(CONFIG_KVM) += kvm-all.o
obj-$(CONFIG_NO_KVM) += kvm-stub.o
obj-$(CONFIG_VGA) += vga.o
obj-y += memory.o savevm.o cputlb.o
diff --git a/target-alpha/Makefile.objs b/target-alpha/Makefile.objs
index 9a72870..590304c 100644
--- a/target-alpha/Makefile.objs
+++ b/target-alpha/Makefile.objs
@@ -1,2 +1,3 @@
-obj-y += helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
+obj-y += translate.o helper.o cpu.o
obj-y += int_helper.o fpu_helper.o sys_helper.o mem_helper.o
diff --git a/target-arm/Makefile.objs b/target-arm/Makefile.objs
index 4dcd3c5..f447c4f 100644
--- a/target-arm/Makefile.objs
+++ b/target-arm/Makefile.objs
@@ -1,5 +1,6 @@
obj-y += arm-semi.o
-obj-y += op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
+obj-y += translate.o op_helper.o helper.o cpu.o
obj-y += neon_helper.o iwmmxt_helper.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-cris/Makefile.objs b/target-cris/Makefile.objs
index 9a50c28..4b09e8c 100644
--- a/target-cris/Makefile.objs
+++ b/target-cris/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += op_helper.o helper.o cpu.o
-obj-$(CONFIG_SOFTMMU) += mmu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += mmu.o machine.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-i386/Makefile.objs b/target-i386/Makefile.objs
index 2538c43..51214bb 100644
--- a/target-i386/Makefile.objs
+++ b/target-i386/Makefile.objs
@@ -1,5 +1,6 @@
-obj-y += op_helper.o helper.o cpu.o
-obj-$(CONFIG_KVM) += hyperv.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
+obj-$(CONFIG_KVM) += kvm.o hyperv.o
obj-$(CONFIG_LINUX_USER) += ioport-user.o
obj-$(CONFIG_BSD_USER) += ioport-user.o
diff --git a/target-lm32/Makefile.objs b/target-lm32/Makefile.objs
index 8e9be60..2e0e093 100644
--- a/target-lm32/Makefile.objs
+++ b/target-lm32/Makefile.objs
@@ -1,3 +1,4 @@
-obj-y += op_helper.o helper.o cpu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-m68k/Makefile.objs b/target-m68k/Makefile.objs
index 553691d..cda6015 100644
--- a/target-m68k/Makefile.objs
+++ b/target-m68k/Makefile.objs
@@ -1,4 +1,5 @@
obj-y += m68k-semi.o
-obj-y += op_helper.o helper.o cpu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-microblaze/Makefile.objs b/target-microblaze/Makefile.objs
index 9a50c28..4b09e8c 100644
--- a/target-microblaze/Makefile.objs
+++ b/target-microblaze/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += op_helper.o helper.o cpu.o
-obj-$(CONFIG_SOFTMMU) += mmu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += mmu.o machine.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-mips/Makefile.objs b/target-mips/Makefile.objs
index 8e9be60..2e0e093 100644
--- a/target-mips/Makefile.objs
+++ b/target-mips/Makefile.objs
@@ -1,3 +1,4 @@
-obj-y += op_helper.o helper.o cpu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-ppc/Makefile.objs b/target-ppc/Makefile.objs
index bf46331..95ed340 100644
--- a/target-ppc/Makefile.objs
+++ b/target-ppc/Makefile.objs
@@ -1,3 +1,6 @@
+obj-y += translate.o op_helper.o helper.o
+obj-$(CONFIG_SOFTMMU) += machine.o
+obj-$(CONFIG_KVM) += kvm.o
obj-y += op_helper.o helper.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-s390x/Makefile.objs b/target-s390x/Makefile.objs
index 8e9be60..262747f 100644
--- a/target-s390x/Makefile.objs
+++ b/target-s390x/Makefile.objs
@@ -1,3 +1,5 @@
-obj-y += op_helper.o helper.o cpu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
+obj-$(CONFIG_KVM) += kvm.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-sh4/Makefile.objs b/target-sh4/Makefile.objs
index 8e9be60..2e0e093 100644
--- a/target-sh4/Makefile.objs
+++ b/target-sh4/Makefile.objs
@@ -1,3 +1,4 @@
-obj-y += op_helper.o helper.o cpu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-sparc/Makefile.objs b/target-sparc/Makefile.objs
index 3556d13..a93e07d 100644
--- a/target-sparc/Makefile.objs
+++ b/target-sparc/Makefile.objs
@@ -1,4 +1,5 @@
-obj-y += helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
+obj-y += translate.o helper.o cpu.o
obj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
obj-$(TARGET_SPARC) += int32_helper.o
obj-$(TARGET_SPARC64) += int64_helper.o
diff --git a/target-unicore32/Makefile.objs b/target-unicore32/Makefile.objs
index 8e9be60..2e0e093 100644
--- a/target-unicore32/Makefile.objs
+++ b/target-unicore32/Makefile.objs
@@ -1,3 +1,4 @@
-obj-y += op_helper.o helper.o cpu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
diff --git a/target-xtensa/Makefile.objs b/target-xtensa/Makefile.objs
index 3cdf604..f8fbf91 100644
--- a/target-xtensa/Makefile.objs
+++ b/target-xtensa/Makefile.objs
@@ -2,6 +2,7 @@ obj-y += xtensa-semi.o
obj-y += core-dc232b.o
obj-y += core-dc233c.o
obj-y += core-fsf.o
-obj-y += op_helper.o helper.o cpu.o
+obj-y += translate.o op_helper.o helper.o cpu.o
+obj-$(CONFIG_SOFTMMU) += machine.o
$(obj)/op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 08/25] build: move rules for nesting to Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (6 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 07/25] build: move other target-*/ objects " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 09/25] build: put qom/ rules in a Makefile.objs file Paolo Bonzini
` (17 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
At this point we will start adding nesting behavior to other files
than Makefile.target. Because Makefile.objs is included by
Makefile.target, it is simpler to move the processing of
subdirectories there.
To enable this, only add per-target files to obj-y. Use a separate
variable for the linker dependencies, all-obj-y. This variable includes
obj-y and also all objects that are taken from other directories.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 2 ++
Makefile.target | 47 ++++++++++++++++++++++-------------------------
2 files changed, 24 insertions(+), 25 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs
index 1daa92c..e06db12 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 4714a30..006f1cd 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -19,8 +19,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
@@ -105,10 +103,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
#########################################################
@@ -121,10 +115,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
#########################################################
@@ -185,33 +175,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
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 09/25] build: put qom/ rules in a Makefile.objs file
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (7 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 08/25] build: move rules for nesting to Makefile.objs Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 10/25] build: move block/ objects to nested Makefile.objs Paolo Bonzini
` (16 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
qom/ already used a separate makefile. Convert it to use relative
paths, and make it declare both common-obj-y and user-obj-y. This
way, the upper makefiles do not need to know that some QOM files
are compiled twice.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 13 +++++++------
qom/Makefile | 2 --
qom/Makefile.objs | 4 ++++
3 files changed, 11 insertions(+), 8 deletions(-)
delete mode 100644 qom/Makefile
create mode 100644 qom/Makefile.objs
diff --git a/Makefile.objs b/Makefile.objs
index e06db12..ef49a09 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -12,9 +12,7 @@ universal-obj-y += $(qobject-obj-y)
#######################################################################
# QOM
-include $(SRC_PATH)/qom/Makefile
-qom-obj-y = $(addprefix qom/, $(qom-y))
-qom-obj-twice-y = $(addprefix qom/, $(qom-twice-y))
+qom-obj-y = qom/
universal-obj-y += $(qom-obj-y)
@@ -94,7 +92,7 @@ fsdev-obj-$(CONFIG_VIRTFS) += $(addprefix fsdev/, $(fsdev-nested-y))
common-obj-y = $(block-obj-y) blockdev.o
common-obj-y += $(net-obj-y)
-common-obj-y += $(qom-obj-twice-y)
+common-obj-y += qom/
common-obj-$(CONFIG_LINUX) += $(fsdev-obj-$(CONFIG_LINUX))
common-obj-y += readline.o console.o cursor.o
common-obj-y += $(oslib-obj-y)
@@ -202,7 +200,7 @@ user-obj-y += cutils.o cache-utils.o
user-obj-y += module.o
user-obj-y += qemu-user.o
user-obj-y += $(trace-obj-y)
-user-obj-y += $(qom-obj-twice-y)
+user-obj-y += qom/
######################################################################
# libhw
@@ -468,5 +466,8 @@ vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
QEMU_CFLAGS+=$(GLIB_CFLAGS)
-nested-vars += # ...
+nested-vars += \
+ qom-obj-y \
+ user-obj-y \
+ common-obj-y
dummy := $(call unnest-vars)
diff --git a/qom/Makefile b/qom/Makefile
deleted file mode 100644
index 34c6de5..0000000
--- a/qom/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-qom-y = object.o container.o qom-qobject.o
-qom-twice-y = cpu.o
diff --git a/qom/Makefile.objs b/qom/Makefile.objs
new file mode 100644
index 0000000..5ef060a
--- /dev/null
+++ b/qom/Makefile.objs
@@ -0,0 +1,4 @@
+qom-obj-y = object.o container.o qom-qobject.o
+qom-obj-twice-y = cpu.o
+common-obj-y = $(qom-obj-twice-y)
+user-obj-y = $(qom-obj-twice-y)
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 10/25] build: move block/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (8 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 09/25] build: put qom/ rules in a Makefile.objs file Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 11/25] build: move net/ " Paolo Bonzini
` (15 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 16 ++--------------
block/Makefile.objs | 11 +++++++++++
2 files changed, 13 insertions(+), 14 deletions(-)
create mode 100644 block/Makefile.objs
diff --git a/Makefile.objs b/Makefile.objs
index ef49a09..3285949 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -45,20 +45,7 @@ block-obj-y += nbd.o block.o aio.o aes.o qemu-config.o qemu-progress.o qemu-sock
block-obj-y += $(coroutine-obj-y) $(qobject-obj-y) $(version-obj-y)
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
-
-block-nested-y += raw.o cow.o qcow.o vdi.o vmdk.o cloop.o dmg.o bochs.o vpc.o vvfat.o
-block-nested-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o
-block-nested-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o
-block-nested-y += qed-check.o
-block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
-block-nested-y += stream.o
-block-nested-$(CONFIG_WIN32) += raw-win32.o
-block-nested-$(CONFIG_POSIX) += raw-posix.o
-block-nested-$(CONFIG_LIBISCSI) += iscsi.o
-block-nested-$(CONFIG_CURL) += curl.o
-block-nested-$(CONFIG_RBD) += rbd.o
-
-block-obj-y += $(addprefix block/, $(block-nested-y))
+block-obj-y += block/
net-obj-y = net.o
net-nested-y = queue.o checksum.o util.o
@@ -467,6 +454,7 @@ vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
QEMU_CFLAGS+=$(GLIB_CFLAGS)
nested-vars += \
+ block-obj-y \
qom-obj-y \
user-obj-y \
common-obj-y
diff --git a/block/Makefile.objs b/block/Makefile.objs
new file mode 100644
index 0000000..b5754d3
--- /dev/null
+++ b/block/Makefile.objs
@@ -0,0 +1,11 @@
+block-obj-y += raw.o cow.o qcow.o vdi.o vmdk.o cloop.o dmg.o bochs.o vpc.o vvfat.o
+block-obj-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o
+block-obj-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o
+block-obj-y += qed-check.o
+block-obj-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
+block-obj-y += stream.o
+block-obj-$(CONFIG_WIN32) += raw-win32.o
+block-obj-$(CONFIG_POSIX) += raw-posix.o
+block-obj-$(CONFIG_LIBISCSI) += iscsi.o
+block-obj-$(CONFIG_CURL) += curl.o
+block-obj-$(CONFIG_RBD) += rbd.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 11/25] build: move net/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (9 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 10/25] build: move block/ objects to nested Makefile.objs Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 12/25] build: move fsdev/ " Paolo Bonzini
` (14 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 17 +----------------
net/Makefile.objs | 12 ++++++++++++
2 files changed, 13 insertions(+), 16 deletions(-)
create mode 100644 net/Makefile.objs
diff --git a/Makefile.objs b/Makefile.objs
index 3285949..f40be38 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -47,21 +47,6 @@ block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
block-obj-y += block/
-net-obj-y = net.o
-net-nested-y = queue.o checksum.o util.o
-net-nested-y += socket.o
-net-nested-y += dump.o
-net-nested-$(CONFIG_POSIX) += tap.o
-net-nested-$(CONFIG_LINUX) += tap-linux.o
-net-nested-$(CONFIG_WIN32) += tap-win32.o
-net-nested-$(CONFIG_BSD) += tap-bsd.o
-net-nested-$(CONFIG_SOLARIS) += tap-solaris.o
-net-nested-$(CONFIG_AIX) += tap-aix.o
-net-nested-$(CONFIG_HAIKU) += tap-haiku.o
-net-nested-$(CONFIG_SLIRP) += slirp.o
-net-nested-$(CONFIG_VDE) += vde.o
-net-obj-y += $(addprefix net/, $(net-nested-y))
-
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
# only pull in the actual virtio-9p device if we also enabled virtio.
@@ -78,7 +63,7 @@ fsdev-obj-$(CONFIG_VIRTFS) += $(addprefix fsdev/, $(fsdev-nested-y))
# single QEMU executable should support all CPUs and machines.
common-obj-y = $(block-obj-y) blockdev.o
-common-obj-y += $(net-obj-y)
+common-obj-y += net.o net/
common-obj-y += qom/
common-obj-$(CONFIG_LINUX) += $(fsdev-obj-$(CONFIG_LINUX))
common-obj-y += readline.o console.o cursor.o
diff --git a/net/Makefile.objs b/net/Makefile.objs
new file mode 100644
index 0000000..72f50bc
--- /dev/null
+++ b/net/Makefile.objs
@@ -0,0 +1,12 @@
+common-obj-y = queue.o checksum.o util.o
+common-obj-y += socket.o
+common-obj-y += dump.o
+common-obj-$(CONFIG_POSIX) += tap.o
+common-obj-$(CONFIG_LINUX) += tap-linux.o
+common-obj-$(CONFIG_WIN32) += tap-win32.o
+common-obj-$(CONFIG_BSD) += tap-bsd.o
+common-obj-$(CONFIG_SOLARIS) += tap-solaris.o
+common-obj-$(CONFIG_AIX) += tap-aix.o
+common-obj-$(CONFIG_HAIKU) += tap-haiku.o
+common-obj-$(CONFIG_SLIRP) += slirp.o
+common-obj-$(CONFIG_VDE) += vde.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 12/25] build: move fsdev/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (10 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 11/25] build: move net/ " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 13/25] build: move ui/ " Paolo Bonzini
` (13 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 2 +-
Makefile.objs | 11 +++++------
fsdev/Makefile.objs | 9 +++++++++
3 files changed, 15 insertions(+), 7 deletions(-)
create mode 100644 fsdev/Makefile.objs
diff --git a/Makefile b/Makefile
index c0ab97a..0c0540d 100644
--- a/Makefile
+++ b/Makefile
@@ -100,7 +100,7 @@ endif
subdir-libcacard: $(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o
-$(filter %-softmmu,$(SUBDIR_RULES)): $(universal-obj-y) $(trace-obj-y) $(common-obj-y) subdir-libdis
+$(filter %-softmmu,$(SUBDIR_RULES)): $(universal-obj-y) $(trace-obj-y) $(common-obj-y) $(extra-obj-y) subdir-libdis
$(filter %-user,$(SUBDIR_RULES)): $(universal-obj-y) $(trace-obj-y) subdir-libdis-user subdir-libuser
diff --git a/Makefile.objs b/Makefile.objs
index f40be38..4acdbaa 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -51,11 +51,7 @@ ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
# only pull in the actual virtio-9p device if we also enabled virtio.
CONFIG_REALLY_VIRTFS=y
-fsdev-nested-y = qemu-fsdev.o virtio-9p-marshal.o
-else
-fsdev-nested-y = qemu-fsdev-dummy.o
endif
-fsdev-obj-$(CONFIG_VIRTFS) += $(addprefix fsdev/, $(fsdev-nested-y))
######################################################################
# Target independent part of system emulation. The long term path is to
@@ -65,12 +61,14 @@ fsdev-obj-$(CONFIG_VIRTFS) += $(addprefix fsdev/, $(fsdev-nested-y))
common-obj-y = $(block-obj-y) blockdev.o
common-obj-y += net.o net/
common-obj-y += qom/
-common-obj-$(CONFIG_LINUX) += $(fsdev-obj-$(CONFIG_LINUX))
common-obj-y += readline.o console.o cursor.o
common-obj-y += $(oslib-obj-y)
common-obj-$(CONFIG_WIN32) += os-win32.o
common-obj-$(CONFIG_POSIX) += os-posix.o
+common-obj-$(CONFIG_LINUX) += fsdev/
+extra-obj-$(CONFIG_LINUX) += fsdev/
+
common-obj-y += tcg-runtime.o host-utils.o main-loop.o
common-obj-y += irq.o input.o
common-obj-$(CONFIG_PTIMER) += ptimer.o
@@ -442,5 +440,6 @@ nested-vars += \
block-obj-y \
qom-obj-y \
user-obj-y \
- common-obj-y
+ common-obj-y \
+ extra-obj-y
dummy := $(call unnest-vars)
diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs
new file mode 100644
index 0000000..cb1e250
--- /dev/null
+++ b/fsdev/Makefile.objs
@@ -0,0 +1,9 @@
+ifeq ($(CONFIG_REALLY_VIRTFS),y)
+common-obj-y = qemu-fsdev.o virtio-9p-marshal.o
+
+# Toplevel always builds this; targets without virtio will put it in
+# common-obj-y
+extra-obj-y = qemu-fsdev-dummy.o
+else
+common-obj-y = qemu-fsdev-dummy.o
+endif
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 13/25] build: move ui/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (11 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 12/25] build: move fsdev/ " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 14/25] build: move audio/ " Paolo Bonzini
` (12 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 21 ++-------------------
ui/Makefile.objs | 18 ++++++++++++++++++
2 files changed, 20 insertions(+), 19 deletions(-)
create mode 100644 ui/Makefile.objs
diff --git a/Makefile.objs b/Makefile.objs
index 4acdbaa..a6310e3 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -110,7 +110,6 @@ common-obj-$(CONFIG_BRLAPI) += baum.o
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
common-obj-$(CONFIG_WIN32) += version.o
-common-obj-$(CONFIG_SPICE) += ui/spice-core.o ui/spice-input.o ui/spice-display.o spice-qemu-char.o
audio-obj-y = audio.o noaudio.o wavaudio.o mixeng.o
audio-obj-$(CONFIG_SDL) += sdlaudio.o
@@ -127,24 +126,8 @@ audio-obj-$(CONFIG_AUDIO_PT_INT) += audio_pt_int.o
audio-obj-$(CONFIG_AUDIO_WIN_INT) += audio_win_int.o
audio-obj-y += wavcapture.o
common-obj-y += $(addprefix audio/, $(audio-obj-y))
-
-ui-obj-y += keymaps.o
-ui-obj-$(CONFIG_SDL) += sdl.o sdl_zoom.o x_keymap.o
-ui-obj-$(CONFIG_COCOA) += cocoa.o
-ui-obj-$(CONFIG_CURSES) += curses.o
-vnc-obj-y += vnc.o d3des.o
-vnc-obj-y += vnc-enc-zlib.o vnc-enc-hextile.o
-vnc-obj-y += vnc-enc-tight.o vnc-palette.o
-vnc-obj-y += vnc-enc-zrle.o
-vnc-obj-$(CONFIG_VNC_TLS) += vnc-tls.o vnc-auth-vencrypt.o
-vnc-obj-$(CONFIG_VNC_SASL) += vnc-auth-sasl.o
-ifdef CONFIG_VNC_THREAD
-vnc-obj-y += vnc-jobs-async.o
-else
-vnc-obj-y += vnc-jobs-sync.o
-endif
-common-obj-y += $(addprefix ui/, $(ui-obj-y))
-common-obj-$(CONFIG_VNC) += $(addprefix ui/, $(vnc-obj-y))
+common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
+common-obj-y += ui/
common-obj-y += iov.o acl.o
common-obj-$(CONFIG_POSIX) += compatfd.o
diff --git a/ui/Makefile.objs b/ui/Makefile.objs
new file mode 100644
index 0000000..3687c8a
--- /dev/null
+++ b/ui/Makefile.objs
@@ -0,0 +1,18 @@
+vnc-obj-y += vnc.o d3des.o
+vnc-obj-y += vnc-enc-zlib.o vnc-enc-hextile.o
+vnc-obj-y += vnc-enc-tight.o vnc-palette.o
+vnc-obj-y += vnc-enc-zrle.o
+vnc-obj-$(CONFIG_VNC_TLS) += vnc-tls.o vnc-auth-vencrypt.o
+vnc-obj-$(CONFIG_VNC_SASL) += vnc-auth-sasl.o
+ifdef CONFIG_VNC_THREAD
+vnc-obj-y += vnc-jobs-async.o
+else
+vnc-obj-y += vnc-jobs-sync.o
+endif
+
+common-obj-y += keymaps.o
+common-obj-$(CONFIG_SPICE) += spice-core.o spice-input.o spice-display.o
+common-obj-$(CONFIG_SDL) += sdl.o sdl_zoom.o x_keymap.o
+common-obj-$(CONFIG_COCOA) += cocoa.o
+common-obj-$(CONFIG_CURSES) += curses.o
+common-obj-$(CONFIG_VNC) += $(vnc-obj-y)
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 14/25] build: move audio/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (12 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 13/25] build: move ui/ " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 15/25] build: move slirp/ " Paolo Bonzini
` (11 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 18 ++----------------
audio/Makefile.objs | 14 ++++++++++++++
2 files changed, 16 insertions(+), 16 deletions(-)
create mode 100644 audio/Makefile.objs
diff --git a/Makefile.objs b/Makefile.objs
index a6310e3..7ee2bb6 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -110,23 +110,9 @@ common-obj-$(CONFIG_BRLAPI) += baum.o
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
common-obj-$(CONFIG_WIN32) += version.o
-
-audio-obj-y = audio.o noaudio.o wavaudio.o mixeng.o
-audio-obj-$(CONFIG_SDL) += sdlaudio.o
-audio-obj-$(CONFIG_OSS) += ossaudio.o
-audio-obj-$(CONFIG_SPICE) += spiceaudio.o
-audio-obj-$(CONFIG_COREAUDIO) += coreaudio.o
-audio-obj-$(CONFIG_ALSA) += alsaaudio.o
-audio-obj-$(CONFIG_DSOUND) += dsoundaudio.o
-audio-obj-$(CONFIG_FMOD) += fmodaudio.o
-audio-obj-$(CONFIG_ESD) += esdaudio.o
-audio-obj-$(CONFIG_PA) += paaudio.o
-audio-obj-$(CONFIG_WINWAVE) += winwaveaudio.o
-audio-obj-$(CONFIG_AUDIO_PT_INT) += audio_pt_int.o
-audio-obj-$(CONFIG_AUDIO_WIN_INT) += audio_win_int.o
-audio-obj-y += wavcapture.o
-common-obj-y += $(addprefix audio/, $(audio-obj-y))
common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
+
+common-obj-y += audio/
common-obj-y += ui/
common-obj-y += iov.o acl.o
diff --git a/audio/Makefile.objs b/audio/Makefile.objs
new file mode 100644
index 0000000..0f2932d
--- /dev/null
+++ b/audio/Makefile.objs
@@ -0,0 +1,14 @@
+common-obj-y = audio.o noaudio.o wavaudio.o mixeng.o
+common-obj-$(CONFIG_SDL) += sdlaudio.o
+common-obj-$(CONFIG_OSS) += ossaudio.o
+common-obj-$(CONFIG_SPICE) += spiceaudio.o
+common-obj-$(CONFIG_COREAUDIO) += coreaudio.o
+common-obj-$(CONFIG_ALSA) += alsaaudio.o
+common-obj-$(CONFIG_DSOUND) += dsoundaudio.o
+common-obj-$(CONFIG_FMOD) += fmodaudio.o
+common-obj-$(CONFIG_ESD) += esdaudio.o
+common-obj-$(CONFIG_PA) += paaudio.o
+common-obj-$(CONFIG_WINWAVE) += winwaveaudio.o
+common-obj-$(CONFIG_AUDIO_PT_INT) += audio_pt_int.o
+common-obj-$(CONFIG_AUDIO_WIN_INT) += audio_win_int.o
+common-obj-y += wavcapture.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 15/25] build: move slirp/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (13 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 14/25] build: move audio/ " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 16/25] build: move qapi/ " Paolo Bonzini
` (10 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 5 +----
slirp/Makefile.objs | 3 +++
2 files changed, 4 insertions(+), 4 deletions(-)
create mode 100644 slirp/Makefile.objs
diff --git a/Makefile.objs b/Makefile.objs
index 7ee2bb6..668c148 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -120,10 +120,7 @@ common-obj-$(CONFIG_POSIX) += compatfd.o
common-obj-y += notify.o event_notifier.o
common-obj-y += qemu-timer.o qemu-timer-common.o
-slirp-obj-y = cksum.o if.o ip_icmp.o ip_input.o ip_output.o
-slirp-obj-y += slirp.o mbuf.o misc.o sbuf.o socket.o tcp_input.o tcp_output.o
-slirp-obj-y += tcp_subr.o tcp_timer.o udp.o bootp.o tftp.o arp_table.o
-common-obj-$(CONFIG_SLIRP) += $(addprefix slirp/, $(slirp-obj-y))
+common-obj-$(CONFIG_SLIRP) += slirp/
# xen backend driver support
common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
diff --git a/slirp/Makefile.objs b/slirp/Makefile.objs
new file mode 100644
index 0000000..bb43d3c
--- /dev/null
+++ b/slirp/Makefile.objs
@@ -0,0 +1,3 @@
+common-obj-y = cksum.o if.o ip_icmp.o ip_input.o ip_output.o
+common-obj-y += slirp.o mbuf.o misc.o sbuf.o socket.o tcp_input.o tcp_output.o
+common-obj-y += tcp_subr.o tcp_timer.o udp.o bootp.o tftp.o arp_table.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 16/25] build: move qapi/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (14 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 15/25] build: move slirp/ " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 17/25] build: move qga/ " Paolo Bonzini
` (9 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 6 ++----
qapi/Makefile.objs | 3 +++
2 files changed, 5 insertions(+), 4 deletions(-)
create mode 100644 qapi/Makefile.objs
diff --git a/Makefile.objs b/Makefile.objs
index 668c148..e7f7a85 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -375,10 +375,7 @@ libcacard-y = cac.o event.o vcard.o vreader.o vcard_emul_nss.o vcard_emul_type.o
######################################################################
# qapi
-qapi-nested-y = qapi-visit-core.o qapi-dealloc-visitor.o qmp-input-visitor.o
-qapi-nested-y += qmp-output-visitor.o qmp-registry.o qmp-dispatch.o
-qapi-nested-y += string-input-visitor.o string-output-visitor.o
-qapi-obj-y = $(addprefix qapi/, $(qapi-nested-y))
+qapi-obj-y = qapi/
common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.o
common-obj-y += qmp.o hmp.o
@@ -405,6 +402,7 @@ QEMU_CFLAGS+=$(GLIB_CFLAGS)
nested-vars += \
block-obj-y \
qom-obj-y \
+ qapi-obj-y \
user-obj-y \
common-obj-y \
extra-obj-y
diff --git a/qapi/Makefile.objs b/qapi/Makefile.objs
new file mode 100644
index 0000000..d0b0c16
--- /dev/null
+++ b/qapi/Makefile.objs
@@ -0,0 +1,3 @@
+qapi-obj-y = qapi-visit-core.o qapi-dealloc-visitor.o qmp-input-visitor.o
+qapi-obj-y += qmp-output-visitor.o qmp-registry.o qmp-dispatch.o
+qapi-obj-y += string-input-visitor.o string-output-visitor.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 17/25] build: move qga/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (15 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 16/25] build: move qapi/ " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 18/25] build: move target-independent hw/ objects to nested Makefiles Paolo Bonzini
` (8 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 7 ++-----
qga/Makefile.objs | 3 +++
2 files changed, 5 insertions(+), 5 deletions(-)
create mode 100644 qga/Makefile.objs
diff --git a/Makefile.objs b/Makefile.objs
index e7f7a85..fec21a4 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -385,11 +385,7 @@ universal-obj-y += $(qapi-obj-y)
######################################################################
# guest agent
-qga-nested-y = commands.o guest-agent-command-state.o
-qga-nested-$(CONFIG_POSIX) += commands-posix.o channel-posix.o
-qga-nested-$(CONFIG_WIN32) += commands-win32.o channel-win32.o service-win32.o
-qga-obj-y = $(addprefix qga/, $(qga-nested-y))
-qga-obj-y += qemu-ga.o module.o
+qga-obj-y = qga/ qemu-ga.o module.o
qga-obj-$(CONFIG_WIN32) += oslib-win32.o
qga-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-sockets.o qemu-option.o
@@ -400,6 +396,7 @@ vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
QEMU_CFLAGS+=$(GLIB_CFLAGS)
nested-vars += \
+ qga-obj-y \
block-obj-y \
qom-obj-y \
qapi-obj-y \
diff --git a/qga/Makefile.objs b/qga/Makefile.objs
new file mode 100644
index 0000000..6a4d843
--- /dev/null
+++ b/qga/Makefile.objs
@@ -0,0 +1,3 @@
+qga-obj-y = commands.o guest-agent-command-state.o
+qga-obj-$(CONFIG_POSIX) += commands-posix.o channel-posix.o
+qga-obj-$(CONFIG_WIN32) += commands-win32.o channel-win32.o service-win32.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 18/25] build: move target-independent hw/ objects to nested Makefiles
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (16 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 17/25] build: move qga/ " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 19/25] build: convert libhw to nested Makefile.objs Paolo Bonzini
` (7 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
This patch starts converting the hw/ directory. Some files in hw/
are compiled once, some twice (32-/64-bit), some once per target.
Each category is moved in a separate patch.
After this patch, the files that are compiled once will show the
same hierarchy in the build tree as they do in the source tree,
for example hw/qdev.o instead of just qdev.o.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 6 ++++--
Makefile.objs | 38 +++-----------------------------------
configure | 2 +-
hw/Makefile.objs | 32 ++++++++++++++++++++++++++++++++
hw/usb/Makefile.objs | 4 ++++
5 files changed, 44 insertions(+), 38 deletions(-)
create mode 100644 hw/Makefile.objs
create mode 100644 hw/usb/Makefile.objs
diff --git a/Makefile b/Makefile
index 0c0540d..a10005a 100644
--- a/Makefile
+++ b/Makefile
@@ -120,7 +120,7 @@ QEMU_CFLAGS += -I$(SRC_PATH)/include
ui/cocoa.o: ui/cocoa.m
-ui/sdl.o audio/sdlaudio.o ui/sdl_zoom.o baum.o: QEMU_CFLAGS += $(SDL_CFLAGS)
+ui/sdl.o audio/sdlaudio.o ui/sdl_zoom.o hw/baum.o: QEMU_CFLAGS += $(SDL_CFLAGS)
ui/vnc.o: QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
@@ -214,6 +214,7 @@ clean:
rm -Rf .libs
rm -f slirp/*.o slirp/*.d audio/*.o audio/*.d block/*.o block/*.d net/*.o net/*.d fsdev/*.o fsdev/*.d ui/*.o ui/*.d qapi/*.o qapi/*.d qga/*.o qga/*.d
rm -f qom/*.o qom/*.d
+ rm -f usb/*.o usb/*.d hw/*.o hw/*.d
rm -f qemu-img-cmds.h
rm -f trace/*.o trace/*.d
rm -f trace-dtrace.dtrace trace-dtrace.dtrace-timestamp
@@ -400,4 +401,5 @@ tar:
Makefile: $(GENERATED_HEADERS)
# Include automatically generated dependency files
--include $(wildcard *.d audio/*.d slirp/*.d block/*.d net/*.d ui/*.d qapi/*.d qga/*.d)
+-include $(wildcard *.d audio/*.d slirp/*.d block/*.d net/*.d ui/*.d qapi/*.d)
+-include $(wildcard qga/*.d hw/*.d hw/usb/*.d)
diff --git a/Makefile.objs b/Makefile.objs
index fec21a4..4aa5f0f 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -70,50 +70,22 @@ common-obj-$(CONFIG_LINUX) += fsdev/
extra-obj-$(CONFIG_LINUX) += fsdev/
common-obj-y += tcg-runtime.o host-utils.o main-loop.o
-common-obj-y += irq.o input.o
-common-obj-$(CONFIG_PTIMER) += ptimer.o
-common-obj-$(CONFIG_MAX7310) += max7310.o
-common-obj-$(CONFIG_WM8750) += wm8750.o
-common-obj-$(CONFIG_TWL92230) += twl92230.o
-common-obj-$(CONFIG_TSC2005) += tsc2005.o
-common-obj-$(CONFIG_LM832X) += lm832x.o
-common-obj-$(CONFIG_TMP105) += tmp105.o
-common-obj-$(CONFIG_STELLARIS_INPUT) += stellaris_input.o
-common-obj-$(CONFIG_SSD0303) += ssd0303.o
-common-obj-$(CONFIG_SSD0323) += ssd0323.o
-common-obj-$(CONFIG_ADS7846) += ads7846.o
-common-obj-$(CONFIG_MAX111X) += max111x.o
-common-obj-$(CONFIG_DS1338) += ds1338.o
-common-obj-y += i2c.o smbus.o smbus_eeprom.o
-common-obj-y += eeprom93xx.o
-common-obj-y += scsi-disk.o cdrom.o
-common-obj-y += scsi-generic.o scsi-bus.o
-common-obj-y += hid.o
-common-obj-y += usb/core.o usb/bus.o usb/desc.o usb/dev-hub.o
-common-obj-y += usb/host-$(HOST_USB).o
-common-obj-y += usb/dev-hid.o usb/dev-storage.o usb/dev-wacom.o
-common-obj-y += usb/dev-serial.o usb/dev-network.o usb/dev-audio.o
-common-obj-$(CONFIG_SSI) += ssi.o
-common-obj-$(CONFIG_SSI_SD) += ssi-sd.o
-common-obj-$(CONFIG_SD) += sd.o
-common-obj-y += bt.o bt-host.o bt-vhci.o bt-l2cap.o bt-sdp.o bt-hci.o bt-hid.o
-common-obj-y += bt-hci-csr.o usb/dev-bluetooth.o
+common-obj-y += input.o
common-obj-y += buffered_file.o migration.o migration-tcp.o
common-obj-y += qemu-char.o #aio.o
-common-obj-y += msmouse.o ps2.o
-common-obj-y += qdev.o qdev-properties.o qdev-monitor.o
common-obj-y += block-migration.o iohandler.o
common-obj-y += pflib.o
common-obj-y += bitmap.o bitops.o
-common-obj-$(CONFIG_BRLAPI) += baum.o
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
common-obj-$(CONFIG_WIN32) += version.o
common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
common-obj-y += audio/
+common-obj-y += hw/
common-obj-y += ui/
+common-obj-y += bt-host.o bt-vhci.o
common-obj-y += iov.o acl.o
common-obj-$(CONFIG_POSIX) += compatfd.o
@@ -122,10 +94,6 @@ common-obj-y += qemu-timer.o qemu-timer-common.o
common-obj-$(CONFIG_SLIRP) += slirp/
-# xen backend driver support
-common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
-common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o xenfb.o xen_disk.o xen_nic.o
-
######################################################################
# libuser
diff --git a/configure b/configure
index afa7937..ffae12c 100755
--- a/configure
+++ b/configure
@@ -3947,7 +3947,7 @@ DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
DIRS="$DIRS slirp audio block net pc-bios/optionrom"
DIRS="$DIRS pc-bios/spapr-rtas"
DIRS="$DIRS roms/seabios roms/vgabios"
-DIRS="$DIRS fsdev ui usb"
+DIRS="$DIRS fsdev ui hw hw/usb"
DIRS="$DIRS qapi qapi-generated"
DIRS="$DIRS qga trace qom"
FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
new file mode 100644
index 0000000..00642f3
--- /dev/null
+++ b/hw/Makefile.objs
@@ -0,0 +1,32 @@
+common-obj-y += usb/
+common-obj-y += irq.o
+common-obj-$(CONFIG_PTIMER) += ptimer.o
+common-obj-$(CONFIG_MAX7310) += max7310.o
+common-obj-$(CONFIG_WM8750) += wm8750.o
+common-obj-$(CONFIG_TWL92230) += twl92230.o
+common-obj-$(CONFIG_TSC2005) += tsc2005.o
+common-obj-$(CONFIG_LM832X) += lm832x.o
+common-obj-$(CONFIG_TMP105) += tmp105.o
+common-obj-$(CONFIG_STELLARIS_INPUT) += stellaris_input.o
+common-obj-$(CONFIG_SSD0303) += ssd0303.o
+common-obj-$(CONFIG_SSD0323) += ssd0323.o
+common-obj-$(CONFIG_ADS7846) += ads7846.o
+common-obj-$(CONFIG_MAX111X) += max111x.o
+common-obj-$(CONFIG_DS1338) += ds1338.o
+common-obj-y += i2c.o smbus.o smbus_eeprom.o
+common-obj-y += eeprom93xx.o
+common-obj-y += scsi-disk.o cdrom.o
+common-obj-y += scsi-generic.o scsi-bus.o
+common-obj-y += hid.o
+common-obj-$(CONFIG_SSI) += ssi.o
+common-obj-$(CONFIG_SSI_SD) += ssi-sd.o
+common-obj-$(CONFIG_SD) += sd.o
+common-obj-y += bt.o bt-l2cap.o bt-sdp.o bt-hci.o bt-hid.o
+common-obj-y += bt-hci-csr.o
+common-obj-y += msmouse.o ps2.o
+common-obj-y += qdev.o qdev-properties.o qdev-monitor.o
+common-obj-$(CONFIG_BRLAPI) += baum.o
+
+# xen backend driver support
+common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
+common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o xenfb.o xen_disk.o xen_nic.o
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
new file mode 100644
index 0000000..7dbc33b
--- /dev/null
+++ b/hw/usb/Makefile.objs
@@ -0,0 +1,4 @@
+common-obj-y += core.o bus.o desc.o dev-hub.o
+common-obj-y += host-$(HOST_USB).o dev-bluetooth.o
+common-obj-y += dev-hid.o dev-storage.o dev-wacom.o
+common-obj-y += dev-serial.o dev-network.o dev-audio.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 19/25] build: convert libhw to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (17 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 18/25] build: move target-independent hw/ objects to nested Makefiles Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 20/25] build: move per-target hw/ objects " Paolo Bonzini
` (6 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
After this patch, the libhw* directories will have a hierarchy
that mimics the source tree. This is useful because we do have
a couple of files there that are in the top source directory.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.hw | 6 +--
Makefile.objs | 143 +------------------------------------------------
configure | 7 +--
hw/9pfs/Makefile.objs | 7 +++
hw/Makefile.objs | 115 +++++++++++++++++++++++++++++++++++++++
hw/ide/Makefile.objs | 10 ++++
hw/usb/Makefile.objs | 9 ++++
7 files changed, 150 insertions(+), 147 deletions(-)
create mode 100644 hw/9pfs/Makefile.objs
create mode 100644 hw/ide/Makefile.objs
diff --git a/Makefile.hw b/Makefile.hw
index 33f1ab0..155a0c3 100644
--- a/Makefile.hw
+++ b/Makefile.hw
@@ -7,7 +7,7 @@ include $(SRC_PATH)/rules.mak
.PHONY: all
-$(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw)
+$(call set-vpath, $(SRC_PATH))
QEMU_CFLAGS+=-I..
QEMU_CFLAGS += -I$(SRC_PATH)/include
@@ -19,7 +19,7 @@ all: $(hw-obj-y)
@true
clean:
- rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~
+ rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~ */*/*.d
# Include automatically generated dependency files
--include $(wildcard *.d */*.d)
+-include $(wildcard *.d */*.d */*/*.d)
diff --git a/Makefile.objs b/Makefile.objs
index 4aa5f0f..ae3770a 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -109,147 +109,7 @@ user-obj-y += qom/
######################################################################
# libhw
-hw-obj-y =
-hw-obj-y += vl.o loader.o
-hw-obj-$(CONFIG_VIRTIO) += virtio-console.o
-hw-obj-y += usb/libhw.o
-hw-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
-hw-obj-y += fw_cfg.o
-hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o pci_bridge_dev.o
-hw-obj-$(CONFIG_PCI) += msix.o msi.o
-hw-obj-$(CONFIG_PCI) += shpc.o
-hw-obj-$(CONFIG_PCI) += slotid_cap.o
-hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
-hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
-hw-obj-y += watchdog.o
-hw-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
-hw-obj-$(CONFIG_ECC) += ecc.o
-hw-obj-$(CONFIG_NAND) += nand.o
-hw-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
-hw-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
-
-hw-obj-$(CONFIG_M48T59) += m48t59.o
-hw-obj-$(CONFIG_ESCC) += escc.o
-hw-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
-
-hw-obj-$(CONFIG_SERIAL) += serial.o
-hw-obj-$(CONFIG_PARALLEL) += parallel.o
-hw-obj-$(CONFIG_I8254) += i8254_common.o i8254.o
-hw-obj-$(CONFIG_PCSPK) += pcspk.o
-hw-obj-$(CONFIG_PCKBD) += pckbd.o
-hw-obj-$(CONFIG_USB_UHCI) += usb/hcd-uhci.o
-hw-obj-$(CONFIG_USB_OHCI) += usb/hcd-ohci.o
-hw-obj-$(CONFIG_USB_EHCI) += usb/hcd-ehci.o
-hw-obj-$(CONFIG_USB_XHCI) += usb/hcd-xhci.o
-hw-obj-$(CONFIG_FDC) += fdc.o
-hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o
-hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o
-hw-obj-$(CONFIG_DMA) += dma.o
-hw-obj-$(CONFIG_I82374) += i82374.o
-hw-obj-$(CONFIG_HPET) += hpet.o
-hw-obj-$(CONFIG_APPLESMC) += applesmc.o
-hw-obj-$(CONFIG_SMARTCARD) += usb/dev-smartcard-reader.o ccid-card-passthru.o
-hw-obj-$(CONFIG_SMARTCARD_NSS) += ccid-card-emulated.o
-hw-obj-$(CONFIG_USB_REDIR) += usb/redirect.o
-hw-obj-$(CONFIG_I8259) += i8259_common.o i8259.o
-
-# PPC devices
-hw-obj-$(CONFIG_PREP_PCI) += prep_pci.o
-hw-obj-$(CONFIG_I82378) += i82378.o
-# Mac shared devices
-hw-obj-$(CONFIG_MACIO) += macio.o
-hw-obj-$(CONFIG_CUDA) += cuda.o
-hw-obj-$(CONFIG_ADB) += adb.o
-hw-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
-hw-obj-$(CONFIG_MAC_DBDMA) += mac_dbdma.o
-# OldWorld PowerMac
-hw-obj-$(CONFIG_HEATHROW_PIC) += heathrow_pic.o
-hw-obj-$(CONFIG_GRACKLE_PCI) += grackle_pci.o
-# NewWorld PowerMac
-hw-obj-$(CONFIG_UNIN_PCI) += unin_pci.o
-hw-obj-$(CONFIG_DEC_PCI) += dec_pci.o
-# PowerPC E500 boards
-hw-obj-$(CONFIG_PPCE500_PCI) += ppce500_pci.o
-
-# MIPS devices
-hw-obj-$(CONFIG_PIIX4) += piix4.o
-hw-obj-$(CONFIG_G364FB) += g364fb.o
-hw-obj-$(CONFIG_JAZZ_LED) += jazz_led.o
-
-# PCI watchdog devices
-hw-obj-$(CONFIG_PCI) += wdt_i6300esb.o
-
-hw-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
-
-# PCI network cards
-hw-obj-$(CONFIG_NE2000_PCI) += ne2000.o
-hw-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o
-hw-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o
-hw-obj-$(CONFIG_PCNET_COMMON) += pcnet.o
-hw-obj-$(CONFIG_E1000_PCI) += e1000.o
-hw-obj-$(CONFIG_RTL8139_PCI) += rtl8139.o
-
-hw-obj-$(CONFIG_SMC91C111) += smc91c111.o
-hw-obj-$(CONFIG_LAN9118) += lan9118.o
-hw-obj-$(CONFIG_NE2000_ISA) += ne2000-isa.o
-hw-obj-$(CONFIG_OPENCORES_ETH) += opencores_eth.o
-
-# IDE
-hw-obj-$(CONFIG_IDE_CORE) += ide/core.o ide/atapi.o
-hw-obj-$(CONFIG_IDE_QDEV) += ide/qdev.o
-hw-obj-$(CONFIG_IDE_PCI) += ide/pci.o
-hw-obj-$(CONFIG_IDE_ISA) += ide/isa.o
-hw-obj-$(CONFIG_IDE_PIIX) += ide/piix.o
-hw-obj-$(CONFIG_IDE_CMD646) += ide/cmd646.o
-hw-obj-$(CONFIG_IDE_MACIO) += ide/macio.o
-hw-obj-$(CONFIG_IDE_VIA) += ide/via.o
-hw-obj-$(CONFIG_AHCI) += ide/ahci.o
-hw-obj-$(CONFIG_AHCI) += ide/ich.o
-
-# SCSI layer
-hw-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
-hw-obj-$(CONFIG_ESP) += esp.o
-
-hw-obj-y += dma-helpers.o sysbus.o isa-bus.o
-hw-obj-y += qdev-addr.o
-
-# VGA
-hw-obj-$(CONFIG_VGA_PCI) += vga-pci.o
-hw-obj-$(CONFIG_VGA_ISA) += vga-isa.o
-hw-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
-hw-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
-hw-obj-$(CONFIG_VMMOUSE) += vmmouse.o
-hw-obj-$(CONFIG_VGA_CIRRUS) += cirrus_vga.o
-
-hw-obj-$(CONFIG_RC4030) += rc4030.o
-hw-obj-$(CONFIG_DP8393X) += dp8393x.o
-hw-obj-$(CONFIG_DS1225Y) += ds1225y.o
-hw-obj-$(CONFIG_MIPSNET) += mipsnet.o
-
-hw-obj-y += qtest.o
-
-# Sound
-sound-obj-y =
-sound-obj-$(CONFIG_SB16) += sb16.o
-sound-obj-$(CONFIG_ES1370) += es1370.o
-sound-obj-$(CONFIG_AC97) += ac97.o
-sound-obj-$(CONFIG_ADLIB) += fmopl.o adlib.o
-sound-obj-$(CONFIG_GUS) += gus.o gusemu_hal.o gusemu_mixer.o
-sound-obj-$(CONFIG_CS4231A) += cs4231a.o
-sound-obj-$(CONFIG_HDA) += intel-hda.o hda-audio.o
-
-adlib.o fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
-hw-obj-$(CONFIG_SOUND) += $(sound-obj-y)
-
-9pfs-nested-$(CONFIG_VIRTFS) = virtio-9p.o
-9pfs-nested-$(CONFIG_VIRTFS) += virtio-9p-local.o virtio-9p-xattr.o
-9pfs-nested-$(CONFIG_VIRTFS) += virtio-9p-xattr-user.o virtio-9p-posix-acl.o
-9pfs-nested-$(CONFIG_VIRTFS) += virtio-9p-coth.o cofs.o codir.o cofile.o
-9pfs-nested-$(CONFIG_VIRTFS) += coxattr.o virtio-9p-synth.o
-9pfs-nested-$(CONFIG_OPEN_BY_HANDLE) += virtio-9p-handle.o
-9pfs-nested-$(CONFIG_VIRTFS) += virtio-9p-proxy.o
-
-hw-obj-$(CONFIG_REALLY_VIRTFS) += $(addprefix 9pfs/, $(9pfs-nested-y))
+hw-obj-y = vl.o dma-helpers.o qtest.o hw/
######################################################################
# libdis
@@ -364,6 +224,7 @@ vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
QEMU_CFLAGS+=$(GLIB_CFLAGS)
nested-vars += \
+ hw-obj-y \
qga-obj-y \
block-obj-y \
qom-obj-y \
diff --git a/configure b/configure
index ffae12c..b9637dc 100755
--- a/configure
+++ b/configure
@@ -3988,10 +3988,11 @@ done
for hwlib in 32 64; do
d=libhw$hwlib
mkdir -p $d
- mkdir -p $d/ide
- mkdir -p $d/usb
+ mkdir -p $d/hw
+ mkdir -p $d/hw/ide
+ mkdir -p $d/hw/usb
symlink "$source_path/Makefile.hw" "$d/Makefile"
- mkdir -p $d/9pfs
+ mkdir -p $d/hw/9pfs
echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak
done
diff --git a/hw/9pfs/Makefile.objs b/hw/9pfs/Makefile.objs
new file mode 100644
index 0000000..2700772
--- /dev/null
+++ b/hw/9pfs/Makefile.objs
@@ -0,0 +1,7 @@
+hw-obj-y = virtio-9p.o
+hw-obj-y += virtio-9p-local.o virtio-9p-xattr.o
+hw-obj-y += virtio-9p-xattr-user.o virtio-9p-posix-acl.o
+hw-obj-y += virtio-9p-coth.o cofs.o codir.o cofile.o
+hw-obj-y += coxattr.o virtio-9p-synth.o
+hw-obj-$(CONFIG_OPEN_BY_HANDLE) += virtio-9p-handle.o
+hw-obj-y += virtio-9p-proxy.o
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 00642f3..08dde63 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -1,3 +1,118 @@
+hw-obj-y = usb/ ide/
+hw-obj-y += loader.o
+hw-obj-$(CONFIG_VIRTIO) += virtio-console.o
+hw-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
+hw-obj-y += fw_cfg.o
+hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o pci_bridge_dev.o
+hw-obj-$(CONFIG_PCI) += msix.o msi.o
+hw-obj-$(CONFIG_PCI) += shpc.o
+hw-obj-$(CONFIG_PCI) += slotid_cap.o
+hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
+hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
+hw-obj-y += watchdog.o
+hw-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
+hw-obj-$(CONFIG_ECC) += ecc.o
+hw-obj-$(CONFIG_NAND) += nand.o
+hw-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
+hw-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
+
+hw-obj-$(CONFIG_M48T59) += m48t59.o
+hw-obj-$(CONFIG_ESCC) += escc.o
+hw-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
+
+hw-obj-$(CONFIG_SERIAL) += serial.o
+hw-obj-$(CONFIG_PARALLEL) += parallel.o
+hw-obj-$(CONFIG_I8254) += i8254_common.o i8254.o
+hw-obj-$(CONFIG_PCSPK) += pcspk.o
+hw-obj-$(CONFIG_PCKBD) += pckbd.o
+hw-obj-$(CONFIG_FDC) += fdc.o
+hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o
+hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o
+hw-obj-$(CONFIG_DMA) += dma.o
+hw-obj-$(CONFIG_I82374) += i82374.o
+hw-obj-$(CONFIG_HPET) += hpet.o
+hw-obj-$(CONFIG_APPLESMC) += applesmc.o
+hw-obj-$(CONFIG_SMARTCARD) += ccid-card-passthru.o
+hw-obj-$(CONFIG_SMARTCARD_NSS) += ccid-card-emulated.o
+hw-obj-$(CONFIG_I8259) += i8259_common.o i8259.o
+
+# PPC devices
+hw-obj-$(CONFIG_PREP_PCI) += prep_pci.o
+hw-obj-$(CONFIG_I82378) += i82378.o
+# Mac shared devices
+hw-obj-$(CONFIG_MACIO) += macio.o
+hw-obj-$(CONFIG_CUDA) += cuda.o
+hw-obj-$(CONFIG_ADB) += adb.o
+hw-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
+hw-obj-$(CONFIG_MAC_DBDMA) += mac_dbdma.o
+# OldWorld PowerMac
+hw-obj-$(CONFIG_HEATHROW_PIC) += heathrow_pic.o
+hw-obj-$(CONFIG_GRACKLE_PCI) += grackle_pci.o
+# NewWorld PowerMac
+hw-obj-$(CONFIG_UNIN_PCI) += unin_pci.o
+hw-obj-$(CONFIG_DEC_PCI) += dec_pci.o
+# PowerPC E500 boards
+hw-obj-$(CONFIG_PPCE500_PCI) += ppce500_pci.o
+
+# MIPS devices
+hw-obj-$(CONFIG_PIIX4) += piix4.o
+hw-obj-$(CONFIG_G364FB) += g364fb.o
+hw-obj-$(CONFIG_JAZZ_LED) += jazz_led.o
+
+# PCI watchdog devices
+hw-obj-$(CONFIG_PCI) += wdt_i6300esb.o
+
+hw-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
+
+# PCI network cards
+hw-obj-$(CONFIG_NE2000_PCI) += ne2000.o
+hw-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o
+hw-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o
+hw-obj-$(CONFIG_PCNET_COMMON) += pcnet.o
+hw-obj-$(CONFIG_E1000_PCI) += e1000.o
+hw-obj-$(CONFIG_RTL8139_PCI) += rtl8139.o
+
+hw-obj-$(CONFIG_SMC91C111) += smc91c111.o
+hw-obj-$(CONFIG_LAN9118) += lan9118.o
+hw-obj-$(CONFIG_NE2000_ISA) += ne2000-isa.o
+hw-obj-$(CONFIG_OPENCORES_ETH) += opencores_eth.o
+
+# SCSI layer
+hw-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
+hw-obj-$(CONFIG_ESP) += esp.o
+
+hw-obj-y += sysbus.o isa-bus.o
+hw-obj-y += qdev-addr.o
+
+# VGA
+hw-obj-$(CONFIG_VGA_PCI) += vga-pci.o
+hw-obj-$(CONFIG_VGA_ISA) += vga-isa.o
+hw-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
+hw-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
+hw-obj-$(CONFIG_VMMOUSE) += vmmouse.o
+hw-obj-$(CONFIG_VGA_CIRRUS) += cirrus_vga.o
+
+hw-obj-$(CONFIG_RC4030) += rc4030.o
+hw-obj-$(CONFIG_DP8393X) += dp8393x.o
+hw-obj-$(CONFIG_DS1225Y) += ds1225y.o
+hw-obj-$(CONFIG_MIPSNET) += mipsnet.o
+
+# Sound
+sound-obj-y =
+sound-obj-$(CONFIG_SB16) += sb16.o
+sound-obj-$(CONFIG_ES1370) += es1370.o
+sound-obj-$(CONFIG_AC97) += ac97.o
+sound-obj-$(CONFIG_ADLIB) += fmopl.o adlib.o
+sound-obj-$(CONFIG_GUS) += gus.o gusemu_hal.o gusemu_mixer.o
+sound-obj-$(CONFIG_CS4231A) += cs4231a.o
+sound-obj-$(CONFIG_HDA) += intel-hda.o hda-audio.o
+
+$(obj)/adlib.o $(obj)/fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
+
+hw-obj-$(CONFIG_SOUND) += $(sound-obj-y)
+
+hw-obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/
+
common-obj-y += usb/
common-obj-y += irq.o
common-obj-$(CONFIG_PTIMER) += ptimer.o
diff --git a/hw/ide/Makefile.objs b/hw/ide/Makefile.objs
new file mode 100644
index 0000000..cf718dd
--- /dev/null
+++ b/hw/ide/Makefile.objs
@@ -0,0 +1,10 @@
+hw-obj-$(CONFIG_IDE_CORE) += core.o atapi.o
+hw-obj-$(CONFIG_IDE_QDEV) += qdev.o
+hw-obj-$(CONFIG_IDE_PCI) += pci.o
+hw-obj-$(CONFIG_IDE_ISA) += isa.o
+hw-obj-$(CONFIG_IDE_PIIX) += piix.o
+hw-obj-$(CONFIG_IDE_CMD646) += cmd646.o
+hw-obj-$(CONFIG_IDE_MACIO) += macio.o
+hw-obj-$(CONFIG_IDE_VIA) += via.o
+hw-obj-$(CONFIG_AHCI) += ahci.o
+hw-obj-$(CONFIG_AHCI) += ich.o
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index 7dbc33b..9c7ddf5 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -1,3 +1,12 @@
+hw-obj-$(CONFIG_USB_UHCI) += hcd-uhci.o
+hw-obj-$(CONFIG_USB_OHCI) += hcd-ohci.o
+hw-obj-$(CONFIG_USB_EHCI) += hcd-ehci.o
+hw-obj-$(CONFIG_USB_XHCI) += hcd-xhci.o
+hw-obj-y += libhw.o
+
+hw-obj-$(CONFIG_SMARTCARD) += dev-smartcard-reader.o
+hw-obj-$(CONFIG_USB_REDIR) += redirect.o
+
common-obj-y += core.o bus.o desc.o dev-hub.o
common-obj-y += host-$(HOST_USB).o dev-bluetooth.o
common-obj-y += dev-hid.o dev-storage.o dev-wacom.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 20/25] build: move per-target hw/ objects to nested Makefile.objs
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (18 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 19/25] build: convert libhw to nested Makefile.objs Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 21/25] build: move device tree to per-target Makefile Paolo Bonzini
` (5 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
This completes the move to nested Makefile.objs for virtio and a few
other files that were not part of obj-TARGET-y, but still were
compiled separately for each target.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.hw | 5 +++--
Makefile.target | 31 +++++--------------------------
configure | 1 +
hw/9pfs/Makefile.objs | 2 ++
hw/Makefile.objs | 18 ++++++++++++++++++
5 files changed, 29 insertions(+), 28 deletions(-)
diff --git a/Makefile.hw b/Makefile.hw
index 155a0c3..2bcbaff 100644
--- a/Makefile.hw
+++ b/Makefile.hw
@@ -19,7 +19,8 @@ all: $(hw-obj-y)
@true
clean:
- rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~ */*/*.d
+ rm -f $(addsuffix /*.o, $(dir $(sort $(hw-obj-y))))
+ rm -f $(addsuffix /*.d, $(dir $(sort $(hw-obj-y))))
# Include automatically generated dependency files
--include $(wildcard *.d */*.d */*/*.d)
+-include $(patsubst %.o, %.d, $(hw-obj-y))
diff --git a/Makefile.target b/Makefile.target
index 006f1cd..be09865 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -1,9 +1,5 @@
# -*- Mode: makefile -*-
-CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
-CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
-CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
-
include ../config-host.mak
include config-devices.mak
include config-target.mak
@@ -120,19 +116,14 @@ endif #CONFIG_BSD_USER
#########################################################
# System emulator target
ifdef CONFIG_SOFTMMU
+CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
+CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
+CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o
-# virtio has to be here due to weird dependency between PCI and virtio-net.
-# need to fix this properly
-obj-$(CONFIG_NO_PCI) += pci-stub.o
-obj-$(CONFIG_VIRTIO) += virtio.o virtio-blk.o virtio-balloon.o virtio-net.o virtio-serial-bus.o
-obj-$(CONFIG_VIRTIO) += virtio-scsi.o
-obj-y += vhost_net.o
-obj-$(CONFIG_VHOST_NET) += vhost.o
-obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/virtio-9p-device.o
+obj-y += hw/
obj-$(CONFIG_KVM) += kvm-all.o
obj-$(CONFIG_NO_KVM) += kvm-stub.o
-obj-$(CONFIG_VGA) += vga.o
obj-y += memory.o savevm.o cputlb.o
LIBS+=-lz
@@ -142,21 +133,9 @@ QEMU_CFLAGS += $(VNC_JPEG_CFLAGS)
QEMU_CFLAGS += $(VNC_PNG_CFLAGS)
# xen support
-obj-$(CONFIG_XEN) += xen-all.o xen_machine_pv.o xen_domainbuild.o xen-mapcache.o
+obj-$(CONFIG_XEN) += xen-all.o xen-mapcache.o
obj-$(CONFIG_NO_XEN) += xen-stub.o
-# Inter-VM PCI shared memory
-CONFIG_IVSHMEM =
-ifeq ($(CONFIG_KVM), y)
- ifeq ($(CONFIG_PCI), y)
- CONFIG_IVSHMEM = y
- endif
-endif
-obj-$(CONFIG_IVSHMEM) += ivshmem.o
-
-# Generic hotplugging
-obj-y += device-hotplug.o
-
# Hardware support
ifeq ($(TARGET_ARCH), sparc64)
obj-y += hw/sparc64/
diff --git a/configure b/configure
index b9637dc..d90255a 100755
--- a/configure
+++ b/configure
@@ -3675,6 +3675,7 @@ mkdir -p $target_dir/9pfs
mkdir -p $target_dir/hw
mkdir -p $target_dir/hw/ide
mkdir -p $target_dir/hw/usb
+mkdir -p $target_dir/hw/9pfs
mkdir -p $target_dir/hw/kvm
mkdir -p $target_dir/hw/$TARGET_ARCH
mkdir -p $target_dir/hw/$TARGET_BASE_ARCH
diff --git a/hw/9pfs/Makefile.objs b/hw/9pfs/Makefile.objs
index 2700772..972df24 100644
--- a/hw/9pfs/Makefile.objs
+++ b/hw/9pfs/Makefile.objs
@@ -5,3 +5,5 @@ hw-obj-y += virtio-9p-coth.o cofs.o codir.o cofile.o
hw-obj-y += coxattr.o virtio-9p-synth.o
hw-obj-$(CONFIG_OPEN_BY_HANDLE) += virtio-9p-handle.o
hw-obj-y += virtio-9p-proxy.o
+
+obj-y += virtio-9p-device.o
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 08dde63..7e17504 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -145,3 +145,21 @@ common-obj-$(CONFIG_BRLAPI) += baum.o
# xen backend driver support
common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o xenfb.o xen_disk.o xen_nic.o
+
+# Per-target files
+# virtio has to be here due to weird dependency between PCI and virtio-net.
+# need to fix this properly
+obj-$(CONFIG_VIRTIO) += virtio.o virtio-blk.o virtio-balloon.o virtio-net.o
+obj-$(CONFIG_VIRTIO) += virtio-serial-bus.o virtio-scsi.o
+obj-$(CONFIG_SOFTMMU) += vhost_net.o
+obj-$(CONFIG_VHOST_NET) += vhost.o
+obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/
+obj-$(CONFIG_NO_PCI) += pci-stub.o
+obj-$(CONFIG_VGA) += vga.o
+obj-$(CONFIG_SOFTMMU) += device-hotplug.o
+obj-$(CONFIG_XEN) += xen_domainbuild.o xen_machine_pv.o
+
+# Inter-VM PCI shared memory
+ifeq ($(CONFIG_PCI), y)
+obj-$(CONFIG_KVM) += ivshmem.o
+endif
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 21/25] build: move device tree to per-target Makefile
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (19 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 20/25] build: move per-target hw/ objects " Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 22/25] build: libcacard Makefile cleanups Paolo Bonzini
` (4 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.target | 7 -------
hw/arm/Makefile.objs | 1 +
hw/microblaze/Makefile.objs | 1 +
hw/ppc/Makefile.objs | 1 +
4 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index be09865..f25e278 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -143,13 +143,6 @@ else
obj-y += hw/$(TARGET_BASE_ARCH)/
endif
-# Device tree
-ifeq ($(CONFIG_FDT), y)
-obj-$(TARGET_ARM) += device_tree.o
-obj-$(TARGET_MICROBLAZE) += device_tree.o
-obj-$(TARGET_PPC) += device_tree.o
-endif
-
main.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 92b4f1e..a0ff6a6 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -35,5 +35,6 @@ obj-y += vexpress.o
obj-y += strongarm.o
obj-y += collie.o
obj-y += pl041.o lm4549.o
+obj-$(CONFIG_FDT) += ../device_tree.o
obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/microblaze/Makefile.objs b/hw/microblaze/Makefile.objs
index 4172442..020f7b6 100644
--- a/hw/microblaze/Makefile.objs
+++ b/hw/microblaze/Makefile.objs
@@ -9,5 +9,6 @@ obj-y += xilinx_uartlite.o
obj-y += xilinx_ethlite.o
obj-y += xilinx_axidma.o
obj-y += xilinx_axienet.o
+obj-$(CONFIG_FDT) += ../device_tree.o
obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 5b09849..842e7b9 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -21,6 +21,7 @@ obj-y += virtex_ml507.o
obj-$(CONFIG_KVM) += kvm_ppc.o
# PowerPC OpenPIC
obj-y += openpic.o
+obj-$(CONFIG_FDT) += ../device_tree.o
# Xilinx PPC peripherals
obj-y += xilinx_intc.o
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 22/25] build: libcacard Makefile cleanups
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (20 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 21/25] build: move device tree to per-target Makefile Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 23/25] build: limit usage of vpath Paolo Bonzini
` (3 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Build vscclient from toplevel Makefile, limit usage of vpath.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 4 ++++
Makefile.objs | 8 +++++++-
Makefile.target | 6 ------
configure | 12 +++++-------
libcacard/Makefile | 17 ++++++-----------
5 files changed, 22 insertions(+), 25 deletions(-)
diff --git a/Makefile b/Makefile
index a10005a..1d34b95 100644
--- a/Makefile
+++ b/Makefile
@@ -147,6 +147,10 @@ libcacard.la: $(oslib-obj-y) qemu-timer-common.o $(addsuffix .lo, $(basename $(t
install-libcacard: libcacard.la
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libcacard V="$(V)" TARGET_DIR="$*/" install-libcacard,)
endif
+
+vscclient$(EXESUF): $(libcacard-y) $(oslib-obj-y) qemu-timer-common.o libcacard/vscclient.o
+ $(call quiet-command,$(CC) -o $@ $^ $(libcacard_libs) $(LIBS)," LINK $@")
+
######################################################################
qemu-img.o: qemu-img-cmds.h
diff --git a/Makefile.objs b/Makefile.objs
index ae3770a..74110dd 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -198,7 +198,13 @@ $(trace-obj-y): $(GENERATED_HEADERS)
######################################################################
# smartcard
-libcacard-y = cac.o event.o vcard.o vreader.o vcard_emul_nss.o vcard_emul_type.o card_7816.o
+libcacard-y += libcacard/cac.o libcacard/event.o
+libcacard-y += libcacard/vcard.o libcacard/vreader.o
+libcacard-y += libcacard/vcard_emul_nss.o
+libcacard-y += libcacard/vcard_emul_type.o
+libcacard-y += libcacard/card_7816.o
+
+common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y)
######################################################################
# qapi
diff --git a/Makefile.target b/Makefile.target
index f25e278..9728c46 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -158,16 +158,10 @@ 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
-all-obj-$(CONFIG_SMARTCARD_NSS) += $(addprefix ../libcacard/, $(libcacard-y))
-
else
all-obj-y += $(addprefix ../libuser/, $(user-obj-y))
all-obj-y += $(addprefix ../libdis-user/, $(libdis-y))
diff --git a/configure b/configure
index d90255a..301b574 100755
--- a/configure
+++ b/configure
@@ -2927,6 +2927,9 @@ if test "$softmmu" = yes ; then
fi
fi
fi
+if test "$smartcard_nss" = "yes" ; then
+ tools="vscclient\$(EXESUF) $tools"
+fi
# Mac OS X ships with a broken assembler
roms=
@@ -3951,9 +3954,10 @@ DIRS="$DIRS roms/seabios roms/vgabios"
DIRS="$DIRS fsdev ui hw hw/usb"
DIRS="$DIRS qapi qapi-generated"
DIRS="$DIRS qga trace qom"
+DIRS="$DIRS libcacard libcacard/libcacard libcacard/trace"
FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
-FILES="$FILES tests/tcg/lm32/Makefile"
+FILES="$FILES tests/tcg/lm32/Makefile libcacard/Makefile"
FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps"
FILES="$FILES pc-bios/spapr-rtas/Makefile"
FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile"
@@ -3997,12 +4001,6 @@ for hwlib in 32 64; do
echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak
done
-if [ "$source_path" != `pwd` ]; then
- # out of tree build
- mkdir -p libcacard
- symlink "$source_path/libcacard/Makefile" libcacard/Makefile
-fi
-
d=libuser
mkdir -p $d
mkdir -p $d/trace
diff --git a/libcacard/Makefile b/libcacard/Makefile
index c6a896a..fdc2873 100644
--- a/libcacard/Makefile
+++ b/libcacard/Makefile
@@ -2,29 +2,23 @@
-include $(SRC_PATH)/Makefile.objs
-include $(SRC_PATH)/rules.mak
-libcacard_srcpath=$(SRC_PATH)/libcacard
libcacard_includedir=$(includedir)/cacard
-$(call set-vpath, $(SRC_PATH):$(libcacard_srcpath))
-
-# objects linked against normal qemu binaries, not compiled with libtool
-QEMU_OBJS=$(addprefix ../,$(oslib-obj-y) qemu-timer-common.o $(trace-obj-y))
+$(call set-vpath, $(SRC_PATH))
# objects linked into a shared library, built with libtool with -fPIC if required
-QEMU_OBJS_LIB=$(addsuffix .lo,$(basename $(QEMU_OBJS)))
+QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o $(trace-obj-y)
+QEMU_OBJS_LIB=$(patsubst %.o,%.lo,$(QEMU_OBJS))
QEMU_CFLAGS+=-I../
-libcacard.lib-y=$(addsuffix .lo,$(basename $(libcacard-y)))
-
-vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o
- $(call quiet-command,$(CC) -o $@ $^ $(libcacard_libs) $(LIBS)," LINK $@")
+libcacard.lib-y=$(patsubst %.o,%.lo,$(libcacard-y))
clean:
rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~ vscclient *.lo .libs/* *.la *.pc
rm -Rf .libs
-all: vscclient
+all: libcacard.la libcacard.pc
# Dummy command so that make thinks it has done something
@true
@@ -41,6 +35,7 @@ else
libcacard.la: $(libcacard.lib-y) $(QEMU_OBJS_LIB)
$(call quiet-command,$(LIBTOOL) --mode=link --quiet --tag=CC $(CC) -rpath $(libdir) -o $@ $^ $(libcacard_libs)," lt LINK $@")
+libcacard_srcpath=$(SRC_PATH)/libcacard
libcacard.pc: $(libcacard_srcpath)/libcacard.pc.in
sed -e 's|@LIBDIR@|$(libdir)|' \
-e 's|@INCLUDEDIR@|$(libcacard_includedir)|' \
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 23/25] build: limit usage of vpath
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (21 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 22/25] build: libcacard Makefile cleanups Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 24/25] build: compile oslib-obj-y once Paolo Bonzini
` (2 subsequent siblings)
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
All paths are now explicitly given, and the object tree mimics
the source tree, so there is no need to apply special vpaths.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 2 +-
Makefile.target | 5 ++---
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 1d34b95..32550cb 100644
--- a/Makefile
+++ b/Makefile
@@ -33,7 +33,7 @@ configure: ;
.PHONY: all clean cscope distclean dvi html info install install-doc \
pdf recurse-all speed tar tarbin test build-all
-$(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw)
+$(call set-vpath, $(SRC_PATH))
LIBS+=-lz $(LIBS_TOOLS)
diff --git a/Makefile.target b/Makefile.target
index 9728c46..cfbd265 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -8,12 +8,11 @@ ifneq ($(HWDIR),)
include $(HWDIR)/config.mak
endif
-TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
-$(call set-vpath, $(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw)
+$(call set-vpath, $(SRC_PATH))
ifdef CONFIG_LINUX
QEMU_CFLAGS += -I../linux-headers
endif
-QEMU_CFLAGS += -I.. -I$(TARGET_PATH) -DNEED_CPU_H
+QEMU_CFLAGS += -I.. -I$(SRC_PATH)/target-$(TARGET_BASE_ARCH) -DNEED_CPU_H
QEMU_CFLAGS+=-I$(SRC_PATH)/include
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 24/25] build: compile oslib-obj-y once
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (22 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 23/25] build: limit usage of vpath Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time Paolo Bonzini
2012-06-06 9:23 ` [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Anthony Liguori
25 siblings, 0 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
There is no difference in oslib-obj-y between user-mode and system
targets. There used to be when user-mode could optionally be
compiled with PIE.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 3 ++-
Makefile.target | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs
index 74110dd..8e72f09 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -22,6 +22,8 @@ oslib-obj-y = osdep.o
oslib-obj-$(CONFIG_WIN32) += oslib-win32.o qemu-thread-win32.o
oslib-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-thread-posix.o
+universal-obj-y += $(oslib-obj-y)
+
#######################################################################
# coroutines
coroutine-obj-y = qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
@@ -62,7 +64,6 @@ common-obj-y = $(block-obj-y) blockdev.o
common-obj-y += net.o net/
common-obj-y += qom/
common-obj-y += readline.o console.o cursor.o
-common-obj-y += $(oslib-obj-y)
common-obj-$(CONFIG_WIN32) += os-win32.o
common-obj-$(CONFIG_POSIX) += os-posix.o
diff --git a/Makefile.target b/Makefile.target
index cfbd265..1b4ac98 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -96,7 +96,7 @@ ifdef CONFIG_LINUX_USER
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 += gdbstub.o thunk.o user-exec.o
endif #CONFIG_LINUX_USER
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (23 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 24/25] build: compile oslib-obj-y once Paolo Bonzini
@ 2012-06-06 6:36 ` Paolo Bonzini
2012-06-06 8:58 ` Anthony Liguori
2012-06-06 9:23 ` [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Anthony Liguori
25 siblings, 1 reply; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 6:36 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 35 ++---------------------------------
rules.mak | 1 +
2 files changed, 3 insertions(+), 33 deletions(-)
diff --git a/configure b/configure
index 301b574..07e3ff1 100755
--- a/configure
+++ b/configure
@@ -3672,26 +3672,6 @@ if [ "$TARGET_BASE_ARCH" = "" ]; then
TARGET_BASE_ARCH=$TARGET_ARCH
fi
-mkdir -p $target_dir/fpu
-mkdir -p $target_dir/tcg
-mkdir -p $target_dir/9pfs
-mkdir -p $target_dir/hw
-mkdir -p $target_dir/hw/ide
-mkdir -p $target_dir/hw/usb
-mkdir -p $target_dir/hw/9pfs
-mkdir -p $target_dir/hw/kvm
-mkdir -p $target_dir/hw/$TARGET_ARCH
-mkdir -p $target_dir/hw/$TARGET_BASE_ARCH
-mkdir -p $target_dir/target-$TARGET_BASE_ARCH
-if test "$target_linux_user" = yes; then
- mkdir -p $target_dir/linux-user
-fi
-if test "$target_bsd_user" = yes; then
- mkdir -p $target_dir/bsd-user
-fi
-if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
- mkdir -p $target_dir/linux-user/arm/nwfpe
-fi
symlink "$source_path/Makefile.target" "$target_dir/Makefile"
@@ -3948,12 +3928,9 @@ done # for target in $targets
# build tree in object directory in case the source is not in the current directory
DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
-DIRS="$DIRS slirp audio block net pc-bios/optionrom"
-DIRS="$DIRS pc-bios/spapr-rtas"
+DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas"
DIRS="$DIRS roms/seabios roms/vgabios"
-DIRS="$DIRS fsdev ui hw hw/usb"
-DIRS="$DIRS qapi qapi-generated"
-DIRS="$DIRS qga trace qom"
+DIRS="$DIRS qapi-generated"
DIRS="$DIRS libcacard libcacard/libcacard libcacard/trace"
FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
@@ -3992,19 +3969,11 @@ done
for hwlib in 32 64; do
d=libhw$hwlib
- mkdir -p $d
- mkdir -p $d/hw
- mkdir -p $d/hw/ide
- mkdir -p $d/hw/usb
symlink "$source_path/Makefile.hw" "$d/Makefile"
- mkdir -p $d/hw/9pfs
echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak
done
d=libuser
-mkdir -p $d
-mkdir -p $d/trace
-mkdir -p $d/qom
symlink "$source_path/Makefile.user" "$d/Makefile"
if test "$docs" = "yes" ; then
diff --git a/rules.mak b/rules.mak
index f65283c..4bc5e52 100644
--- a/rules.mak
+++ b/rules.mak
@@ -111,4 +111,5 @@ endef
define unnest-vars
$(call unnest-vars-1)
$(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
+$(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))))
endef
--
1.7.10.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time Paolo Bonzini
@ 2012-06-06 8:58 ` Anthony Liguori
2012-06-06 11:54 ` Paolo Bonzini
0 siblings, 1 reply; 36+ messages in thread
From: Anthony Liguori @ 2012-06-06 8:58 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 2958 bytes --]
This results in failures to create symlinks in a new build directory. The
following patch seems to resolve it though.
Regards,
Anthony Liguori
On 06/06/2012 02:36 PM, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini<pbonzini@redhat.com>
> ---
> configure | 35 ++---------------------------------
> rules.mak | 1 +
> 2 files changed, 3 insertions(+), 33 deletions(-)
>
> diff --git a/configure b/configure
> index 301b574..07e3ff1 100755
> --- a/configure
> +++ b/configure
> @@ -3672,26 +3672,6 @@ if [ "$TARGET_BASE_ARCH" = "" ]; then
> TARGET_BASE_ARCH=$TARGET_ARCH
> fi
>
> -mkdir -p $target_dir/fpu
> -mkdir -p $target_dir/tcg
> -mkdir -p $target_dir/9pfs
> -mkdir -p $target_dir/hw
> -mkdir -p $target_dir/hw/ide
> -mkdir -p $target_dir/hw/usb
> -mkdir -p $target_dir/hw/9pfs
> -mkdir -p $target_dir/hw/kvm
> -mkdir -p $target_dir/hw/$TARGET_ARCH
> -mkdir -p $target_dir/hw/$TARGET_BASE_ARCH
> -mkdir -p $target_dir/target-$TARGET_BASE_ARCH
> -if test "$target_linux_user" = yes; then
> - mkdir -p $target_dir/linux-user
> -fi
> -if test "$target_bsd_user" = yes; then
> - mkdir -p $target_dir/bsd-user
> -fi
> -if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
> - mkdir -p $target_dir/linux-user/arm/nwfpe
> -fi
> symlink "$source_path/Makefile.target" "$target_dir/Makefile"
>
>
> @@ -3948,12 +3928,9 @@ done # for target in $targets
>
> # build tree in object directory in case the source is not in the current directory
> DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32"
> -DIRS="$DIRS slirp audio block net pc-bios/optionrom"
> -DIRS="$DIRS pc-bios/spapr-rtas"
> +DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas"
> DIRS="$DIRS roms/seabios roms/vgabios"
> -DIRS="$DIRS fsdev ui hw hw/usb"
> -DIRS="$DIRS qapi qapi-generated"
> -DIRS="$DIRS qga trace qom"
> +DIRS="$DIRS qapi-generated"
> DIRS="$DIRS libcacard libcacard/libcacard libcacard/trace"
> FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
> FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
> @@ -3992,19 +3969,11 @@ done
>
> for hwlib in 32 64; do
> d=libhw$hwlib
> - mkdir -p $d
> - mkdir -p $d/hw
> - mkdir -p $d/hw/ide
> - mkdir -p $d/hw/usb
> symlink "$source_path/Makefile.hw" "$d/Makefile"
> - mkdir -p $d/hw/9pfs
> echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib"> $d/config.mak
> done
>
> d=libuser
> -mkdir -p $d
> -mkdir -p $d/trace
> -mkdir -p $d/qom
> symlink "$source_path/Makefile.user" "$d/Makefile"
>
> if test "$docs" = "yes" ; then
> diff --git a/rules.mak b/rules.mak
> index f65283c..4bc5e52 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -111,4 +111,5 @@ endef
> define unnest-vars
> $(call unnest-vars-1)
> $(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
> +$(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))))
> endef
[-- Attachment #2: 0001-configure-ensure-directory-exists-when-creating-syml.patch --]
[-- Type: text/x-patch, Size: 1039 bytes --]
>From e0e6e5b689cbcb782bca8f158fad89b3389e9e11 Mon Sep 17 00:00:00 2001
From: Anthony Liguori <aliguori@us.ibm.com>
Date: Wed, 6 Jun 2012 16:57:00 +0800
Subject: [PATCH] configure: ensure directory exists when creating symlink
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
configure | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 07e3ff1..4a7f027 100755
--- a/configure
+++ b/configure
@@ -42,6 +42,7 @@ compile_prog() {
# symbolically link $1 to $2. Portable version of "ln -sf".
symlink() {
rm -rf "$2"
+ mkdir -p `dirname $2`
ln -s "$1" "$2"
}
@@ -3454,14 +3455,12 @@ if test -f ${config_host_ld}~ ; then
fi
for d in libdis libdis-user; do
- mkdir -p $d
symlink "$source_path/Makefile.dis" "$d/Makefile"
echo > $d/config.mak
done
# use included Linux headers
if test "$linux" = "yes" ; then
- mkdir -p linux-headers
case "$cpu" in
i386|x86_64)
symlink "$source_path/linux-headers/asm-x86" linux-headers/asm
--
1.7.5.4
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
` (24 preceding siblings ...)
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time Paolo Bonzini
@ 2012-06-06 9:23 ` Anthony Liguori
25 siblings, 0 replies; 36+ messages in thread
From: Anthony Liguori @ 2012-06-06 9:23 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel
On 06/06/2012 02:36 PM, Paolo Bonzini wrote:
> Here is v2 of the nested Makefile patches. Thanks all for the enthusiasm!
>
> The main change is that rules can now be put in the per-directory snippets.
> This is done for op_helper.o already.
>
> Paolo
>
> v1->v2:
> do not call nested files "Makefile" (Andreas)
> do not create directories at configure time (Anthony)
> allow per-snippet rules, use it for op_helper.o (Blue Swirl)
> whitespace fixes (Blue Swirl)
> fix Xen (myself)
FWIW, with my patch, this seems to pass my basic sniff testing. I'll try to
apply a v3 quickly once you send it out.
Regards,
Anthony Liguori
>
> Paolo Bonzini (25):
> build: remove trace-nested-y
> build: do not sprinkle around GENERATED_HEADERS dependencies
> build: add rules for nesting
> build: move *-user/ objects to nested Makefile.objs
> build: move obj-TARGET-y variables to nested Makefile.objs
> build: move libobj-y variable to nested Makefile.objs
> build: move other target-*/ objects to nested Makefile.objs
> build: move rules for nesting to Makefile.objs
> build: put qom/ rules in a Makefile.objs file
> build: move block/ objects to nested Makefile.objs
> build: move net/ objects to nested Makefile.objs
> build: move fsdev/ objects to nested Makefile.objs
> build: move ui/ objects to nested Makefile.objs
> build: move audio/ objects to nested Makefile.objs
> build: move slirp/ objects to nested Makefile.objs
> build: move qapi/ objects to nested Makefile.objs
> build: move qga/ objects to nested Makefile.objs
> build: move target-independent hw/ objects to nested Makefile.objs
> build: convert libhw to nested Makefile.objs
> build: move per-target hw/ objects to nested Makefile.objs
> build: move device tree to per-target Makefile
> build: libcacard Makefile cleanups
> build: limit usage of vpath
> build: compile oslib-obj-y once
> build: do not create directories at configure time
>
> Makefile | 32 ++-
> Makefile.hw | 7 +-
> Makefile.objs | 317 ++++--------------------
> Makefile.target | 333 ++++----------------------
> audio/Makefile.objs | 14 ++
> block/Makefile.objs | 11 +
> bsd-user/Makefile.objs | 2 +
> configure | 55 ++---
> fsdev/Makefile.objs | 9 +
> hw/9pfs/Makefile.objs | 9 +
> hw/Makefile.objs | 165 +++++++++++++
> hw/alpha/Makefile.objs | 4 +
> hw/arm/Makefile.objs | 40 ++++
> hw/cris/Makefile.objs | 13 +
> hw/i386/Makefile.objs | 13 +
> hw/ide/Makefile.objs | 10 +
> hw/lm32/Makefile.objs | 23 ++
> hw/m68k/Makefile.objs | 4 +
> hw/microblaze/Makefile.objs | 14 ++
> hw/mips/Makefile.objs | 6 +
> hw/ppc/Makefile.objs | 32 +++
> hw/s390x/Makefile.objs | 3 +
> hw/sh4/Makefile.objs | 5 +
> hw/sparc/Makefile.objs | 8 +
> hw/sparc64/Makefile.objs | 4 +
> hw/usb/Makefile.objs | 13 +
> hw/xtensa/Makefile.objs | 5 +
> libcacard/Makefile | 17 +-
> linux-user/Makefile.objs | 7 +
> linux-user/arm/nwfpe/Makefile.objs | 2 +
> net/Makefile.objs | 12 +
> qapi/Makefile.objs | 3 +
> qga/Makefile.objs | 3 +
> qom/Makefile | 2 -
> qom/Makefile.objs | 4 +
> rules.mak | 40 ++++
> slirp/Makefile.objs | 3 +
> target-alpha/Makefile.objs | 3 +
> target-arm/Makefile.objs | 6 +
> arm-semi.c => target-arm/arm-semi.c | 0
> target-cris/Makefile.objs | 4 +
> target-i386/Makefile.objs | 7 +
> ioport-user.c => target-i386/ioport-user.c | 0
> target-lm32/Makefile.objs | 4 +
> target-m68k/Makefile.objs | 5 +
> m68k-semi.c => target-m68k/m68k-semi.c | 0
> target-microblaze/Makefile.objs | 4 +
> target-mips/Makefile.objs | 4 +
> target-ppc/Makefile.objs | 6 +
> target-s390x/Makefile.objs | 5 +
> target-sh4/Makefile.objs | 4 +
> target-sparc/Makefile.objs | 8 +
> target-unicore32/Makefile.objs | 4 +
> target-xtensa/Makefile.objs | 8 +
> xtensa-semi.c => target-xtensa/xtensa-semi.c | 0
> tests/Makefile | 1 -
> ui/Makefile.objs | 18 ++
> 57 files changed, 701 insertions(+), 634 deletions(-)
> create mode 100644 audio/Makefile.objs
> create mode 100644 block/Makefile.objs
> create mode 100644 bsd-user/Makefile.objs
> create mode 100644 fsdev/Makefile.objs
> create mode 100644 hw/9pfs/Makefile.objs
> create mode 100644 hw/Makefile.objs
> create mode 100644 hw/alpha/Makefile.objs
> create mode 100644 hw/arm/Makefile.objs
> create mode 100644 hw/cris/Makefile.objs
> create mode 100644 hw/i386/Makefile.objs
> create mode 100644 hw/ide/Makefile.objs
> create mode 100644 hw/lm32/Makefile.objs
> create mode 100644 hw/m68k/Makefile.objs
> create mode 100644 hw/microblaze/Makefile.objs
> create mode 100644 hw/mips/Makefile.objs
> create mode 100644 hw/ppc/Makefile.objs
> create mode 100644 hw/s390x/Makefile.objs
> create mode 100644 hw/sh4/Makefile.objs
> create mode 100644 hw/sparc/Makefile.objs
> create mode 100644 hw/sparc64/Makefile.objs
> create mode 100644 hw/usb/Makefile.objs
> create mode 100644 hw/xtensa/Makefile.objs
> create mode 100644 linux-user/Makefile.objs
> create mode 100644 linux-user/arm/nwfpe/Makefile.objs
> create mode 100644 net/Makefile.objs
> create mode 100644 qapi/Makefile.objs
> create mode 100644 qga/Makefile.objs
> delete mode 100644 qom/Makefile
> create mode 100644 qom/Makefile.objs
> create mode 100644 slirp/Makefile.objs
> create mode 100644 target-alpha/Makefile.objs
> create mode 100644 target-arm/Makefile.objs
> rename arm-semi.c => target-arm/arm-semi.c (100%)
> create mode 100644 target-cris/Makefile.objs
> create mode 100644 target-i386/Makefile.objs
> rename ioport-user.c => target-i386/ioport-user.c (100%)
> create mode 100644 target-lm32/Makefile.objs
> create mode 100644 target-m68k/Makefile.objs
> rename m68k-semi.c => target-m68k/m68k-semi.c (100%)
> create mode 100644 target-microblaze/Makefile.objs
> create mode 100644 target-mips/Makefile.objs
> create mode 100644 target-ppc/Makefile.objs
> create mode 100644 target-s390x/Makefile.objs
> create mode 100644 target-sh4/Makefile.objs
> create mode 100644 target-sparc/Makefile.objs
> create mode 100644 target-unicore32/Makefile.objs
> create mode 100644 target-xtensa/Makefile.objs
> rename xtensa-semi.c => target-xtensa/xtensa-semi.c (100%)
> create mode 100644 ui/Makefile.objs
>
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-06 8:58 ` Anthony Liguori
@ 2012-06-06 11:54 ` Paolo Bonzini
2012-06-06 12:03 ` Peter Maydell
2012-06-07 3:16 ` Anthony Liguori
0 siblings, 2 replies; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 11:54 UTC (permalink / raw)
To: Anthony Liguori; +Cc: qemu-devel
> From e0e6e5b689cbcb782bca8f158fad89b3389e9e11 Mon Sep 17 00:00:00 2001
> From: Anthony Liguori <aliguori@us.ibm.com>
> Date: Wed, 6 Jun 2012 16:57:00 +0800
> Subject: [PATCH] configure: ensure directory exists when creating symlink
>
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> ---
> configure | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 07e3ff1..4a7f027 100755
> --- a/configure
> +++ b/configure
> @@ -42,6 +42,7 @@ compile_prog() {
> # symbolically link $1 to $2. Portable version of "ln -sf".
> symlink() {
> rm -rf "$2"
> + mkdir -p `dirname $2`
Please leave the argument quoted, like
dir=`dirname "$2`
mkdir -p "$dir"
Otherwise looks good. Do we need a v3? This can just be committed
before 25/25 or even before all my patches, and that would be just what
I send.
Paolo
> ln -s "$1" "$2"
> }
>
> @@ -3454,14 +3455,12 @@ if test -f ${config_host_ld}~ ; then
> fi
>
> for d in libdis libdis-user; do
> - mkdir -p $d
> symlink "$source_path/Makefile.dis" "$d/Makefile"
> echo > $d/config.mak
> done
>
> # use included Linux headers
> if test "$linux" = "yes" ; then
> - mkdir -p linux-headers
> case "$cpu" in
> i386|x86_64)
> symlink "$source_path/linux-headers/asm-x86" linux-headers/asm
> -- 1.7.5.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-06 11:54 ` Paolo Bonzini
@ 2012-06-06 12:03 ` Peter Maydell
2012-06-06 12:16 ` Paolo Bonzini
2012-06-07 3:16 ` Anthony Liguori
1 sibling, 1 reply; 36+ messages in thread
From: Peter Maydell @ 2012-06-06 12:03 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel, Anthony Liguori
On 6 June 2012 12:54, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> From: Anthony Liguori <aliguori@us.ibm.com>
>> + mkdir -p `dirname $2`
>
> Please leave the argument quoted, like
>
> dir=`dirname "$2`
(missing ", obviously)
> mkdir -p "$dir"
Can we use
mkdir -p "$(dirname "$2")"
or are we still trying to be compatible with some non-POSIX
shell from the dawn of time?
-- PMM
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-06 12:03 ` Peter Maydell
@ 2012-06-06 12:16 ` Paolo Bonzini
2012-06-07 3:15 ` Anthony Liguori
0 siblings, 1 reply; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-06 12:16 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-devel, Anthony Liguori
Il 06/06/2012 14:03, Peter Maydell ha scritto:
> Can we use
> mkdir -p "$(dirname "$2")"
>
> or are we still trying to be compatible with some non-POSIX
> shell from the dawn of time?
Looks like we can, there are other occurrences of $() in configure.
Paolo
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-06 12:16 ` Paolo Bonzini
@ 2012-06-07 3:15 ` Anthony Liguori
2012-06-07 3:21 ` Eric Blake
0 siblings, 1 reply; 36+ messages in thread
From: Anthony Liguori @ 2012-06-07 3:15 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel
On 06/06/2012 08:16 PM, Paolo Bonzini wrote:
> Il 06/06/2012 14:03, Peter Maydell ha scritto:
>> Can we use
>> mkdir -p "$(dirname "$2")"
>>
>> or are we still trying to be compatible with some non-POSIX
>> shell from the dawn of time?
>
> Looks like we can, there are other occurrences of $() in configure.
I saw that too, but I thought $() was a bash-ism.
Regards,
Anthony Liguori
>
> Paolo
>
>
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-06 11:54 ` Paolo Bonzini
2012-06-06 12:03 ` Peter Maydell
@ 2012-06-07 3:16 ` Anthony Liguori
2012-06-07 5:26 ` Paolo Bonzini
1 sibling, 1 reply; 36+ messages in thread
From: Anthony Liguori @ 2012-06-07 3:16 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel
On 06/06/2012 07:54 PM, Paolo Bonzini wrote:
>> From e0e6e5b689cbcb782bca8f158fad89b3389e9e11 Mon Sep 17 00:00:00 2001
>> From: Anthony Liguori<aliguori@us.ibm.com>
>> Date: Wed, 6 Jun 2012 16:57:00 +0800
>> Subject: [PATCH] configure: ensure directory exists when creating symlink
>>
>> Signed-off-by: Anthony Liguori<aliguori@us.ibm.com>
>> ---
>> configure | 3 +--
>> 1 files changed, 1 insertions(+), 2 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 07e3ff1..4a7f027 100755
>> --- a/configure
>> +++ b/configure
>> @@ -42,6 +42,7 @@ compile_prog() {
>> # symbolically link $1 to $2. Portable version of "ln -sf".
>> symlink() {
>> rm -rf "$2"
>> + mkdir -p `dirname $2`
>
> Please leave the argument quoted, like
>
> dir=`dirname "$2`
> mkdir -p "$dir"
>
> Otherwise looks good. Do we need a v3? This can just be committed
> before 25/25 or even before all my patches, and that would be just what
> I send.
Unfortunately, this conflicts pretty badly with Andreas' QOM CPU series. Could
you rebase and send out a v3?
Regards,
Anthony Liguori
>
> Paolo
>
>> ln -s "$1" "$2"
>> }
>>
>> @@ -3454,14 +3455,12 @@ if test -f ${config_host_ld}~ ; then
>> fi
>>
>> for d in libdis libdis-user; do
>> - mkdir -p $d
>> symlink "$source_path/Makefile.dis" "$d/Makefile"
>> echo> $d/config.mak
>> done
>>
>> # use included Linux headers
>> if test "$linux" = "yes" ; then
>> - mkdir -p linux-headers
>> case "$cpu" in
>> i386|x86_64)
>> symlink "$source_path/linux-headers/asm-x86" linux-headers/asm
>> -- 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-07 3:15 ` Anthony Liguori
@ 2012-06-07 3:21 ` Eric Blake
0 siblings, 0 replies; 36+ messages in thread
From: Eric Blake @ 2012-06-07 3:21 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Paolo Bonzini, qemu-devel, Peter Maydell
[-- Attachment #1: Type: text/plain, Size: 940 bytes --]
On 06/06/2012 09:15 PM, Anthony Liguori wrote:
> On 06/06/2012 08:16 PM, Paolo Bonzini wrote:
>> Il 06/06/2012 14:03, Peter Maydell ha scritto:
>>> Can we use
>>> mkdir -p "$(dirname "$2")"
>>>
>>> or are we still trying to be compatible with some non-POSIX
>>> shell from the dawn of time?
>>
>> Looks like we can, there are other occurrences of $() in configure.
>
> I saw that too, but I thought $() was a bash-ism.
$() is required by POSIX. The problem is that Solaris' /bin/sh does not
understand $(), since it is not a POSIX shell.
If you take care to sanitize shell execution into a sane shell (yes, it
is possible to write configure scripts that re-execute themselves under
a better shell than /bin/sh), then using $() can be one of the decision
points on whether a better shell has been found.
--
Eric Blake eblake@redhat.com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 620 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-07 3:16 ` Anthony Liguori
@ 2012-06-07 5:26 ` Paolo Bonzini
2012-06-07 5:28 ` Anthony Liguori
0 siblings, 1 reply; 36+ messages in thread
From: Paolo Bonzini @ 2012-06-07 5:26 UTC (permalink / raw)
To: Anthony Liguori; +Cc: qemu-devel
Il 07/06/2012 05:16, Anthony Liguori ha scritto:
> On 06/06/2012 07:54 PM, Paolo Bonzini wrote:
>>> From e0e6e5b689cbcb782bca8f158fad89b3389e9e11 Mon Sep 17 00:00:00 2001
>>> From: Anthony Liguori<aliguori@us.ibm.com>
>>> Date: Wed, 6 Jun 2012 16:57:00 +0800
>>> Subject: [PATCH] configure: ensure directory exists when creating
>>> symlink
>>>
>>> Signed-off-by: Anthony Liguori<aliguori@us.ibm.com>
>>> ---
>>> configure | 3 +--
>>> 1 files changed, 1 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/configure b/configure
>>> index 07e3ff1..4a7f027 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -42,6 +42,7 @@ compile_prog() {
>>> # symbolically link $1 to $2. Portable version of "ln -sf".
>>> symlink() {
>>> rm -rf "$2"
>>> + mkdir -p `dirname $2`
>>
>> Please leave the argument quoted, like
>>
>> dir=`dirname "$2`
>> mkdir -p "$dir"
>>
>> Otherwise looks good. Do we need a v3? This can just be committed
>> before 25/25 or even before all my patches, and that would be just what
>> I send.
>
> Unfortunately, this conflicts pretty badly with Andreas' QOM CPU
> series. Could you rebase and send out a v3?
No, it's the dumping series from Luiz. I'll send a v3 as a pull request.
Paolo
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time
2012-06-07 5:26 ` Paolo Bonzini
@ 2012-06-07 5:28 ` Anthony Liguori
0 siblings, 0 replies; 36+ messages in thread
From: Anthony Liguori @ 2012-06-07 5:28 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel
On 06/07/2012 01:26 PM, Paolo Bonzini wrote:
> Il 07/06/2012 05:16, Anthony Liguori ha scritto:
>> On 06/06/2012 07:54 PM, Paolo Bonzini wrote:
>>>> From e0e6e5b689cbcb782bca8f158fad89b3389e9e11 Mon Sep 17 00:00:00 2001
>>>> From: Anthony Liguori<aliguori@us.ibm.com>
>>>> Date: Wed, 6 Jun 2012 16:57:00 +0800
>>>> Subject: [PATCH] configure: ensure directory exists when creating
>>>> symlink
>>>>
>>>> Signed-off-by: Anthony Liguori<aliguori@us.ibm.com>
>>>> ---
>>>> configure | 3 +--
>>>> 1 files changed, 1 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/configure b/configure
>>>> index 07e3ff1..4a7f027 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -42,6 +42,7 @@ compile_prog() {
>>>> # symbolically link $1 to $2. Portable version of "ln -sf".
>>>> symlink() {
>>>> rm -rf "$2"
>>>> + mkdir -p `dirname $2`
>>>
>>> Please leave the argument quoted, like
>>>
>>> dir=`dirname "$2`
>>> mkdir -p "$dir"
>>>
>>> Otherwise looks good. Do we need a v3? This can just be committed
>>> before 25/25 or even before all my patches, and that would be just what
>>> I send.
>>
>> Unfortunately, this conflicts pretty badly with Andreas' QOM CPU
>> series. Could you rebase and send out a v3?
>
> No, it's the dumping series from Luiz. I'll send a v3 as a pull request.
Okay, thanks.
Regards,
Anthony Liguori
>
> Paolo
>
^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2012-06-07 5:28 UTC | newest]
Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-06 6:36 [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 01/25] build: remove trace-nested-y Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 02/25] build: do not sprinkle around GENERATED_HEADERS dependencies Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 03/25] build: add rules for nesting Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 04/25] build: move *-user/ objects to nested Makefile.objs Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 05/25] build: move obj-TARGET-y variables " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 06/25] build: move libobj-y variable " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 07/25] build: move other target-*/ objects " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 08/25] build: move rules for nesting to Makefile.objs Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 09/25] build: put qom/ rules in a Makefile.objs file Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 10/25] build: move block/ objects to nested Makefile.objs Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 11/25] build: move net/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 12/25] build: move fsdev/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 13/25] build: move ui/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 14/25] build: move audio/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 15/25] build: move slirp/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 16/25] build: move qapi/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 17/25] build: move qga/ " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 18/25] build: move target-independent hw/ objects to nested Makefiles Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 19/25] build: convert libhw to nested Makefile.objs Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 20/25] build: move per-target hw/ objects " Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 21/25] build: move device tree to per-target Makefile Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 22/25] build: libcacard Makefile cleanups Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 23/25] build: limit usage of vpath Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 24/25] build: compile oslib-obj-y once Paolo Bonzini
2012-06-06 6:36 ` [Qemu-devel] [PATCH v2 25/25] build: do not create directories at configure time Paolo Bonzini
2012-06-06 8:58 ` Anthony Liguori
2012-06-06 11:54 ` Paolo Bonzini
2012-06-06 12:03 ` Peter Maydell
2012-06-06 12:16 ` Paolo Bonzini
2012-06-07 3:15 ` Anthony Liguori
2012-06-07 3:21 ` Eric Blake
2012-06-07 3:16 ` Anthony Liguori
2012-06-07 5:26 ` Paolo Bonzini
2012-06-07 5:28 ` Anthony Liguori
2012-06-06 9:23 ` [Qemu-devel] [PATCH v2 00/25] per-directory Makefile.objs snippets, limit vpath (ab)use Anthony Liguori
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.