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