]>
Commit | Line | Data |
---|---|---|
27bfc7c6 DM |
1 | RELEASE=3.1 |
2 | ||
3 | VERSION=0.72.1 | |
4 | PACKAGE=librados2-perl | |
5 | PKGREL=1 | |
6 | ||
7 | DESTDIR= | |
8 | PREFIX=/usr | |
9 | BINDIR=${PREFIX}/bin | |
10 | LIBDIR=${PREFIX}/lib | |
11 | SBINDIR=${PREFIX}/sbin | |
12 | MANDIR=${PREFIX}/share/man | |
13 | DOCDIR=${PREFIX}/share/doc/${PACKAGE} | |
14 | MAN1DIR=${MANDIR}/man1/ | |
15 | PERLDIR=${PREFIX}/share/perl5 | |
16 | PERLSODIR=${LIBDIR}/perl5/auto | |
17 | ||
18 | ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) | |
19 | GITVERSION:=$(shell cat .git/refs/heads/master) | |
20 | ||
21 | DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb | |
22 | ||
23 | all: ${DEB} | |
24 | ||
25 | RADOS.c: RADOS.xs typemap | |
26 | xsubpp RADOS.xs -typemap typemap > RADOS.xsc | |
27 | mv RADOS.xsc RADOS.c | |
28 | ||
29 | CFLAGS= -shared -fPIC -O2 -Wall -Wl,-z,relro -I/usr/lib/perl/5.14.2/CORE -DXS_VERSION=\"1.0\" | |
eeba774b DM |
30 | CFLAGS= -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 |
33 | RADOS.so: RADOS.c |
34 | gcc ${CFLAGS} -lrados -o RADOS.so RADOS.c | |
35 | ||
36 | ||
37 | .PHONY: dinstall | |
38 | dinstall: deb | |
39 | dpkg -i ${DEB} | |
40 | ||
41 | .PHONY: install | |
42 | install: 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} | |
47 | deb ${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 | |
63 | clean: | |
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 | |
68 | distclean: clean | |
69 | ||
70 | ||
71 | .PHONY: upload | |
72 | upload: ${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 |