]> git.proxmox.com Git - mirror_qemu.git/blob - contrib/plugins/Makefile
contrib/plugins: use an independent makefile
[mirror_qemu.git] / contrib / plugins / Makefile
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 # programs that the main configure has already done for us.
7 #
8
9 include config-host.mak
10
11 TOP_SRC_PATH = $(SRC_PATH)/../..
12
13 VPATH += $(SRC_PATH)
14
15 NAMES :=
16 NAMES += execlog
17 NAMES += hotblocks
18 NAMES += hotpages
19 NAMES += howvec
20 NAMES += lockstep
21 NAMES += hwprofile
22 NAMES += cache
23 NAMES += drcov
24
25 SONAMES := $(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).
29 PLUGIN_CFLAGS := $(shell $(PKG_CONFIG) --cflags glib-2.0)
30 PLUGIN_CFLAGS += -fPIC -Wall
31 PLUGIN_CFLAGS += -I$(TOP_SRC_PATH)/include/qemu
32
33 all: $(SONAMES)
34
35 %.o: %.c
36 $(CC) $(CFLAGS) $(PLUGIN_CFLAGS) -c -o $@ $<
37
38 lib%.so: %.o
39 ifeq ($(CONFIG_DARWIN),y)
40 $(CC) -bundle -Wl,-undefined,dynamic_lookup -o $@ $^ $(LDLIBS)
41 else
42 $(CC) -shared -o $@ $^ $(LDLIBS)
43 endif
44
45 clean:
46 rm -f *.o *.so *.d
47 rm -Rf .libs
48
49 .PHONY: all clean
50 .SECONDARY: