From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PATCH 10/15] configure: unify recursion into sub-Makefiles
Date: Sat, 2 Sep 2023 14:59:29 +0200 [thread overview]
Message-ID: <20230902125934.113017-11-pbonzini@redhat.com> (raw)
In-Reply-To: <20230902125934.113017-1-pbonzini@redhat.com>
Treat contrib/plugins the same as the firmware.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 27 ++++++++++++---------------
configure | 13 ++++++++-----
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/Makefile b/Makefile
index 5d48dfac18a..118c28e80d9 100644
--- 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))
######################################################################
@@ -296,7 +293,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 ''
diff --git a/configure b/configure
index 1be8b430a54..9980eaeef57 100755
--- a/configure
+++ b/configure
@@ -256,6 +256,7 @@ softmmu="yes"
linux_user=""
bsd_user=""
plugins="$default_feature"
+subdirs=""
ninja=""
python=
download="enabled"
@@ -1067,6 +1068,9 @@ if test "$static" = "yes" ; then
fi
fi
test "$plugins" = "" && plugins=yes
+if test "$plugins" = "yes"; then
+ subdirs="$subdirs contrib/plugins"
+fi
cat > $TMPC << EOF
@@ -1627,12 +1631,11 @@ done
echo "# Automatically generated by configure - do not modify" > Makefile.prereqs
# Mac OS X ships with a broken assembler
-roms=
if have_target i386-softmmu x86_64-softmmu && \
test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
test "$targetos" != "haiku" && \
probe_target_compiler i386-softmmu; then
- roms="pc-bios/optionrom"
+ subdirs="$subdirs pc-bios/optionrom"
config_mak=pc-bios/optionrom/config.mak
echo "# Automatically generated by configure - do not modify" > $config_mak
echo "TOPSRC_DIR=$source_path" >> $config_mak
@@ -1641,7 +1644,7 @@ fi
if have_target ppc-softmmu ppc64-softmmu && \
probe_target_compiler ppc-softmmu; then
- roms="$roms pc-bios/vof"
+ subdirs="$subdirs pc-bios/vof"
config_mak=pc-bios/vof/config.mak
echo "# Automatically generated by configure - do not modify" > $config_mak
echo "SRC_DIR=$source_path/pc-bios/vof" >> $config_mak
@@ -1660,7 +1663,7 @@ if have_target s390x-softmmu && probe_target_compiler s390x-softmmu && \
echo "WARNING: Your compiler does not support the z900!"
echo " The s390-ccw bios will only work with guest CPUs >= z10."
fi
- roms="$roms pc-bios/s390-ccw"
+ subdirs="$subdirs pc-bios/s390-ccw"
config_mak=pc-bios/s390-ccw/config-host.mak
echo "# Automatically generated by configure - do not modify" > $config_mak
echo "SRC_PATH=$source_path/pc-bios/s390-ccw" >> $config_mak
@@ -1727,7 +1730,7 @@ if test "$container" != no; then
echo "ENGINE=$container" >> $config_host_mak
echo "RUNC=$runc" >> $config_host_mak
fi
-echo "ROMS=$roms" >> $config_host_mak
+echo "SUBDIRS=$subdirs" >> $config_host_mak
echo "PYTHON=$python" >> $config_host_mak
echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
echo "MESON=$meson" >> $config_host_mak
--
2.41.0
next prev parent reply other threads:[~2023-09-02 13:06 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-02 12:59 [PATCH v2 00/15] configure cleanups for QEMU 8.2 Paolo Bonzini
2023-09-02 12:59 ` [PATCH 01/15] meson: do not unnecessarily use cmake for dependencies Paolo Bonzini
2023-09-02 12:59 ` [PATCH 02/15] meson: update unsupported host/CPU messages Paolo Bonzini
2023-09-04 8:09 ` Thomas Huth
2023-09-02 12:59 ` [PATCH 03/15] configure: remove HOST_CC Paolo Bonzini
2023-09-02 12:59 ` [PATCH 04/15] configure: create native file with contents of $host_cc Paolo Bonzini
2023-09-02 12:59 ` [PATCH 05/15] meson: compile bundled device trees Paolo Bonzini
2023-09-02 12:59 ` [PATCH 06/15] configure: remove boolean variables for targets Paolo Bonzini
2023-09-02 23:30 ` Richard Henderson
2023-09-04 8:15 ` Thomas Huth
2023-09-05 6:00 ` Paolo Bonzini
2023-09-02 12:59 ` [PATCH 07/15] configure: move --enable-debug-tcg to meson Paolo Bonzini
2023-09-02 12:59 ` [PATCH 08/15] meson: test for CONFIG_TCG in config_all Paolo Bonzini
2023-09-02 12:59 ` [PATCH 09/15] contrib/plugins: use an independent makefile Paolo Bonzini
2023-09-02 12:59 ` Paolo Bonzini [this message]
2023-09-02 12:59 ` [PATCH 11/15] configure, meson: move --enable-plugins to meson Paolo Bonzini
2023-09-02 12:59 ` [PATCH 12/15] configure, meson: remove CONFIG_SOLARIS from config-host.mak Paolo Bonzini
2023-09-02 12:59 ` [PATCH 13/15] configure, meson: remove target OS symbols " Paolo Bonzini
2023-09-02 12:59 ` [PATCH 14/15] meson: list leftover CONFIG_* symbols Paolo Bonzini
2023-09-02 12:59 ` [PATCH 15/15] configure: remove dead code Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230902125934.113017-11-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).