]> git.proxmox.com Git - librados2-perl.git/blame - Makefile
depend on libpve-access-control
[librados2-perl.git] / Makefile
CommitLineData
27bfc7c6
DM
1RELEASE=3.1
2
3VERSION=0.72.1
4PACKAGE=librados2-perl
e2171b36 5PKGREL=3
27bfc7c6
DM
6
7DESTDIR=
8PREFIX=/usr
9BINDIR=${PREFIX}/bin
10LIBDIR=${PREFIX}/lib
11SBINDIR=${PREFIX}/sbin
12MANDIR=${PREFIX}/share/man
13DOCDIR=${PREFIX}/share/doc/${PACKAGE}
14MAN1DIR=${MANDIR}/man1/
15PERLDIR=${PREFIX}/share/perl5
16PERLSODIR=${LIBDIR}/perl5/auto
17
18ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
19GITVERSION:=$(shell cat .git/refs/heads/master)
20
21DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb
22
23all: ${DEB}
24
25RADOS.c: RADOS.xs typemap
26 xsubpp RADOS.xs -typemap typemap > RADOS.xsc
27 mv RADOS.xsc RADOS.c
28
29CFLAGS= -shared -fPIC -O2 -Wall -Wl,-z,relro -I/usr/lib/perl/5.14.2/CORE -DXS_VERSION=\"1.0\"
eeba774b
DM
30CFLAGS= -shared -fPIC -O2 -Werror -Wtype-limits -Wall -Wl,-z,relro \
31 -D_FORTIFY_SOURCE=2 -I/usr/lib/perl/5.14.2/CORE -DXS_VERSION=\"1.0\"
32
27bfc7c6
DM
33RADOS.so: RADOS.c
34 gcc ${CFLAGS} -lrados -o RADOS.so RADOS.c
35
36
37.PHONY: dinstall
38dinstall: deb
39 dpkg -i ${DEB}
40
41.PHONY: install
42install: PVE/RADOS.pm RADOS.so
43 install -D -m 0644 PVE/RADOS.pm ${DESTDIR}${PERLDIR}/PVE/RADOS.pm
908b721b 44 install -D -m 0644 -s RADOS.so ${DESTDIR}${PERLSODIR}/PVE/RADOS/RADOS.so
27bfc7c6
DM
45
46.PHONY: deb ${DEB}
47deb ${DEB}:
48 rm -rf debian
49 mkdir debian
50 make DESTDIR=${CURDIR}/debian install
51 install -d -m 0755 debian/DEBIAN
52 sed -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ -e s/@@ARCH@@/${ARCH}/ <control.in >debian/DEBIAN/control
53 install -D -m 0644 copyright debian/${DOCDIR}/copyright
54 install -m 0644 changelog.Debian debian/${DOCDIR}/
55 gzip -9 debian/${DOCDIR}/changelog.Debian
56 echo "git clone git://git.proxmox.com/git/librados2-perl.git\\ngit checkout ${GITVERSION}" > debian/${DOCDIR}/SOURCE
57 dpkg-deb --build debian
58 mv debian.deb ${DEB}
59 rm -rf debian
60 lintian ${DEB}
61
62.PHONY: clean
63clean:
64 rm -rf debian *.deb ${PACKAGE}-*.tar.gz dist *.1.pod *.1.gz RADOS.so RADOS.c
65 find . -name '*~' -exec rm {} ';'
66
67.PHONY: distclean
68distclean: clean
69
70
71.PHONY: upload
72upload: ${DEB}
73 umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw
74 mkdir -p /pve/${RELEASE}/extra
75 rm -f /pve/${RELEASE}/extra/${PACKAGE}_*.deb
76 rm -f /pve/${RELEASE}/extra/Packages*
77 cp ${DEB} /pve/${RELEASE}/extra
78 cd /pve/${RELEASE}/extra; dpkg-scanpackages . /dev/null > Packages; gzip -9c Packages > Packages.gz
79 umount /pve/${RELEASE}; mount /pve/${RELEASE} -o ro
80