[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/15] configure: unify recursion into sub-Makefiles
From: |
Paolo Bonzini |
Subject: |
[PATCH 10/15] configure: unify recursion into sub-Makefiles |
Date: |
Sat, 2 Sep 2023 14:59:29 +0200 |
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
- [PATCH 03/15] configure: remove HOST_CC, (continued)
- [PATCH 03/15] configure: remove HOST_CC, Paolo Bonzini, 2023/09/02
- [PATCH 04/15] configure: create native file with contents of $host_cc, Paolo Bonzini, 2023/09/02
- [PATCH 05/15] meson: compile bundled device trees, Paolo Bonzini, 2023/09/02
- [PATCH 06/15] configure: remove boolean variables for targets, Paolo Bonzini, 2023/09/02
- [PATCH 07/15] configure: move --enable-debug-tcg to meson, Paolo Bonzini, 2023/09/02
- [PATCH 08/15] meson: test for CONFIG_TCG in config_all, Paolo Bonzini, 2023/09/02
- [PATCH 09/15] contrib/plugins: use an independent makefile, Paolo Bonzini, 2023/09/02
- [PATCH 10/15] configure: unify recursion into sub-Makefiles,
Paolo Bonzini <=
- [PATCH 12/15] configure, meson: remove CONFIG_SOLARIS from config-host.mak, Paolo Bonzini, 2023/09/02
- [PATCH 11/15] configure, meson: move --enable-plugins to meson, Paolo Bonzini, 2023/09/02
- [PATCH 15/15] configure: remove dead code, Paolo Bonzini, 2023/09/02
- [PATCH 14/15] meson: list leftover CONFIG_* symbols, Paolo Bonzini, 2023/09/02
- [PATCH 13/15] configure, meson: remove target OS symbols from config-host.mak, Paolo Bonzini, 2023/09/02