]> git.proxmox.com Git - pmg-api.git/blob - Makefile
add network api
[pmg-api.git] / Makefile
1 PACKAGE=proxmox-mailgateway-api
2 PKGVER=1.0
3 PKGREL=1
4
5 DEB=${PACKAGE}_${PKGVER}-${PKGREL}_all.deb
6
7 DESTDIR=
8
9 PERL5DIR=${DESTDIR}/usr/share/perl5
10 DOCDIR=${DESTDIR}/usr/share/doc/${PACKAGE}
11 BASHCOMPLDIR=${DESTDIR}/usr/share/bash-completion/completions/
12
13 REPOID=`./repoid.pl .git`
14
15 SERVICES = pmgdaemon pmgproxy
16
17 LIBSOURCES = \
18 PMG/pmgcfg.pm \
19 PMG/NoVncIndex.pm \
20 PMG/Cluster.pm \
21 PMG/HTTPServer.pm \
22 PMG/Ticket.pm \
23 PMG/AccessControl.pm \
24 PMG/API2/Network.pm \
25 PMG/API2/Services.pm \
26 PMG/API2/Tasks.pm \
27 PMG/API2/Nodes.pm \
28 PMG/API2/AccessControl.pm \
29 PMG/API2.pm
30
31 all: ${LIBSOURCES}
32
33 .PHONY: deb
34 deb ${DEB}: ${LIBSOURCES}
35 rm -rf build
36 rsync -a * build
37 cd build; dpkg-buildpackage -b -us -uc
38 lintian ${DEB}
39
40
41 PMG/pmgcfg.pm: PMG/pmgcfg.pm.in
42 sed -e s/@VERSION@/${PKGVER}/ -e s/@PACKAGERELEASE@/${PKGREL}/ -e s/@PACKAGE@/${PACKAGE}/ -e s/@REPOID@/${REPOID}/ $< >$@.tmp
43 mv $@.tmp $@
44
45 %.service-bash-completion:
46 perl -I.. -T -e "use PMG::Service::$*; PMG::Service::$*->generate_bash_completions();" >$@.tmp
47 mv $@.tmp $@
48
49 install: ${BTDATA} $(addsuffix .pm, $(addprefix PMG/Service/, ${SERVICES})) $(addsuffix .service-bash-completion, ${SERVICES}) ${LIBSOURCES}
50 for i in ${SERVICES}; do perl -I. -T -e "use PMG::Service::$$i; PMG::Service::$$i->verify_api();"; done
51 install -d -m 0755 ${DESTDIR}/usr/bin
52 install -d -m 0700 -o www-data -g www-data ${DESTDIR}/var/log/pmgproxy
53 install -d -m 0755 ${DOCDIR}
54 # TODO: is there a better location ?
55 install -m 0644 favicon.ico ${DOCDIR}
56 for i in ${LIBSOURCES}; do install -D -m 0644 $$i ${PERL5DIR}/$$i; done
57 for i in ${SERVICES}; do install -D -m 0644 PMG/Service/$$i.pm ${PERL5DIR}/PMG/Service/$$i.pm; done
58 for i in ${SERVICES}; do install -m 0755 bin/$$i ${DESTDIR}/usr/bin; done
59 for i in ${SERVICES}; do install -m 0644 -D $$i.service-bash-completion ${BASHCOMPLDIR}/$$i; done
60
61
62 .PHONY: upload
63 upload: ${DEB}
64 ./repoid.pl .git/ check
65 # fixme tar cf - ${DEB} | ssh repoman@repo.proxmox.com upload
66
67 distclean: clean
68
69 clean:
70 rm -rf ./build *.deb *.changes *.buildinfo
71 if test -d .git; then rm -f PMG/pmgcfg.pm; fi
72 find . -name '*~' -exec rm {} ';'
73
74 .PHONY: dinstall
75 dinstall: ${DEB}
76 dpkg -i ${DEB}