]>
Commit | Line | Data |
---|---|---|
1e7b5b8a TL |
1 | include /usr/share/dpkg/pkg-info.mk |
2 | include /usr/share/dpkg/architecture.mk | |
27bfc7c6 | 3 | |
27bfc7c6 | 4 | PACKAGE=librados2-perl |
27bfc7c6 | 5 | |
1e7b5b8a | 6 | BUILDSRC := $(PACKAGE)-$(DEB_VERSION_UPSTREAM) |
b39fcf2d | 7 | |
27bfc7c6 DM |
8 | DESTDIR= |
9 | PREFIX=/usr | |
fe01850a TL |
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 | |
c942d42b WB |
17 | |
18 | PERL_ARCHLIB := `perl -MConfig -e 'print $$Config{archlib};'` | |
19 | PERL_INSTALLVENDORARCH := `perl -MConfig -e 'print $$Config{installvendorarch};'` | |
75a50e55 | 20 | PERL_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) |
23 | CFLAGS = -shared -fPIC -g -O2 -Werror -Wtype-limits -Wall -Wl,-z,relro | |
24 | CFLAGS += -D_FORTIFY_SOURCE=2 -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\" | |
25 | CFLAGS += -fstack-protector-strong -Wformat | |
c942d42b WB |
26 | |
27 | PERLSODIR=$(PERL_INSTALLVENDORARCH)/auto | |
27bfc7c6 | 28 | |
adc738c7 | 29 | GITVERSION:=$(shell git rev-parse HEAD) |
27bfc7c6 | 30 | |
fe01850a TL |
31 | DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_BUILD_ARCH).deb |
32 | DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc | |
27bfc7c6 | 33 | |
98f1c5cb | 34 | all: |
27bfc7c6 DM |
35 | |
36 | RADOS.c: RADOS.xs typemap | |
37 | xsubpp RADOS.xs -typemap typemap > RADOS.xsc | |
38 | mv RADOS.xsc RADOS.c | |
39 | ||
27bfc7c6 | 40 | RADOS.so: RADOS.c |
121c9cb4 | 41 | $(CC) $(CFLAGS) -o RADOS.so RADOS.c -lrados |
27bfc7c6 DM |
42 | |
43 | .PHONY: dinstall | |
44 | dinstall: deb | |
fe01850a | 45 | dpkg -i $(DEB) |
27bfc7c6 DM |
46 | |
47 | .PHONY: install | |
48 | install: 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 |
60 | deb: $(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 |
66 | dsc: $(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 | 72 | clean: |
c2e12db6 | 73 | rm -rf $(PACKAGE)-[0-9]*/ *.deb *.changes *.buildinfo *.build *.tar.?z *.dsc |
27bfc7c6 DM |
74 | |
75 | .PHONY: distclean | |
76 | distclean: clean | |
77 | ||
27bfc7c6 | 78 | .PHONY: upload |
fe01850a | 79 | upload: $(DEB) |
fd33d2cf | 80 | tar cf - $(DEB) | ssh repoman@repo.proxmox.com -- upload --product pve --dist bookworm --arch $(DEB_BUILD_ARCH) |