]> git.proxmox.com Git - mirror_qemu.git/blobdiff - Makefile
Merge tag 'pull-aspeed-20240201' of https://github.com/legoater/qemu into staging
[mirror_qemu.git] / Makefile
index 5d48dfac18a3cc5da8ff649703e1f5de04761076..8f369903356ced3097b1caf1120f923728a7b8d1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -164,14 +164,6 @@ ifneq ($(filter $(ninja-targets), $(ninja-cmd-goals)),)
 endif
 endif
 
-ifeq ($(CONFIG_PLUGIN),y)
-.PHONY: plugins
-plugins:
-       $(call quiet-command,\
-               $(MAKE) $(SUBDIR_MAKEFLAGS) -C contrib/plugins V="$(V)", \
-               "BUILD", "example plugins")
-endif # $(CONFIG_PLUGIN)
-
 else # config-host.mak does not exist
 ifneq ($(filter-out $(UNCHECKED_GOALS),$(MAKECMDGOALS)),$(if $(MAKECMDGOALS),,fail))
 $(error Please call configure before running make)
@@ -184,15 +176,20 @@ include $(SRC_PATH)/tests/Makefile.include
 
 all: recurse-all
 
-ROMS_RULES=$(foreach t, all clean distclean, $(addsuffix /$(t), $(ROMS)))
-.PHONY: $(ROMS_RULES)
-$(ROMS_RULES):
+SUBDIR_RULES=$(foreach t, all clean distclean, $(addsuffix /$(t), $(SUBDIRS)))
+.PHONY: $(SUBDIR_RULES)
+$(SUBDIR_RULES):
        $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $(dir $@) V="$(V)" TARGET_DIR="$(dir $@)" $(notdir $@),)
 
+ifneq ($(filter contrib/plugins, $(SUBDIRS)),)
+.PHONY: plugins
+plugins: contrib/plugins/all
+endif
+
 .PHONY: recurse-all recurse-clean
-recurse-all: $(addsuffix /all, $(ROMS))
-recurse-clean: $(addsuffix /clean, $(ROMS))
-recurse-distclean: $(addsuffix /distclean, $(ROMS))
+recurse-all: $(addsuffix /all, $(SUBDIRS))
+recurse-clean: $(addsuffix /clean, $(SUBDIRS))
+recurse-distclean: $(addsuffix /distclean, $(SUBDIRS))
 
 ######################################################################
 
@@ -205,6 +202,7 @@ clean: recurse-clean
                ! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \
                -exec rm {} +
        rm -f TAGS cscope.* *~ */*~
+       @$(MAKE) -Ctests/qemu-iotests clean
 
 VERSION = $(shell cat $(SRC_PATH)/VERSION)
 
@@ -286,6 +284,13 @@ include $(SRC_PATH)/tests/vm/Makefile.include
 print-help-run = printf "  %-30s - %s\\n" "$1" "$2"
 print-help = @$(call print-help-run,$1,$2)
 
+.PHONY: update-linux-vdso
+update-linux-vdso:
+       @for m in $(SRC_PATH)/linux-user/*/Makefile.vdso; do \
+         $(MAKE) $(SUBDIR_MAKEFLAGS) -C $$(dirname $$m) -f Makefile.vdso \
+               SRC_PATH=$(SRC_PATH) BUILD_DIR=$(BUILD_DIR); \
+       done
+
 .PHONY: help
 help:
        @echo  'Generic targets:'
@@ -296,7 +301,7 @@ help:
        $(call print-help,cscope,Generate cscope index)
        $(call print-help,sparse,Run sparse on the QEMU source)
        @echo  ''
-ifeq ($(CONFIG_PLUGIN),y)
+ifneq ($(filter contrib/plugins, $(SUBDIRS)),)
        @echo  'Plugin targets:'
        $(call print-help,plugins,Build the example TCG plugins)
        @echo  ''
@@ -306,6 +311,9 @@ endif
        $(call print-help,distclean,Remove all generated files)
        $(call print-help,dist,Build a distributable tarball)
        @echo  ''
+       @echo  'Linux-user targets:'
+       $(call print-help,update-linux-vdso,Build linux-user vdso images)
+       @echo  ''
        @echo  'Test targets:'
        $(call print-help,check,Run all tests (check-help for details))
        $(call print-help,bench,Run all benchmarks)
@@ -316,7 +324,7 @@ endif
        @echo  'Documentation targets:'
        $(call print-help,html man,Build documentation in specified format)
        @echo  ''
-ifdef CONFIG_WIN32
+ifneq ($(filter msi, $(ninja-targets)),)
        @echo  'Windows targets:'
        $(call print-help,installer,Build NSIS-based installer for QEMU)
        $(call print-help,msi,Build MSI-based installer for qemu-ga)