mirror of
https://github.com/xemu-project/xemu.git
synced 2025-04-02 11:11:48 -04:00
QEMU adds the path to glib.h to all compilation commands. This is simpler due to the pervasive use of static_library, and was grandfathered in from the previous Make-based build system. Until Meson 0.63 the only way to do this was to detect glib in configure and use add_project_arguments, but now it is possible to use add_project_dependencies instead. gmodule is detected in a separate variable, with export enabled for modules and disabled for plugin. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
47 lines
1.1 KiB
Makefile
47 lines
1.1 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 $(filter -W%, $(QEMU_CFLAGS))
|
|
CFLAGS += $(if $(findstring no-psabi,$(QEMU_CFLAGS)),-Wpsabi)
|
|
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 -Wl,-soname,$@ -o $@ $^ $(LDLIBS)
|
|
|
|
clean:
|
|
rm -f *.o *.so *.d
|
|
rm -Rf .libs
|
|
|
|
.PHONY: all clean
|