]> git.proxmox.com Git - librados2-perl.git/blame - Makefile
bsys: fix git HEAD parse to reflect actual build commit
[librados2-perl.git] / Makefile
CommitLineData
510737f9 1RELEASE=5.0
27bfc7c6 2
54755282 3VERSION=1.0
27bfc7c6 4PACKAGE=librados2-perl
19773ec9 5PKGREL=5
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
c942d42b
WB
16
17PERL_ARCHLIB := `perl -MConfig -e 'print $$Config{archlib};'`
18PERL_INSTALLVENDORARCH := `perl -MConfig -e 'print $$Config{installvendorarch};'`
75a50e55 19PERL_APIVER := `perl -MConfig -e 'print $$Config{debian_abi}//$$Config{version};'`
c942d42b
WB
20
21CFLAGS= -shared -fPIC -O2 -Wall -Wl,-z,relro -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
22CFLAGS= -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
26PERLSODIR=$(PERL_INSTALLVENDORARCH)/auto
27bfc7c6
DM
27
28ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
adc738c7 29GITVERSION:=$(shell git rev-parse HEAD)
27bfc7c6
DM
30
31DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb
31a80a84 32DSC=${PACKAGE}_${VERSION}-${PKGREL}.dsc
27bfc7c6 33
98f1c5cb 34all:
27bfc7c6
DM
35
36RADOS.c: RADOS.xs typemap
37 xsubpp RADOS.xs -typemap typemap > RADOS.xsc
38 mv RADOS.xsc RADOS.c
39
27bfc7c6
DM
40RADOS.so: RADOS.c
41 gcc ${CFLAGS} -lrados -o RADOS.so RADOS.c
42
43
44.PHONY: dinstall
45dinstall: deb
46 dpkg -i ${DEB}
47
48.PHONY: install
49install: PVE/RADOS.pm RADOS.so
50 install -D -m 0644 PVE/RADOS.pm ${DESTDIR}${PERLDIR}/PVE/RADOS.pm
908b721b 51 install -D -m 0644 -s RADOS.so ${DESTDIR}${PERLSODIR}/PVE/RADOS/RADOS.so
27bfc7c6 52
98f1c5cb
TL
53
54.PHONY: deb
c942d42b
WB
55deb: ${DEB}
56${DEB}:
98f1c5cb
TL
57 rm -rf build
58 rsync -a * build
59 sed -e "s|@PERLAPI@|perlapi-$(PERL_APIVER)|g" debian/control.in >build/debian/control
60 echo "git clone git://git.proxmox.com/git/librados2-perl.git\\ngit checkout ${GITVERSION}" > build/debian/SOURCE
61 cd build; dpkg-buildpackage -b -us -uc
27bfc7c6
DM
62 lintian ${DEB}
63
31a80a84
TL
64.PHONY: dsc
65dsc: ${DSC}
66${DSC}:
67 rm -rf build
68 rsync -a * build
69 sed -e "s|@PERLAPI@|perlapi-$(PERL_APIVER)|g" debian/control.in >build/debian/control
70 echo "git clone git://git.proxmox.com/git/librados2-perl.git\\ngit checkout ${GITVERSION}" > build/debian/SOURCE
71 cd build; dpkg-buildpackage -S -us -uc -d -nc
72 lintian ${DSC}
73
27bfc7c6
DM
74.PHONY: clean
75clean:
31a80a84 76 rm -rf *~ build *.deb *.changes *.buildinfo *.dsc *.tar.gz
27bfc7c6
DM
77 find . -name '*~' -exec rm {} ';'
78
79.PHONY: distclean
80distclean: clean
81
82
83.PHONY: upload
84upload: ${DEB}
b90c3853 85 tar cf - ${DEB} | ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${ARCH}