diff options
author | Alex Bennée <alex.bennee@linaro.org> | 2020-09-09 12:27:41 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2020-09-10 10:47:03 +0100 |
commit | c17a386b6afe608086aa4d260e29662865680b7f (patch) | |
tree | c00d1a6d5d98c3d8fcf2240086aeee94bb81b72b /contrib/plugins/Makefile | |
parent | 89e076f37d0020bfadb127059083baeb57594f70 (diff) | |
download | qemu-c17a386b6afe608086aa4d260e29662865680b7f.zip qemu-c17a386b6afe608086aa4d260e29662865680b7f.tar.gz qemu-c17a386b6afe608086aa4d260e29662865680b7f.tar.bz2 |
plugins: move the more involved plugins to contrib
We have an exploding complexity problem in the testing so lets just
move the more involved plugins into contrib. tests/plugins still exist
for the basic plugins that exercise the API. We restore the old
pre-meson style Makefile for contrib as it also doubles as a guide for
out-of-tree plugin builds.
While we are at it add some examples to the documentation and a
specific plugins build target.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20200909112742.25730-11-alex.bennee@linaro.org>
Diffstat (limited to 'contrib/plugins/Makefile')
-rw-r--r-- | contrib/plugins/Makefile | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/contrib/plugins/Makefile b/contrib/plugins/Makefile new file mode 100644 index 0000000..7801b08 --- /dev/null +++ b/contrib/plugins/Makefile @@ -0,0 +1,42 @@ +# -*- Mode: makefile -*- +# +# This Makefile example is fairly independent from the main makefile +# so users can take and adapt it for their build. We only really +# include config-host.mak so we don't have to repeat probing for +# cflags that the main configure has already done for us. +# + +BUILD_DIR := $(CURDIR)/../.. + +include $(BUILD_DIR)/config-host.mak + +VPATH += $(SRC_PATH)/contrib/plugins + +NAMES := +NAMES += hotblocks +NAMES += hotpages +NAMES += howvec +NAMES += lockstep + +SONAMES := $(addsuffix .so,$(addprefix lib,$(NAMES))) + +# The main QEMU uses Glib extensively so it's perfectly fine to use it +# in plugins (which many example do). +CFLAGS = $(GLIB_CFLAGS) +CFLAGS += -fPIC +CFLAGS += $(if $(findstring no-psabi,$(QEMU_CFLAGS)),-Wpsabi) +CFLAGS += -I$(SRC_PATH)/include/qemu + +all: $(SONAMES) + +%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< + +lib%.so: %.o + $(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS) + +clean: + rm -f *.o *.so *.d + rm -Rf .libs + +.PHONY: all clean |