summary refs log tree commit diff stats
path: root/module-common.c
diff options
context:
space:
mode:
authorFam Zheng <famz@redhat.com>2014-02-10 14:48:56 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2014-02-20 13:14:18 +0100
commit17969268f5938ae1d7f3dedbd73e507badb6146d (patch)
tree73132454175b7ae8096a580d278001a95aa3b8f6 /module-common.c
parent13b6ce0ec98dc0d757d5c9b50f3ce349d7af43bd (diff)
downloadfocaccia-qemu-17969268f5938ae1d7f3dedbd73e507badb6146d.tar.gz
focaccia-qemu-17969268f5938ae1d7f3dedbd73e507badb6146d.zip
rules.mak: introduce DSO rules
Add necessary rules and flags for shared object generation.
The new rules introduced here are:

1) %.o in $(common-obj-m) is compiled to %.o, then linked to %.so.

2) %.mo in $(common-obj-m) is the placeholder for %.so for pattern
matching in Makefile. It's linked to "-shared" with all its dependencies
(multiple *.o) as input. Which means the list of depended objects must
be specified in each sub-Makefile.objs:

    foo.mo-objs := bar.o baz.o qux.o

in the same style with foo.o-cflags and foo.o-libs. The objects here
will be prefixed with "$(obj)/" if it's a subdirectory Makefile.objs.

3) For all files ending up in %.so, the following is added automatically:

    foo.o-cflags += -fPIC -DBUILD_DSO

Also introduce --enable-modules in configure, the option will enable
support of shared object build. Otherwise objects are static linked to
executables.

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'module-common.c')
0 files changed, 0 insertions, 0 deletions