mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-24 14:41:08 +00:00
contrib/plugins: use an independent makefile
The initial reason to write this patch was to remove the last use of CONFIG_DEBUG_TCG from the makefiles; the flags to use to build TCG plugins are unrelated to --enable-debug-tcg, and instead they should be the same as those used to build emulators (the plugins are not build via meson for demonstration reasons only). However, since contrib/plugins/Makefile is also the last case of doing a compilation job using config-host.mak, go a step further and make it use a completely separate configuration file, removing all references to compilers from the toplevel config-host.mak. Clean up references to empty variables, and use .SECONDARY so that intermediate object files are not deleted. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1d558c906e
commit
bafe78ad3b
15
configure
vendored
15
configure
vendored
@ -245,7 +245,7 @@ for opt do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
default_cflags='-O2 -g'
|
||||||
git_submodules_action="update"
|
git_submodules_action="update"
|
||||||
git="git"
|
git="git"
|
||||||
docs="auto"
|
docs="auto"
|
||||||
@ -732,6 +732,7 @@ for opt do
|
|||||||
meson_option_parse --enable-debug-graph-lock ""
|
meson_option_parse --enable-debug-graph-lock ""
|
||||||
meson_option_parse --enable-debug-mutex ""
|
meson_option_parse --enable-debug-mutex ""
|
||||||
meson_option_add -Doptimization=0
|
meson_option_add -Doptimization=0
|
||||||
|
default_cflags='-O0 -g'
|
||||||
;;
|
;;
|
||||||
--disable-tcg) tcg="disabled"
|
--disable-tcg) tcg="disabled"
|
||||||
plugins="no"
|
plugins="no"
|
||||||
@ -1731,8 +1732,6 @@ echo "PYTHON=$python" >> $config_host_mak
|
|||||||
echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
|
echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
|
||||||
echo "MESON=$meson" >> $config_host_mak
|
echo "MESON=$meson" >> $config_host_mak
|
||||||
echo "NINJA=$ninja" >> $config_host_mak
|
echo "NINJA=$ninja" >> $config_host_mak
|
||||||
echo "PKG_CONFIG=${pkg_config}" >> $config_host_mak
|
|
||||||
echo "CC=$cc" >> $config_host_mak
|
|
||||||
echo "EXESUF=$EXESUF" >> $config_host_mak
|
echo "EXESUF=$EXESUF" >> $config_host_mak
|
||||||
|
|
||||||
# use included Linux headers for KVM architectures
|
# use included Linux headers for KVM architectures
|
||||||
@ -1757,6 +1756,16 @@ if test "$ccache_cpp2" = "yes"; then
|
|||||||
echo "export CCACHE_CPP2=y" >> $config_host_mak
|
echo "export CCACHE_CPP2=y" >> $config_host_mak
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# contrib/plugins configuration
|
||||||
|
echo "# Automatically generated by configure - do not modify" > contrib/plugins/$config_host_mak
|
||||||
|
echo "SRC_PATH=$source_path/contrib/plugins" >> contrib/plugins/$config_host_mak
|
||||||
|
echo "PKG_CONFIG=${pkg_config}" >> contrib/plugins/$config_host_mak
|
||||||
|
echo "CC=$cc $CPU_CFLAGS" >> contrib/plugins/$config_host_mak
|
||||||
|
echo "CFLAGS=${CFLAGS-$default_cflags} $EXTRA_CFLAGS" >> contrib/plugins/$config_host_mak
|
||||||
|
if test "$targetos" = darwin; then
|
||||||
|
echo "CONFIG_DARWIN=y" >> contrib/plugins/$config_host_mak
|
||||||
|
fi
|
||||||
|
|
||||||
# tests/tcg configuration
|
# tests/tcg configuration
|
||||||
(config_host_mak=tests/tcg/config-host.mak
|
(config_host_mak=tests/tcg/config-host.mak
|
||||||
mkdir -p tests/tcg
|
mkdir -p tests/tcg
|
||||||
|
@ -6,11 +6,11 @@
|
|||||||
# programs that the main configure has already done for us.
|
# programs that the main configure has already done for us.
|
||||||
#
|
#
|
||||||
|
|
||||||
BUILD_DIR := $(CURDIR)/../..
|
include config-host.mak
|
||||||
|
|
||||||
include $(BUILD_DIR)/config-host.mak
|
TOP_SRC_PATH = $(SRC_PATH)/../..
|
||||||
|
|
||||||
VPATH += $(SRC_PATH)/contrib/plugins
|
VPATH += $(SRC_PATH)
|
||||||
|
|
||||||
NAMES :=
|
NAMES :=
|
||||||
NAMES += execlog
|
NAMES += execlog
|
||||||
@ -26,15 +26,14 @@ SONAMES := $(addsuffix .so,$(addprefix lib,$(NAMES)))
|
|||||||
|
|
||||||
# The main QEMU uses Glib extensively so it's perfectly fine to use it
|
# The main QEMU uses Glib extensively so it's perfectly fine to use it
|
||||||
# in plugins (which many example do).
|
# in plugins (which many example do).
|
||||||
CFLAGS := $(shell $(PKG_CONFIG) --cflags glib-2.0)
|
PLUGIN_CFLAGS := $(shell $(PKG_CONFIG) --cflags glib-2.0)
|
||||||
CFLAGS += -fPIC -Wall
|
PLUGIN_CFLAGS += -fPIC -Wall
|
||||||
CFLAGS += $(if $(CONFIG_DEBUG_TCG), -ggdb -O0)
|
PLUGIN_CFLAGS += -I$(TOP_SRC_PATH)/include/qemu
|
||||||
CFLAGS += -I$(SRC_PATH)/include/qemu
|
|
||||||
|
|
||||||
all: $(SONAMES)
|
all: $(SONAMES)
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) $(PLUGIN_CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
lib%.so: %.o
|
lib%.so: %.o
|
||||||
ifeq ($(CONFIG_DARWIN),y)
|
ifeq ($(CONFIG_DARWIN),y)
|
||||||
@ -48,3 +47,4 @@ clean:
|
|||||||
rm -Rf .libs
|
rm -Rf .libs
|
||||||
|
|
||||||
.PHONY: all clean
|
.PHONY: all clean
|
||||||
|
.SECONDARY:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user