]> git.proxmox.com Git - librados2-perl.git/blame - Makefile
bump version to 1.4.1
[librados2-perl.git] / Makefile
CommitLineData
1e7b5b8a
TL
1include /usr/share/dpkg/pkg-info.mk
2include /usr/share/dpkg/architecture.mk
27bfc7c6 3
27bfc7c6 4PACKAGE=librados2-perl
27bfc7c6 5
1e7b5b8a 6BUILDSRC := $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
b39fcf2d 7
27bfc7c6
DM
8DESTDIR=
9PREFIX=/usr
fe01850a
TL
10BINDIR=$(PREFIX)/bin
11LIBDIR=$(PREFIX)/lib
12SBINDIR=$(PREFIX)/sbin
13MANDIR=$(PREFIX)/share/man
14DOCDIR=$(PREFIX)/share/doc/$(PACKAGE)
15MAN1DIR=$(MANDIR)/man1/
16PERLDIR=$(PREFIX)/share/perl5
c942d42b
WB
17
18PERL_ARCHLIB := `perl -MConfig -e 'print $$Config{archlib};'`
19PERL_INSTALLVENDORARCH := `perl -MConfig -e 'print $$Config{installvendorarch};'`
75a50e55 20PERL_APIVER := `perl -MConfig -e 'print $$Config{debian_abi}//$$Config{version};'`
c942d42b 21
d2d49504
TL
22# overwrite as not all Debian default flags work for the XS code (e.g., -Wformat-security)
23CFLAGS = -shared -fPIC -g -O2 -Werror -Wtype-limits -Wall -Wl,-z,relro
24CFLAGS += -D_FORTIFY_SOURCE=2 -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
25CFLAGS += -fstack-protector-strong -Wformat
c942d42b
WB
26
27PERLSODIR=$(PERL_INSTALLVENDORARCH)/auto
27bfc7c6 28
adc738c7 29GITVERSION:=$(shell git rev-parse HEAD)
27bfc7c6 30
fe01850a
TL
31DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_BUILD_ARCH).deb
32DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).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 40RADOS.so: RADOS.c
121c9cb4 41 $(CC) $(CFLAGS) -o RADOS.so RADOS.c -lrados
27bfc7c6
DM
42
43.PHONY: dinstall
44dinstall: deb
fe01850a 45 dpkg -i $(DEB)
27bfc7c6
DM
46
47.PHONY: install
48install: PVE/RADOS.pm RADOS.so
fe01850a
TL
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
27bfc7c6 51
b39fcf2d
WB
52.PHONY: $(BUILDSRC)
53$(BUILDSRC):
54 rm -rf $(BUILDSRC)
55 rsync -a * $(BUILDSRC)
56 sed -e "s|@PERLAPI@|perlapi-$(PERL_APIVER)|g" debian/control.in >$(BUILDSRC)/debian/control
fe01850a 57 echo "git clone git://git.proxmox.com/git/librados2-perl.git\\ngit checkout $(GITVERSION)" > $(BUILDSRC)/debian/SOURCE
98f1c5cb
TL
58
59.PHONY: deb
fe01850a
TL
60deb: $(DEB)
61$(DEB): $(BUILDSRC)
b39fcf2d 62 cd $(BUILDSRC); dpkg-buildpackage -b -us -uc
fe01850a 63 lintian $(DEB)
27bfc7c6 64
31a80a84 65.PHONY: dsc
fe01850a
TL
66dsc: $(DSC)
67$(DSC): $(BUILDSRC)
b39fcf2d 68 cd $(BUILDSRC); dpkg-buildpackage -S -us -uc -d -nc
fe01850a 69 lintian $(DSC)
31a80a84 70
27bfc7c6 71.PHONY: clean
fe01850a 72clean:
c2e12db6 73 rm -rf $(PACKAGE)-[0-9]*/ *.deb *.changes *.buildinfo *.build *.tar.?z *.dsc
27bfc7c6
DM
74
75.PHONY: distclean
76distclean: clean
77
27bfc7c6 78.PHONY: upload
fe01850a 79upload: $(DEB)
fd33d2cf 80 tar cf - $(DEB) | ssh repoman@repo.proxmox.com -- upload --product pve --dist bookworm --arch $(DEB_BUILD_ARCH)