]> git.proxmox.com Git - librados2-perl.git/blob - Makefile
bump version 1.0-6
[librados2-perl.git] / Makefile
1 RELEASE=5.0
2
3 VERSION=1.0
4 PACKAGE=librados2-perl
5 PKGREL=6
6
7 BUILDSRC := $(PACKAGE)-$(VERSION)
8
9 DESTDIR=
10 PREFIX=/usr
11 BINDIR=${PREFIX}/bin
12 LIBDIR=${PREFIX}/lib
13 SBINDIR=${PREFIX}/sbin
14 MANDIR=${PREFIX}/share/man
15 DOCDIR=${PREFIX}/share/doc/${PACKAGE}
16 MAN1DIR=${MANDIR}/man1/
17 PERLDIR=${PREFIX}/share/perl5
18
19 PERL_ARCHLIB := `perl -MConfig -e 'print $$Config{archlib};'`
20 PERL_INSTALLVENDORARCH := `perl -MConfig -e 'print $$Config{installvendorarch};'`
21 PERL_APIVER := `perl -MConfig -e 'print $$Config{debian_abi}//$$Config{version};'`
22
23 CFLAGS= -shared -fPIC -O2 -Wall -Wl,-z,relro -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
24 CFLAGS= -shared -fPIC -O2 -Werror -Wtype-limits -Wall -Wl,-z,relro \
25 -D_FORTIFY_SOURCE=2 -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
26
27
28 PERLSODIR=$(PERL_INSTALLVENDORARCH)/auto
29
30 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
31 GITVERSION:=$(shell git rev-parse HEAD)
32
33 DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb
34 DSC=${PACKAGE}_${VERSION}-${PKGREL}.dsc
35
36 all:
37
38 RADOS.c: RADOS.xs typemap
39 xsubpp RADOS.xs -typemap typemap > RADOS.xsc
40 mv RADOS.xsc RADOS.c
41
42 RADOS.so: RADOS.c
43 gcc ${CFLAGS} -lrados -o RADOS.so RADOS.c
44
45
46 .PHONY: dinstall
47 dinstall: deb
48 dpkg -i ${DEB}
49
50 .PHONY: install
51 install: PVE/RADOS.pm RADOS.so
52 install -D -m 0644 PVE/RADOS.pm ${DESTDIR}${PERLDIR}/PVE/RADOS.pm
53 install -D -m 0644 -s RADOS.so ${DESTDIR}${PERLSODIR}/PVE/RADOS/RADOS.so
54
55 .PHONY: $(BUILDSRC)
56 $(BUILDSRC):
57 rm -rf $(BUILDSRC)
58 rsync -a * $(BUILDSRC)
59 sed -e "s|@PERLAPI@|perlapi-$(PERL_APIVER)|g" debian/control.in >$(BUILDSRC)/debian/control
60 echo "git clone git://git.proxmox.com/git/librados2-perl.git\\ngit checkout ${GITVERSION}" > $(BUILDSRC)/debian/SOURCE
61
62 .PHONY: deb
63 deb: ${DEB}
64 ${DEB}: $(BUILDSRC)
65 cd $(BUILDSRC); dpkg-buildpackage -b -us -uc
66 lintian ${DEB}
67
68 .PHONY: dsc
69 dsc: ${DSC}
70 ${DSC}: $(BUILDSRC)
71 cd $(BUILDSRC); dpkg-buildpackage -S -us -uc -d -nc
72 lintian ${DSC}
73
74 .PHONY: clean
75 clean:
76 rm -rf *~ build *.deb *.changes *.buildinfo *.dsc *.tar.gz
77 find . -name '*~' -exec rm {} ';'
78
79 .PHONY: distclean
80 distclean: clean
81
82
83 .PHONY: upload
84 upload: ${DEB}
85 tar cf - ${DEB} | ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${ARCH}