]>
Commit | Line | Data |
---|---|---|
c17a386b AB |
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 | ||
9 | BUILD_DIR := $(CURDIR)/../.. | |
10 | ||
11 | include $(BUILD_DIR)/config-host.mak | |
12 | ||
13 | VPATH += $(SRC_PATH)/contrib/plugins | |
14 | ||
15 | NAMES := | |
3d7caf14 | 16 | NAMES += execlog |
c17a386b AB |
17 | NAMES += hotblocks |
18 | NAMES += hotpages | |
19 | NAMES += howvec | |
20 | NAMES += lockstep | |
a622d64e | 21 | NAMES += hwprofile |
e2c5557c | 22 | NAMES += cache |
227b45dc | 23 | NAMES += drcov |
c17a386b AB |
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 | CFLAGS = $(GLIB_CFLAGS) | |
7a1f6e59 | 30 | CFLAGS += -fPIC -Wall $(filter -W%, $(QEMU_CFLAGS)) |
c17a386b AB |
31 | CFLAGS += $(if $(findstring no-psabi,$(QEMU_CFLAGS)),-Wpsabi) |
32 | CFLAGS += -I$(SRC_PATH)/include/qemu | |
33 | ||
34 | all: $(SONAMES) | |
35 | ||
36 | %.o: %.c | |
37 | $(CC) $(CFLAGS) -c -o $@ $< | |
38 | ||
39 | lib%.so: %.o | |
40 | $(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS) | |
41 | ||
42 | clean: | |
43 | rm -f *.o *.so *.d | |
44 | rm -Rf .libs | |
45 | ||
46 | .PHONY: all clean |