43 lines
957 B
Makefile
43 lines
957 B
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
|
||
|
# cflags 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 += hotblocks
|
||
|
NAMES += hotpages
|
||
|
NAMES += howvec
|
||
|
NAMES += lockstep
|
||
|
|
||
|
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 = $(GLIB_CFLAGS)
|
||
|
CFLAGS += -fPIC
|
||
|
CFLAGS += $(if $(findstring no-psabi,$(QEMU_CFLAGS)),-Wpsabi)
|
||
|
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
|