[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Added Makefile.dist, which can make standalone tarballs.



# 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.