]> git.proxmox.com Git - librados2-perl.git/blob - Makefile
Make error messages in Rados.pm prettier
[librados2-perl.git] / Makefile
1 RELEASE=5.0
2
3 VERSION=1.0
4 PACKAGE=librados2-perl
5 PKGREL=5
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
17 PERL_ARCHLIB := `perl -MConfig -e 'print $$Config{archlib};'`
18 PERL_INSTALLVENDORARCH := `perl -MConfig -e 'print $$Config{installvendorarch};'`
19 PERL_APIVER := `perl -MConfig -e 'print $$Config{debian_abi}//$$Config{version};'`
20
21 CFLAGS= -shared -fPIC -O2 -Wall -Wl,-z,relro -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
22 CFLAGS= -shared -fPIC -O2 -Werror -Wtype-limits -Wall -Wl,-z,relro \
23 -D_FORTIFY_SOURCE=2 -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
24
25
26 PERLSODIR=$(PERL_INSTALLVENDORARCH)/auto
27
28 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
29 GITVERSION:=$(shell cat .git/refs/heads/master)
30
31 DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb
32
33 all: ${DEB}
34
35 RADOS.c: RADOS.xs typemap
36 xsubpp RADOS.xs -typemap typemap > RADOS.xsc
37 mv RADOS.xsc RADOS.c
38
39 RADOS.so: RADOS.c
40 gcc ${CFLAGS} -lrados -o RADOS.so RADOS.c
41
42
43 .PHONY: dinstall
44 dinstall: deb
45 dpkg -i ${DEB}
46
47 .PHONY: install
48 install: PVE/RADOS.pm RADOS.so
49 install -D -m 0644 PVE/RADOS.pm ${DESTDIR}${PERLDIR}/PVE/RADOS.pm
50 install -D -m 0644 -s RADOS.so ${DESTDIR}${PERLSODIR}/PVE/RADOS/RADOS.so
51
52 .PHONY: deb ${DEB}
53 deb: ${DEB}
54 ${DEB}:
55 rm -rf debian
56 mkdir debian
57 make DESTDIR=${CURDIR}/debian install
58 install -d -m 0755 debian/DEBIAN
59 sed -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ -e s/@@ARCH@@/${ARCH}/ -e "s|@PERLAPI@|perlapi-$(PERL_APIVER)|g" <control.in >debian/DEBIAN/control
60 install -D -m 0644 copyright debian/${DOCDIR}/copyright
61 install -m 0644 changelog.Debian debian/${DOCDIR}/
62 gzip -9 -n debian/${DOCDIR}/changelog.Debian
63 echo "git clone git://git.proxmox.com/git/librados2-perl.git\\ngit checkout ${GITVERSION}" > debian/${DOCDIR}/SOURCE
64 fakeroot dpkg-deb --build debian
65 mv debian.deb ${DEB}
66 rm -rf debian
67 lintian ${DEB}
68
69 .PHONY: clean
70 clean:
71 rm -rf debian *.deb ${PACKAGE}-*.tar.gz dist *.1.pod *.1.gz RADOS.so RADOS.c
72 find . -name '*~' -exec rm {} ';'
73
74 .PHONY: distclean
75 distclean: clean
76
77
78 .PHONY: upload
79 upload: ${DEB}
80 tar cf - ${DEB} | ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${ARCH}