07c4523c6c
-soname is not needed for runtime-loaded modules. For example, Meson says: if not isinstance(target, build.SharedModule) or target.force_soname: # Add -Wl,-soname arguments on Linux, -install_name on OS X commands += linker.get_soname_args( self.environment, target.prefix, target.name, target.suffix, target.soversion, target.darwin_versions) (force_soname is set is shared modules are linked into a build target, which is not the case here. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
47 lines
1.0 KiB
Makefile
47 lines
1.0 KiB
Makefile
# -*- 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
|
|
# programs 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 += execlog
|
|
NAMES += hotblocks
|
|
NAMES += hotpages
|
|
NAMES += howvec
|
|
NAMES += lockstep
|
|
NAMES += hwprofile
|
|
NAMES += cache
|
|
NAMES += drcov
|
|
|
|
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 := $(shell $(PKG_CONFIG) --cflags glib-2.0)
|
|
CFLAGS += -fPIC -Wall
|
|
CFLAGS += $(if $(CONFIG_DEBUG_TCG), -ggdb -O0)
|
|
CFLAGS += -I$(SRC_PATH)/include/qemu
|
|
|
|
all: $(SONAMES)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
lib%.so: %.o
|
|
$(CC) -shared -o $@ $^ $(LDLIBS)
|
|
|
|
clean:
|
|
rm -f *.o *.so *.d
|
|
rm -Rf .libs
|
|
|
|
.PHONY: all clean
|