mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Add libxen to overall xen build via a config option in Config.mk.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
This commit is contained in:
1 parent
caf550ed59
commit
0dc1af83bf
3 files changed
+40
-6
No files matched your search
@@ -71,5 +71,6 @@ ACM_DEFAULT_SECURITY_POLICY ?= ACM_NULL_POLICY
|
||||
XENSTAT_XENTOP ?= y
|
||||
|
||||
VTPM_TOOLS ?= n
|
||||
LIBXENAPI_BINDINGS ?= n
|
||||
|
||||
-include $(XEN_ROOT)/.config
|
||||
@@ -19,6 +19,7 @@ SUBDIRS-y += xenstat
|
||||
SUBDIRS-y += libaio
|
||||
SUBDIRS-y += blktap
|
||||
SUBDIRS-y += libfsimage
|
||||
SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
|
||||
|
||||
# These don't cross-compile
|
||||
ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
|
||||
|
||||
+38
-6
@@ -15,23 +15,55 @@
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
XEN_ROOT=../..
|
||||
include $(XEN_ROOT)/tools/Rules.mk
|
||||
|
||||
MAJOR = 0.1
|
||||
MINOR = 0
|
||||
|
||||
CFLAGS = -Iinclude \
|
||||
$(shell xml2-config --cflags) \
|
||||
$(shell xml2-config --cflags) \
|
||||
$(shell curl-config --cflags) \
|
||||
-W -Wall -Wmissing-prototypes -Werror -std=c99 -O2 -fPIC
|
||||
|
||||
LDFLAGS = $(shell xml2-config --libs) \
|
||||
$(shell curl-config --libs)
|
||||
|
||||
test/test_bindings: test/test_bindings.o src/libxen.so
|
||||
$(CC) $(LDFLAGS) -o $@ $< -L src -lxen
|
||||
LIBXENAPI_HDRS = $(wildcard include/*.h)
|
||||
LIBXENAPI_OBJS = $(patsubst %.c, %.o, $(wildcard src/*.c))
|
||||
|
||||
src/libxen.so: $(patsubst %.c, %.o, $(wildcard src/*.c))
|
||||
$(CC) -shared -o $@ $^
|
||||
|
||||
.PHONY: all
|
||||
all: libxenapi.so libxenapi.a
|
||||
|
||||
libxenapi.so: libxenapi.so.$(MAJOR)
|
||||
ln -sf $< $@
|
||||
|
||||
libxenapi.so.$(MAJOR): libxenapi.so.$(MAJOR).$(MINOR)
|
||||
ln -sf $< $@
|
||||
|
||||
libxenapi.so.$(MAJOR).$(MINOR): $(LIBXENAPI_OBJS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenapi.so.$(MAJOR) $(SHLIB_CFLAGS) -o $@ $^
|
||||
|
||||
libxenapi.a: $(LIBXENAPI_OBJS)
|
||||
$(AR) rcs libxenapi.a $^
|
||||
|
||||
|
||||
.PHONY: install
|
||||
install: all
|
||||
$(INSTALL_DIR) -p $(DESTDIR)/usr/include/xen/api
|
||||
$(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
|
||||
$(INSTALL_PROG) libxenapi.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)
|
||||
ln -sf libxenapi.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)/libxenapi.so.$(MAJOR)
|
||||
ln -sf libxenapi.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenapi.so
|
||||
$(INSTALL_DATA) libxenapi.a $(DESTDIR)/usr/$(LIBDIR)
|
||||
for i in $(LIBXENAPI_HDRS); do \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)/usr/include/xen/api; \
|
||||
done
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f `find -name *.o`
|
||||
rm -f src/libxen.so
|
||||
rm -f libxenapi.so*
|
||||
rm -f libxenapi.a
|
||||
rm -f test/test_bindings
|
||||