]> git.proxmox.com Git - libpve-u2f-server-perl.git/blame - Makefile
buildsys: make build-dir generation atomic
[libpve-u2f-server-perl.git] / Makefile
CommitLineData
b8adb2d5
WB
1include /usr/share/dpkg/pkg-info.mk
2include /usr/share/dpkg/architecture.mk
3
4PACKAGE=libpve-u2f-server-perl
5
90360196 6BUILDSRC := $(PACKAGE)-$(DEB_VERSION_EPOCH_UPSTREAM)
b8adb2d5
WB
7
8DESTDIR=
9PREFIX=/usr
10LIBDIR=$(PREFIX)/lib
11DOCDIR=$(PREFIX)/share/doc/$(PACKAGE)
12PERLDIR=$(PREFIX)/share/perl5
13
14PERL_ARCHLIB != perl -MConfig -e 'print $$Config{archlib};'
15PERL_INSTALLVENDORARCH != perl -MConfig -e 'print $$Config{installvendorarch};'
16PERL_APIVER != perl -MConfig -e 'print $$Config{debian_abi}//$$Config{version};'
17PERL_CC != perl -MConfig -e 'print $$Config{cc};'
18PERLSODIR=$(PERL_INSTALLVENDORARCH)/auto
19CFLAGS := -shared -fPIC -O2 -Werror -Wtype-limits -Wall -Wl,-z,relro \
20 -D_FORTIFY_SOURCE=2 -I$(PERL_ARCHLIB)/CORE -DXS_VERSION=\"1.0\"
21
22CFLAGS += `pkg-config --cflags u2f-server`
23LIBS += `pkg-config --libs u2f-server`
24
25DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_BUILD_ARCH).deb
26DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
27
28GITVERSION:=$(shell git rev-parse HEAD)
29
30all:
31
32ppport.h:
33 perl -MDevel::PPPort -e 'Devel::PPPort::WriteFile();'
34
35U2F.c: U2F.xs
36 xsubpp U2F.xs > U2F.xsc
37 mv U2F.xsc U2F.c
38
39U2F.so: U2F.c ppport.h
40 $(PERL_CC) $(CFLAGS) -o U2F.so U2F.c $(LIBS)
41
42.PHONY: dinstall
43dinstall: deb
44 dpkg -i $(DEB)
45
46.PHONY: install
47install: PVE/U2F.pm U2F.so
48 install -D -m 0644 PVE/U2F.pm $(DESTDIR)$(PERLDIR)/PVE/U2F.pm
49 install -D -m 0644 -s U2F.so $(DESTDIR)$(PERLSODIR)/PVE/U2F/U2F.so
50
51.PHONY: $(BUILDSRC)
52$(BUILDSRC):
53ce2b3d
TL
53 rm -rf $@ $@.tmp
54 mkdir $@.tmp
55 cp -a debian Makefile PVE U2F.xs base64.h $@.tmp/
56 echo "git clone git://git.proxmox.com/git/libpve-u2f-server-perl.git\\ngit checkout $(GITVERSION)" > $@.tmp/debian/SOURCE
57 mv $@.tmp $@
b8adb2d5
WB
58
59.PHONY: deb
60deb: $(DEB)
61$(DEB): $(BUILDSRC)
62 cd $(BUILDSRC); dpkg-buildpackage -b -us -uc
63 lintian $(DEB)
64
65.PHONY: dsc
66dsc: $(DSC)
67$(DSC): $(BUILDSRC)
68 cd $(BUILDSRC); dpkg-buildpackage -S -us -uc -d -nc
69 lintian $(DSC)
70
71.PHONY: clean
72clean:
808166de 73 rm -rf *~ $(BUILDSRC) *.deb *.changes *.buildinfo *.dsc *.tar.gz
b8adb2d5
WB
74
75.PHONY: distclean
76distclean: clean
77
78
79.PHONY: upload
78c5c503
FG
80upload: $(DEB)
81 tar cf - $(DEB) | ssh repoman@repo.proxmox.com -- upload --product pve --dist bullseye --arch $(DEB_BUILD_ARCH)