DESTDIR=
+PERL5_DIR=${DESTDIR}/usr/share/perl5
LIB_DIR=${DESTDIR}/usr/share/${PACKAGE}
+MAN1DIR=${DESTDIR}//usr/share/man/man1
DOCDIR=${DESTDIR}/usr/share/doc/${PACKAGE}
BASHCOMPLDIR=${DESTDIR}/usr/share/bash-completion/completions/
+PVE_COMMON_FILES= \
+ Tools.pm \
+ Syscall.pm \
+ CLIHandler.pm \
+ JSONSchema.pm \
+ PTY.pm \
+ RESTHandler.pm \
+ SafeSyslog.pm \
+ SectionConfig.pm \
+
+PVE_CLIENT_SOURCES= \
+ PVE/APIClient/Helpers.pm \
+ PVE/APIClient/Config.pm \
+ PVE/APIClient/Commands/remote.pm \
+ PVE/APIClient/Commands/config.pm \
+ PVE/APIClient/Commands/lxc.pm \
+ PVE/APIClient/Commands/list.pm \
+ PVE/APIClient/Commands/GuestStatus.pm
+
all: ${DEB}
.PHONY: deb
cd build; dpkg-buildpackage -rfakeroot -b -us -uc
lintian ${DEB}
-install: pve-api-definition.js
- install -d -m 0755 ${LIB_DIR}/PVE
+pveclient.1-synopsis.adoc: pveclient ${PVE_CLIENT_SOURCES}
+ perl -I. ./pveclient printsynopsis > $@.tmp
+ mv $@.tmp $@
+
+pveclient.1: pveclient.1-synopsis.adoc
+ a2x -f manpage pveclient.adoc
+
+install: pve-api-definition.dat pveclient.1
+ install -d -m 0755 ${PERL5_DIR}/PVE/APIClient
# install library tools from pve-common
- install -m 0644 PVE/Tools.pm ${LIB_DIR}/PVE
- install -m 0644 PVE/SafeSyslog.pm ${LIB_DIR}/PVE
- install -m 0644 PVE/Exception.pm ${LIB_DIR}/PVE
- install -m 0644 PVE/JSONSchema.pm ${LIB_DIR}/PVE
- install -m 0644 PVE/RESTHandler.pm ${LIB_DIR}/PVE
- install -m 0644 PVE/CLIHandler.pm ${LIB_DIR}/PVE
+ for i in ${PVE_COMMON_FILES}; do install -m 0644 PVE/APIClient/$$i ${PERL5_DIR}/PVE/APIClient; done
# install pveclient
- install -D -m 0644 PVE/APIClient/Helpers.pm ${LIB_DIR}/PVE/APIClient/Helpers.pm
- install -D -m 0644 PVE/APIClient/Commands/remote.pm ${LIB_DIR}/PVE/APIClient/Commands/remote.pm
- install -D -m 0644 PVE/APIClient/Commands/lxc.pm ${LIB_DIR}/PVE/APIClient/Commands/lxc.pm
- install -D -m 0644 pve-api-definition.js ${LIB_DIR}/pve-api-definition.js
+ for i in ${PVE_CLIENT_SOURCES}; do install -D -m 0644 $$i ${PERL5_DIR}/$$i; done
+ install -D -m 0644 pve-api-definition.dat ${LIB_DIR}/pve-api-definition.dat
install -D -m 0755 pveclient ${DESTDIR}/usr/bin/pveclient
- install -D -m 0644 pveclient.bash-completion ${BASHCOMPLDIR}/pveclient.bash-completion
+ install -D -m 0644 pveclient.bash-completion ${BASHCOMPLDIR}/pveclient
+ # install manual page
+ install -D -m 0644 pveclient.1 ${MAN1DIR}/pveclient.1
+ gzip -9 ${MAN1DIR}/pveclient.1
+
+update-pve-common:
+ for i in ${PVE_COMMON_FILES}; do cp ../pve-common/src/PVE/$$i PVE/APIClient/; done
+ for i in ${PVE_COMMON_FILES}; do sed -i 's/PVE::/PVE::APIClient::/g' PVE/APIClient/$$i; done
+ # Remove INotify from CLIHandler.pm
+ sed -i 's/use PVE::APIClient::INotify;//' PVE/APIClient/CLIHandler.pm
-pve-api-definition.js:
- ./extractapi.pl > pve-api-definition.js.tmp
- mv pve-api-definition.js.tmp pve-api-definition.js
+pve-api-definition.dat:
+ ./extractapi.pl > pve-api-definition.dat.tmp
+ mv pve-api-definition.dat.tmp pve-api-definition.dat
#.PHONY: upload
#upload: ${DEB}
clean:
rm -rf ./build *.deb *.changes *.buildinfo
+ rm pveclient.1-synopsis.adoc pveclient.1
find . -name '*~' -exec rm {} ';'
.PHONY: dinstall