qemu/contrib/plugins/Makefile
<<
>>
Prefs
   1# -*- Mode: makefile -*-
   2#
   3# This Makefile example is fairly independent from the main makefile
   4# so users can take and adapt it for their build. We only really
   5# include config-host.mak so we don't have to repeat probing for
   6# cflags that the main configure has already done for us.
   7#
   8
   9BUILD_DIR := $(CURDIR)/../..
  10
  11include $(BUILD_DIR)/config-host.mak
  12
  13VPATH += $(SRC_PATH)/contrib/plugins
  14
  15NAMES :=
  16NAMES += execlog
  17NAMES += hotblocks
  18NAMES += hotpages
  19NAMES += howvec
  20NAMES += lockstep
  21NAMES += hwprofile
  22NAMES += cache
  23NAMES += drcov
  24
  25SONAMES := $(addsuffix .so,$(addprefix lib,$(NAMES)))
  26
  27# The main QEMU uses Glib extensively so it's perfectly fine to use it
  28# in plugins (which many example do).
  29CFLAGS = $(GLIB_CFLAGS)
  30CFLAGS += -fPIC -Wall $(filter -W%, $(QEMU_CFLAGS))
  31CFLAGS += $(if $(findstring no-psabi,$(QEMU_CFLAGS)),-Wpsabi)
  32CFLAGS += -I$(SRC_PATH)/include/qemu
  33
  34all: $(SONAMES)
  35
  36%.o: %.c
  37        $(CC) $(CFLAGS) -c -o $@ $<
  38
  39lib%.so: %.o
  40        $(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS)
  41
  42clean:
  43        rm -f *.o *.so *.d
  44        rm -Rf .libs
  45
  46.PHONY: all clean
  47