|
@@ -137,184 +137,60 @@ FULL_VERSION := $(if $(QEMU_PKGVERSION),$(VERSION) ($(QEMU_PKGVERSION)),$(VERSIO
|
|
|
|
|
|
generated-files-y = qemu-version.h config-host.h qemu-options.def
|
|
generated-files-y = qemu-version.h config-host.h qemu-options.def
|
|
|
|
|
|
-GENERATED_QAPI_FILES = qapi/qapi-builtin-types.h qapi/qapi-builtin-types.c
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-types.h qapi/qapi-types.c
|
|
|
|
-GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-types-%.h)
|
|
|
|
-GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-types-%.c)
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-builtin-visit.h qapi/qapi-builtin-visit.c
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-visit.h qapi/qapi-visit.c
|
|
|
|
-GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-visit-%.h)
|
|
|
|
-GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-visit-%.c)
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-init-commands.h qapi/qapi-init-commands.c
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-commands.h qapi/qapi-commands.c
|
|
|
|
-GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-commands-%.h)
|
|
|
|
-GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-commands-%.c)
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-emit-events.h qapi/qapi-emit-events.c
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-events.h qapi/qapi-events.c
|
|
|
|
-GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-events-%.h)
|
|
|
|
-GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-events-%.c)
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-introspect.c qapi/qapi-introspect.h
|
|
|
|
-GENERATED_QAPI_FILES += qapi/qapi-doc.texi
|
|
|
|
-
|
|
|
|
-# The following list considers only the storage daemon main module. All other
|
|
|
|
-# modules are currently shared with the main schema, so we don't actually
|
|
|
|
-# generate additional files.
|
|
|
|
-
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES = storage-daemon/qapi/qapi-commands.h
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-commands.c
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-emit-events.h
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-emit-events.c
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-events.h
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-events.c
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-init-commands.h
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-init-commands.c
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-introspect.h
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-introspect.c
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-types.h
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-types.c
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-visit.h
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-visit.c
|
|
|
|
-GENERATED_STORAGE_DAEMON_QAPI_FILES += storage-daemon/qapi/qapi-doc.texi
|
|
|
|
-
|
|
|
|
-generated-files-y += $(GENERATED_QAPI_FILES)
|
|
|
|
-generated-files-y += $(GENERATED_STORAGE_DAEMON_QAPI_FILES)
|
|
|
|
-
|
|
|
|
generated-files-y += trace/generated-tcg-tracers.h
|
|
generated-files-y += trace/generated-tcg-tracers.h
|
|
|
|
|
|
generated-files-y += trace/generated-helpers-wrappers.h
|
|
generated-files-y += trace/generated-helpers-wrappers.h
|
|
generated-files-y += trace/generated-helpers.h
|
|
generated-files-y += trace/generated-helpers.h
|
|
generated-files-y += trace/generated-helpers.c
|
|
generated-files-y += trace/generated-helpers.c
|
|
|
|
|
|
-generated-files-$(CONFIG_TRACE_UST) += trace-ust-all.h
|
|
|
|
-generated-files-$(CONFIG_TRACE_UST) += trace-ust-all.c
|
|
|
|
-
|
|
|
|
generated-files-y += module_block.h
|
|
generated-files-y += module_block.h
|
|
|
|
|
|
-TRACE_HEADERS = trace/trace-root.h
|
|
|
|
-TRACE_SOURCES = trace/trace-root.c
|
|
|
|
-TRACE_DTRACE =
|
|
|
|
-ifdef CONFIG_TRACE_DTRACE
|
|
|
|
-TRACE_HEADERS += trace-dtrace-root.h $(trace-events-subdirs:%=%/trace-dtrace.h)
|
|
|
|
-TRACE_DTRACE += trace-dtrace-root.dtrace $(trace-events-subdirs:%=%/trace-dtrace.dtrace)
|
|
|
|
-endif
|
|
|
|
-ifdef CONFIG_TRACE_UST
|
|
|
|
-TRACE_HEADERS += trace-ust-root.h $(trace-events-subdirs:%=%/trace-ust.h)
|
|
|
|
-endif
|
|
|
|
-
|
|
|
|
-generated-files-y += $(BUILD_DIR)/trace-events-all
|
|
|
|
generated-files-y += .git-submodule-status
|
|
generated-files-y += .git-submodule-status
|
|
|
|
|
|
-trace-group-name = $(shell dirname $1 | sed -e 's/[^a-zA-Z0-9]/_/g')
|
|
|
|
-trace-group-suffix = $(shell echo $1 | sed -e 's/[^a-zA-Z0-9]/_/g')
|
|
|
|
-
|
|
|
|
tracetool-y = $(SRC_PATH)/scripts/tracetool.py
|
|
tracetool-y = $(SRC_PATH)/scripts/tracetool.py
|
|
tracetool-y += $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py")
|
|
tracetool-y += $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py")
|
|
|
|
|
|
-define __trace_rules
|
|
|
|
-TRACE_HEADERS += trace/trace-$2.h
|
|
|
|
-TRACE_SOURCES += trace/trace-$2.c
|
|
|
|
-trace-obj-y += trace/trace-$2.o
|
|
|
|
-trace/trace-$2.h: trace/trace-$2.h-timestamp
|
|
|
|
- @cmp $$< $$@ >/dev/null 2>&1 || cp $$< $$@
|
|
|
|
-trace/trace-$2.h-timestamp: $(SRC_PATH)/$1/trace-events $(tracetool-y) $(BUILD_DIR)/config-host.mak
|
|
|
|
- $(call quiet-command,$(TRACETOOL) \
|
|
|
|
- --group=$2 \
|
|
|
|
- --format=h \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $$< > $$@,"GEN","$$(@:%-timestamp=%)")
|
|
|
|
-
|
|
|
|
-trace/trace-$2.c: trace/trace-$2.c-timestamp
|
|
|
|
- @cmp $$< $$@ >/dev/null 2>&1 || cp $$< $$@
|
|
|
|
-trace/trace-$2.c-timestamp: $(SRC_PATH)/$1/trace-events $(tracetool-y) $(BUILD_DIR)/config-host.mak
|
|
|
|
- $(call quiet-command,$(TRACETOOL) \
|
|
|
|
- --group=$2 \
|
|
|
|
- --format=c \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $$< > $$@,"GEN","$$(@:%-timestamp=%)")
|
|
|
|
-endef
|
|
|
|
-
|
|
|
|
-%/trace-ust.h: %/trace-ust.h-timestamp
|
|
|
|
|
|
+trace/generated-helpers-wrappers.h: trace/generated-helpers-wrappers.h-timestamp
|
|
@cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
@cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
-%/trace-ust.h-timestamp: $(SRC_PATH)/%/trace-events $(tracetool-y) $(BUILD_DIR)/config-host.mak
|
|
|
|
- $(call quiet-command,$(TRACETOOL) \
|
|
|
|
- --group=$(call trace-group-name,$@) \
|
|
|
|
- --format=ust-events-h \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $< > $@,"GEN","$(@:%-timestamp=%)")
|
|
|
|
-
|
|
|
|
-%/trace-dtrace.dtrace: %/trace-dtrace.dtrace-timestamp
|
|
|
|
- @cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
|
|
-%/trace-dtrace.dtrace-timestamp: $(SRC_PATH)/%/trace-events $(BUILD_DIR)/config-host.mak $(tracetool-y)
|
|
|
|
- $(call quiet-command,$(TRACETOOL) \
|
|
|
|
- --group=$(call trace-group-name,$@) \
|
|
|
|
- --format=d \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $< > $@,"GEN","$(@:%-timestamp=%)")
|
|
|
|
-
|
|
|
|
-%/trace-dtrace.h: %/trace-dtrace.dtrace $(tracetool-y)
|
|
|
|
- $(call quiet-command,dtrace -o $@ -h -s $<, "GEN","$@")
|
|
|
|
-
|
|
|
|
-%/trace-dtrace.o: %/trace-dtrace.dtrace $(tracetool-y)
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-trace/trace-root.h: trace/trace-root.h-timestamp
|
|
|
|
- @cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
|
|
-trace/trace-root.h-timestamp: $(SRC_PATH)/trace-events $(tracetool-y) $(BUILD_DIR)/config-host.mak
|
|
|
|
|
|
+trace/generated-helpers-wrappers.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak $(tracetool-y)
|
|
|
|
+ @mkdir -p $(dir $@)
|
|
$(call quiet-command,$(TRACETOOL) \
|
|
$(call quiet-command,$(TRACETOOL) \
|
|
--group=root \
|
|
--group=root \
|
|
- --format=h \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $< > $@,"GEN","$(@:%-timestamp=%)")
|
|
|
|
|
|
+ --format=tcg-helper-wrapper-h \
|
|
|
|
+ --backend=$(TRACE_BACKENDS) \
|
|
|
|
+ $< > $@,"GEN","$(patsubst %-timestamp,%,$@)")
|
|
|
|
|
|
-trace/trace-root.c: trace/trace-root.c-timestamp
|
|
|
|
|
|
+trace/generated-helpers.h: trace/generated-helpers.h-timestamp
|
|
@cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
@cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
-trace/trace-root.c-timestamp: $(SRC_PATH)/trace-events $(tracetool-y) $(BUILD_DIR)/config-host.mak
|
|
|
|
|
|
+trace/generated-helpers.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak $(tracetool-y)
|
|
|
|
+ @mkdir -p $(dir $@)
|
|
$(call quiet-command,$(TRACETOOL) \
|
|
$(call quiet-command,$(TRACETOOL) \
|
|
--group=root \
|
|
--group=root \
|
|
- --format=c \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $< > $@,"GEN","$(@:%-timestamp=%)")
|
|
|
|
|
|
+ --format=tcg-helper-h \
|
|
|
|
+ --backend=$(TRACE_BACKENDS) \
|
|
|
|
+ $< > $@,"GEN","$(patsubst %-timestamp,%,$@)")
|
|
|
|
|
|
-trace-ust-root.h: trace-ust-root.h-timestamp
|
|
|
|
|
|
+trace/generated-helpers.c: trace/generated-helpers.c-timestamp
|
|
@cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
@cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
-trace-ust-root.h-timestamp: $(SRC_PATH)/trace-events $(tracetool-y) $(BUILD_DIR)/config-host.mak
|
|
|
|
|
|
+trace/generated-helpers.c-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak $(tracetool-y)
|
|
|
|
+ @mkdir -p $(dir $@)
|
|
$(call quiet-command,$(TRACETOOL) \
|
|
$(call quiet-command,$(TRACETOOL) \
|
|
--group=root \
|
|
--group=root \
|
|
- --format=ust-events-h \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $< > $@,"GEN","$(@:%-timestamp=%)")
|
|
|
|
-
|
|
|
|
-trace-ust-all.h: trace-ust-all.h-timestamp
|
|
|
|
- @cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
|
|
-trace-ust-all.h-timestamp: $(trace-events-files) $(tracetool-y) $(BUILD_DIR)/config-host.mak
|
|
|
|
- $(call quiet-command,$(TRACETOOL) \
|
|
|
|
- --group=all \
|
|
|
|
- --format=ust-events-h \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $(trace-events-files) > $@,"GEN","$(@:%-timestamp=%)")
|
|
|
|
|
|
+ --format=tcg-helper-c \
|
|
|
|
+ --backend=$(TRACE_BACKENDS) \
|
|
|
|
+ $< > $@,"GEN","$(patsubst %-timestamp,%,$@)")
|
|
|
|
|
|
-trace-ust-all.c: trace-ust-all.c-timestamp
|
|
|
|
- @cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
|
|
-trace-ust-all.c-timestamp: $(trace-events-files) $(tracetool-y) $(BUILD_DIR)/config-host.mak
|
|
|
|
- $(call quiet-command,$(TRACETOOL) \
|
|
|
|
- --group=all \
|
|
|
|
- --format=ust-events-c \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $(trace-events-files) > $@,"GEN","$(@:%-timestamp=%)")
|
|
|
|
|
|
+trace/generated-helpers.o: trace/generated-helpers.c
|
|
|
|
|
|
-trace-dtrace-root.dtrace: trace-dtrace-root.dtrace-timestamp
|
|
|
|
|
|
+trace/generated-tcg-tracers.h: trace/generated-tcg-tracers.h-timestamp
|
|
@cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
@cmp $< $@ >/dev/null 2>&1 || cp $< $@
|
|
-trace-dtrace-root.dtrace-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak $(tracetool-y)
|
|
|
|
|
|
+trace/generated-tcg-tracers.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak $(tracetool-y)
|
|
|
|
+ @mkdir -p $(dir $@)
|
|
$(call quiet-command,$(TRACETOOL) \
|
|
$(call quiet-command,$(TRACETOOL) \
|
|
--group=root \
|
|
--group=root \
|
|
- --format=d \
|
|
|
|
- --backends=$(TRACE_BACKENDS) \
|
|
|
|
- $< > $@,"GEN","$(@:%-timestamp=%)")
|
|
|
|
-
|
|
|
|
-trace-dtrace-root.h: trace-dtrace-root.dtrace
|
|
|
|
- $(call quiet-command,dtrace -o $@ -h -s $<, "GEN","$@")
|
|
|
|
-
|
|
|
|
-trace-dtrace-root.o: trace-dtrace-root.dtrace
|
|
|
|
|
|
+ --format=tcg-h \
|
|
|
|
+ --backend=$(TRACE_BACKENDS) \
|
|
|
|
+ $< > $@,"GEN","$(patsubst %-timestamp,%,$@)")
|
|
|
|
|
|
KEYCODEMAP_GEN = $(SRC_PATH)/ui/keycodemapdb/tools/keymap-gen
|
|
KEYCODEMAP_GEN = $(SRC_PATH)/ui/keycodemapdb/tools/keymap-gen
|
|
KEYCODEMAP_CSV = $(SRC_PATH)/ui/keycodemapdb/data/keymaps.csv
|
|
KEYCODEMAP_CSV = $(SRC_PATH)/ui/keycodemapdb/data/keymaps.csv
|
|
@@ -485,10 +361,8 @@ include $(SRC_PATH)/Makefile.objs
|
|
endif
|
|
endif
|
|
|
|
|
|
dummy := $(call unnest-vars,, \
|
|
dummy := $(call unnest-vars,, \
|
|
- stub-obj-y \
|
|
|
|
authz-obj-y \
|
|
authz-obj-y \
|
|
chardev-obj-y \
|
|
chardev-obj-y \
|
|
- util-obj-y \
|
|
|
|
qga-obj-y \
|
|
qga-obj-y \
|
|
elf2dmp-obj-y \
|
|
elf2dmp-obj-y \
|
|
ivshmem-client-obj-y \
|
|
ivshmem-client-obj-y \
|
|
@@ -509,14 +383,7 @@ dummy := $(call unnest-vars,, \
|
|
qom-obj-y \
|
|
qom-obj-y \
|
|
io-obj-y \
|
|
io-obj-y \
|
|
common-obj-y \
|
|
common-obj-y \
|
|
- common-obj-m \
|
|
|
|
- trace-obj-y)
|
|
|
|
-
|
|
|
|
-dummy := $(foreach DIR,$(trace-events-subdirs),$(eval $(call __trace_rules,$(DIR),$(call trace-group-suffix,$(DIR)))))
|
|
|
|
-
|
|
|
|
-generated-files-y += $(TRACE_HEADERS)
|
|
|
|
-generated-files-y += $(TRACE_SOURCES)
|
|
|
|
-
|
|
|
|
|
|
+ common-obj-m)
|
|
|
|
|
|
include $(SRC_PATH)/tests/Makefile.include
|
|
include $(SRC_PATH)/tests/Makefile.include
|
|
|
|
|
|
@@ -630,8 +497,7 @@ Makefile: $(version-obj-y)
|
|
######################################################################
|
|
######################################################################
|
|
# Build libraries
|
|
# Build libraries
|
|
|
|
|
|
-libqemuutil.a: $(util-obj-y) $(trace-obj-y) $(stub-obj-y)
|
|
|
|
-libvhost-user.a: $(libvhost-user-obj-y) $(util-obj-y) $(stub-obj-y)
|
|
|
|
|
|
+libvhost-user.a: $(libvhost-user-obj-y)
|
|
|
|
|
|
######################################################################
|
|
######################################################################
|
|
|
|
|
|
@@ -694,27 +560,6 @@ qga/qapi-generated/qapi-gen-timestamp: $(SRC_PATH)/qga/qapi-schema.json $(qapi-p
|
|
"GEN","$(@:%-timestamp=%)")
|
|
"GEN","$(@:%-timestamp=%)")
|
|
@>$@
|
|
@>$@
|
|
|
|
|
|
-qapi-modules = $(SRC_PATH)/qapi/qapi-schema.json \
|
|
|
|
- $(QAPI_MODULES:%=$(SRC_PATH)/qapi/%.json)
|
|
|
|
-
|
|
|
|
-$(GENERATED_QAPI_FILES): qapi-gen-timestamp ;
|
|
|
|
-qapi-gen-timestamp: $(qapi-modules) $(qapi-py)
|
|
|
|
- $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-gen.py \
|
|
|
|
- -o "qapi" -b $<, \
|
|
|
|
- "GEN","$(@:%-timestamp=%)")
|
|
|
|
- @>$@
|
|
|
|
-
|
|
|
|
-qapi-modules-storage-daemon = \
|
|
|
|
- $(SRC_PATH)/storage-daemon/qapi/qapi-schema.json \
|
|
|
|
- $(QAPI_MODULES_STORAGE_DAEMON:%=$(SRC_PATH)/qapi/%.json)
|
|
|
|
-
|
|
|
|
-$(GENERATED_STORAGE_DAEMON_QAPI_FILES): storage-daemon/qapi/qapi-gen-timestamp ;
|
|
|
|
-storage-daemon/qapi/qapi-gen-timestamp: $(qapi-modules-storage-daemon) $(qapi-py)
|
|
|
|
- $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-gen.py \
|
|
|
|
- -o "storage-daemon/qapi" $<, \
|
|
|
|
- "GEN","$(@:%-timestamp=%)")
|
|
|
|
- @>$@
|
|
|
|
-
|
|
|
|
QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qapi-commands.h qga-qapi-init-commands.h)
|
|
QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qapi-commands.h qga-qapi-init-commands.h)
|
|
$(qga-obj-y): $(QGALIB_GEN)
|
|
$(qga-obj-y): $(QGALIB_GEN)
|
|
|
|
|
|
@@ -752,9 +597,9 @@ ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) $(COMMON_LDADDS)
|
|
ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS)
|
|
ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS)
|
|
$(call LINK, $^)
|
|
$(call LINK, $^)
|
|
endif
|
|
endif
|
|
-vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) libvhost-user.a
|
|
|
|
|
|
+vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) libvhost-user.a $(COMMON_LDADDS)
|
|
$(call LINK, $^)
|
|
$(call LINK, $^)
|
|
-vhost-user-blk$(EXESUF): $(vhost-user-blk-obj-y) libvhost-user.a
|
|
|
|
|
|
+vhost-user-blk$(EXESUF): $(vhost-user-blk-obj-y) libvhost-user.a $(COMMON_LDADDS)
|
|
$(call LINK, $^)
|
|
$(call LINK, $^)
|
|
|
|
|
|
rdmacm-mux$(EXESUF): LIBS += "-libumad"
|
|
rdmacm-mux$(EXESUF): LIBS += "-libumad"
|
|
@@ -767,12 +612,12 @@ virtiofsd$(EXESUF): $(virtiofsd-obj-y) libvhost-user.a $(COMMON_LDADDS)
|
|
$(call LINK, $^)
|
|
$(call LINK, $^)
|
|
endif
|
|
endif
|
|
|
|
|
|
-vhost-user-gpu$(EXESUF): $(vhost-user-gpu-obj-y) $(libvhost-user-obj-y) libqemuutil.a
|
|
|
|
|
|
+vhost-user-gpu$(EXESUF): $(vhost-user-gpu-obj-y) libvhost-user.a $(COMMON_LDADDS)
|
|
$(call LINK, $^)
|
|
$(call LINK, $^)
|
|
|
|
|
|
ifdef CONFIG_VHOST_USER_INPUT
|
|
ifdef CONFIG_VHOST_USER_INPUT
|
|
ifdef CONFIG_LINUX
|
|
ifdef CONFIG_LINUX
|
|
-vhost-user-input$(EXESUF): $(vhost-user-input-obj-y) libvhost-user.a libqemuutil.a
|
|
|
|
|
|
+vhost-user-input$(EXESUF): $(vhost-user-input-obj-y) libvhost-user.a $(COMMON_LDADDS)
|
|
$(call LINK, $^)
|
|
$(call LINK, $^)
|
|
|
|
|
|
# build by default, do not install
|
|
# build by default, do not install
|
|
@@ -801,9 +646,6 @@ clean: recurse-clean ninja-clean clean-ctlist
|
|
rm -f fsdev/*.pod scsi/*.pod
|
|
rm -f fsdev/*.pod scsi/*.pod
|
|
rm -f qemu-img-cmds.h
|
|
rm -f qemu-img-cmds.h
|
|
rm -f ui/shader/*-vert.h ui/shader/*-frag.h
|
|
rm -f ui/shader/*-vert.h ui/shader/*-frag.h
|
|
- @# May not be present in generated-files-y
|
|
|
|
- rm -f trace/generated-tracers-dtrace.dtrace*
|
|
|
|
- rm -f trace/generated-tracers-dtrace.h*
|
|
|
|
rm -f $(foreach f,$(generated-files-y),$(f) $(f)-timestamp)
|
|
rm -f $(foreach f,$(generated-files-y),$(f) $(f)-timestamp)
|
|
rm -f qapi-gen-timestamp
|
|
rm -f qapi-gen-timestamp
|
|
rm -f storage-daemon/qapi/qapi-gen-timestamp
|
|
rm -f storage-daemon/qapi/qapi-gen-timestamp
|
|
@@ -1033,7 +875,9 @@ endif
|
|
set -e; for x in $(KEYMAPS); do \
|
|
set -e; for x in $(KEYMAPS); do \
|
|
$(INSTALL_DATA) $(SRC_PATH)/pc-bios/keymaps/$$x "$(DESTDIR)$(qemu_datadir)/keymaps"; \
|
|
$(INSTALL_DATA) $(SRC_PATH)/pc-bios/keymaps/$$x "$(DESTDIR)$(qemu_datadir)/keymaps"; \
|
|
done
|
|
done
|
|
- $(INSTALL_DATA) $(BUILD_DIR)/trace-events-all "$(DESTDIR)$(qemu_datadir)/trace-events-all"
|
|
|
|
|
|
+ for d in $(TARGET_DIRS); do \
|
|
|
|
+ $(MAKE) $(SUBDIR_MAKEFLAGS) TARGET_DIR=$$d/ -C $$d $@ || exit 1 ; \
|
|
|
|
+ done
|
|
|
|
|
|
# opengl shader programs
|
|
# opengl shader programs
|
|
ui/shader/%-vert.h: $(SRC_PATH)/ui/shader/%.vert $(SRC_PATH)/scripts/shaderinclude.pl
|
|
ui/shader/%-vert.h: $(SRC_PATH)/ui/shader/%.vert $(SRC_PATH)/scripts/shaderinclude.pl
|
|
@@ -1244,10 +1088,6 @@ Makefile: $(generated-files-y)
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
|
|
-.SECONDARY: $(TRACE_HEADERS) $(TRACE_HEADERS:%=%-timestamp) \
|
|
|
|
- $(TRACE_SOURCES) $(TRACE_SOURCES:%=%-timestamp) \
|
|
|
|
- $(TRACE_DTRACE) $(TRACE_DTRACE:%=%-timestamp)
|
|
|
|
-
|
|
|
|
# Include automatically generated dependency files
|
|
# Include automatically generated dependency files
|
|
# Dependencies in Makefile.objs files come from our recursive subdir rules
|
|
# Dependencies in Makefile.objs files come from our recursive subdir rules
|
|
-include $(wildcard *.d tests/*.d)
|
|
-include $(wildcard *.d tests/*.d)
|