# HG changeset patch
# User ewan@xxxxxxxxxxxxxxxxxxxxx
# Date 1177184578 25200
# Node ID 8b0e9cb6b49b44dc63ba020de8f9a931ed8a91b8
# Parent 295858ddac8778d180a8e4e82642948890ff1743
Added Makefile.dist, which can make standalone tarballs.
Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx>
---
tools/libxen/Makefile | 11 ----
tools/libxen/Makefile.dist | 115 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 115 insertions(+), 11 deletions(-)
diff -r 295858ddac87 -r 8b0e9cb6b49b tools/libxen/Makefile
--- a/tools/libxen/Makefile Sat Apr 21 12:21:06 2007 -0700
+++ b/tools/libxen/Makefile Sat Apr 21 12:42:58 2007 -0700
@@ -72,14 +72,3 @@ clean:
rm -f libxenapi.so*
rm -f libxenapi.a
rm -f $(TEST_PROGRAMS)
-
-
-.PHONY: uberheader
-uberheader: include/xen/api/xen_all.h
-include/xen/api/xen_all.h::
- echo "/* This file is autogenerated */" >$@
- echo "#ifndef XEN_API_XEN_ALL_H" >>$@
- echo "#define XEN_API_XEN_ALL_H" >>$@
- ls include/xen/api/*.h | grep -v xen_all.h | grep -v _decl.h | \
- sed 's,^include/\(.*\)$$,#include <\1>,g' >>$@
- echo "#endif" >>$@
diff -r 295858ddac87 -r 8b0e9cb6b49b tools/libxen/Makefile.dist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/libxen/Makefile.dist Sat Apr 21 12:42:58 2007 -0700
@@ -0,0 +1,115 @@
+#
+# Copyright (c) 2006-2007, XenSource Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+
+MAJOR = 0.9
+MINOR = 1
+
+CFLAGS = -Iinclude \
+ $(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)
+
+# -h for Solaris
+SONAME_LDFLAG ?= -soname
+# -R /usr/sfw/$(LIBDIR) -shared for Solaris
+SHLIB_CFLAGS ?= -shared
+
+# ginstall for Solaris
+INSTALL = install
+INSTALL_DIR = $(INSTALL) -d -m0755 -p
+INSTALL_DATA = $(INSTALL) -m0644 -p
+
+LIBXENAPI_HDRS = $(wildcard include/*.h)
+LIBXENAPI_OBJS = $(patsubst %.c, %.o, $(wildcard src/*.c))
+
+TEST_PROGRAMS = test/test_bindings test/test_event_handling
+
+TARBALL_DEST = libxenapi-$(MAJOR).$(MINOR)
+
+.PHONY: all
+all: $(TEST_PROGRAMS)
+
+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 $^
+
+$(TEST_PROGRAMS): test/%: test/%.o libxenapi.so
+ $(CC) $(LDFLAGS) -o $@ $< -L . -lxenapi
+
+
+.PHONY: install
+install: all
+ $(INSTALL_DIR) $(DESTDIR)/usr/include/xen/api
+ $(INSTALL_DIR) $(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: tarball
+tarball: $(TARBALL_DEST).tar.bz2
+
+$(TARBALL_DEST).tar.bz2: all
+ rm -Rf $(TARBALL_DEST)
+ mkdir -p $(TARBALL_DEST)/include/xen/api
+ mkdir -p $(TARBALL_DEST)/src
+ mkdir -p $(TARBALL_DEST)/test
+ cp COPYING $(TARBALL_DEST)
+ cp Makefile.dist $(TARBALL_DEST)/Makefile
+ cp Makefile.dist $(TARBALL_DEST)/Makefile.dist
+ cp README $(TARBALL_DEST)
+ cp include/*.h $(TARBALL_DEST)/include
+ cp include/xen/api/*.h $(TARBALL_DEST)/include/xen/api
+ cp src/*.c $(TARBALL_DEST)/src
+ cp test/*.c $(TARBALL_DEST)/test
+ fakeroot chown root:root -R $(TARBALL_DEST)
+ fakeroot tar cjf $(TARBALL_DEST).tar.bz2 $(TARBALL_DEST)
+
+
+.PHONY: clean
+clean:
+ rm -f `find -name *.o`
+ rm -f libxenapi.so*
+ rm -f libxenapi.a
+ rm -f $(TEST_PROGRAMS)
+
+
+.PHONY: uberheader
+uberheader: include/xen/api/xen_all.h
+include/xen/api/xen_all.h::
+ echo "/* This file is autogenerated */" >$@
+ echo "#ifndef XEN_API_XEN_ALL_H" >>$@
+ echo "#define XEN_API_XEN_ALL_H" >>$@
+ ls include/xen/api/*.h | grep -v xen_all.h | grep -v _decl.h | \
+ sed 's,^include/\(.*\)$$,#include <\1>,g' >>$@
+ echo "#endif" >>$@
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|