]> git.proxmox.com Git - pve-client.git/blobdiff - Makefile
update pve-api-definition.dat
[pve-client.git] / Makefile
index f32776ea88254bd1c651fcd36267df3bf8e46eaf..f8929ff3749a8d8d1b0bc5c3a9793569efc31142 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,8 +6,31 @@ DEB=${PACKAGE}_${PKGVER}-${PKGREL}_all.deb
 
 DESTDIR=
 
-PERL5DIR=${DESTDIR}/usr/share/perl5
+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              \
+       CLIFormatter.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}
 
@@ -19,23 +42,46 @@ deb ${DEB}:
        cd build; dpkg-buildpackage -rfakeroot -b -us -uc
        lintian ${DEB}
 
-install:  pve-api-definition.js
-       install -D -m 0644 PVE/APIClient/Helpers.pm ${PERL5DIR}/PVE/APIClient/Helpers.pm
-       install -D -m 0644 pve-api-definition.js ${DESTDIR}/usr/share/${PACKAGE}/pve-api-definition.js
+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
+       for i in ${PVE_COMMON_FILES}; do install -m 0644 PVE/APIClient/$$i ${PERL5_DIR}/PVE/APIClient; done
+       # install pveclient
+       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
+       # 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}
-       tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com upload --product pmg,pve --dist stretch
+#.PHONY: upload
+#upload: ${DEB}
+#      tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com upload --product pmg,pve --dist stretch
 
 distclean: clean
 
 clean:
        rm -rf ./build *.deb *.changes *.buildinfo
+       rm -f pveclient.1-synopsis.adoc pveclient.1
        find . -name '*~' -exec rm {} ';'
 
 .PHONY: dinstall