]> git.proxmox.com Git - pve-client.git/blame - Makefile
remote.pm: use better command names (list, add, set, delete)
[pve-client.git] / Makefile
CommitLineData
e4f88921
DM
1PACKAGE=pve-client
2PKGVER=0.1
3PKGREL=1
4
5DEB=${PACKAGE}_${PKGVER}-${PKGREL}_all.deb
6
7DESTDIR=
8
ca3269f4 9PERL5_DIR=${DESTDIR}/usr/share/perl5
565bbc73 10LIB_DIR=${DESTDIR}/usr/share/${PACKAGE}
2767c2b9 11MAN1DIR=${DESTDIR}//usr/share/man/man1
e4f88921 12DOCDIR=${DESTDIR}/usr/share/doc/${PACKAGE}
dce6ecbc 13BASHCOMPLDIR=${DESTDIR}/usr/share/bash-completion/completions/
e4f88921 14
ca3269f4 15PVE_COMMON_FILES= \
50d84256
DM
16 Tools.pm \
17 Syscall.pm \
ca3269f4
RJ
18 CLIHandler.pm \
19 JSONSchema.pm \
20 PTY.pm \
21 RESTHandler.pm \
22 SafeSyslog.pm \
23 SectionConfig.pm \
24
a086d1ce 25PVE_CLIENT_SOURCES= \
a086d1ce
DM
26 PVE/APIClient/Helpers.pm \
27 PVE/APIClient/Config.pm \
28 PVE/APIClient/Commands/remote.pm \
29 PVE/APIClient/Commands/config.pm \
30 PVE/APIClient/Commands/lxc.pm \
31 PVE/APIClient/Commands/list.pm \
32 PVE/APIClient/Commands/GuestStatus.pm
33
e4f88921
DM
34all: ${DEB}
35
36.PHONY: deb
37deb ${DEB}:
38 rm -rf build
39 rsync -a debian build
40 make DESTDIR=./build install
41 cd build; dpkg-buildpackage -rfakeroot -b -us -uc
42 lintian ${DEB}
43
2767c2b9
DM
44pveclient.1-synopsis.adoc: pveclient ${PVE_CLIENT_SOURCES}
45 perl -I. ./pveclient printsynopsis > $@.tmp
46 mv $@.tmp $@
47
48pveclient.1: pveclient.1-synopsis.adoc
49 a2x -f manpage pveclient.adoc
50
51install: pve-api-definition.dat pveclient.1
ca3269f4 52 install -d -m 0755 ${PERL5_DIR}/PVE/APIClient
565bbc73 53 # install library tools from pve-common
ca3269f4 54 for i in ${PVE_COMMON_FILES}; do install -m 0644 PVE/APIClient/$$i ${PERL5_DIR}/PVE/APIClient; done
565bbc73 55 # install pveclient
a086d1ce 56 for i in ${PVE_CLIENT_SOURCES}; do install -D -m 0644 $$i ${PERL5_DIR}/$$i; done
ab79ce78 57 install -D -m 0644 pve-api-definition.dat ${LIB_DIR}/pve-api-definition.dat
e4f88921 58 install -D -m 0755 pveclient ${DESTDIR}/usr/bin/pveclient
f507a398 59 install -D -m 0644 pveclient.bash-completion ${BASHCOMPLDIR}/pveclient
2767c2b9
DM
60 # install manual page
61 install -D -m 0644 pveclient.1 ${MAN1DIR}/pveclient.1
62 gzip -9 ${MAN1DIR}/pveclient.1
e4f88921 63
ca3269f4
RJ
64update-pve-common:
65 for i in ${PVE_COMMON_FILES}; do cp ../pve-common/src/PVE/$$i PVE/APIClient/; done
66 for i in ${PVE_COMMON_FILES}; do sed -i 's/PVE::/PVE::APIClient::/g' PVE/APIClient/$$i; done
67 # Remove INotify from CLIHandler.pm
68 sed -i 's/use PVE::APIClient::INotify;//' PVE/APIClient/CLIHandler.pm
69
70
ab79ce78
DM
71pve-api-definition.dat:
72 ./extractapi.pl > pve-api-definition.dat.tmp
73 mv pve-api-definition.dat.tmp pve-api-definition.dat
e4f88921 74
81ddc6f6
DM
75#.PHONY: upload
76#upload: ${DEB}
77# tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com upload --product pmg,pve --dist stretch
e4f88921
DM
78
79distclean: clean
80
81clean:
82 rm -rf ./build *.deb *.changes *.buildinfo
2767c2b9 83 rm pveclient.1-synopsis.adoc pveclient.1
e4f88921
DM
84 find . -name '*~' -exec rm {} ';'
85
86.PHONY: dinstall
87dinstall: ${DEB}
88 dpkg -i ${DEB}