]> git.proxmox.com Git - librados2-perl.git/blame - Makefile
buildsys: use gzip -n to disable timestamps
[librados2-perl.git] / Makefile
CommitLineData
0ae603da 1RELEASE=4.0
27bfc7c6 2
54755282 3VERSION=1.0
27bfc7c6 4PACKAGE=librados2-perl
7b47a95f 5PKGREL=3
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};'`
19
20CFLAGS= -shared -fPIC -O2 -Wall -Wl,-z,relro -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
21CFLAGS= -shared -fPIC -O2 -Werror -Wtype-limits -Wall -Wl,-z,relro \
22 -D_FORTIFY_SOURCE=2 -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
23
24
25PERLSODIR=$(PERL_INSTALLVENDORARCH)/auto
27bfc7c6
DM
26
27ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
28GITVERSION:=$(shell cat .git/refs/heads/master)
29
30DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb
31
32all: ${DEB}
33
34RADOS.c: RADOS.xs typemap
35 xsubpp RADOS.xs -typemap typemap > RADOS.xsc
36 mv RADOS.xsc RADOS.c
37
27bfc7c6
DM
38RADOS.so: RADOS.c
39 gcc ${CFLAGS} -lrados -o RADOS.so RADOS.c
40
41
42.PHONY: dinstall
43dinstall: deb
44 dpkg -i ${DEB}
45
46.PHONY: install
47install: PVE/RADOS.pm RADOS.so
48 install -D -m 0644 PVE/RADOS.pm ${DESTDIR}${PERLDIR}/PVE/RADOS.pm
908b721b 49 install -D -m 0644 -s RADOS.so ${DESTDIR}${PERLSODIR}/PVE/RADOS/RADOS.so
27bfc7c6
DM
50
51.PHONY: deb ${DEB}
c942d42b
WB
52deb: ${DEB}
53${DEB}:
27bfc7c6
DM
54 rm -rf debian
55 mkdir debian
56 make DESTDIR=${CURDIR}/debian install
57 install -d -m 0755 debian/DEBIAN
58 sed -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ -e s/@@ARCH@@/${ARCH}/ <control.in >debian/DEBIAN/control
59 install -D -m 0644 copyright debian/${DOCDIR}/copyright
60 install -m 0644 changelog.Debian debian/${DOCDIR}/
d9b0eb80 61 gzip -9 -n debian/${DOCDIR}/changelog.Debian
27bfc7c6
DM
62 echo "git clone git://git.proxmox.com/git/librados2-perl.git\\ngit checkout ${GITVERSION}" > debian/${DOCDIR}/SOURCE
63 dpkg-deb --build debian
64 mv debian.deb ${DEB}
65 rm -rf debian
66 lintian ${DEB}
67
68.PHONY: clean
69clean:
70 rm -rf debian *.deb ${PACKAGE}-*.tar.gz dist *.1.pod *.1.gz RADOS.so RADOS.c
71 find . -name '*~' -exec rm {} ';'
72
73.PHONY: distclean
74distclean: clean
75
76
77.PHONY: upload
78upload: ${DEB}
79 umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw
80 mkdir -p /pve/${RELEASE}/extra
81 rm -f /pve/${RELEASE}/extra/${PACKAGE}_*.deb
82 rm -f /pve/${RELEASE}/extra/Packages*
83 cp ${DEB} /pve/${RELEASE}/extra
84 cd /pve/${RELEASE}/extra; dpkg-scanpackages . /dev/null > Packages; gzip -9c Packages > Packages.gz
85 umount /pve/${RELEASE}; mount /pve/${RELEASE} -o ro
86