X-Git-Url: https://git.proxmox.com/?p=pve-client.git;a=blobdiff_plain;f=Makefile;h=f8929ff3749a8d8d1b0bc5c3a9793569efc31142;hp=c9bbbbeb1a3500c055a169a16a40434e67a20f2f;hb=refs%2Fheads%2Fmaster;hpb=63c02d8ce73cd687fd260ab086876bb858304a95 diff --git a/Makefile b/Makefile index c9bbbbe..f8929ff 100644 --- a/Makefile +++ b/Makefile @@ -6,10 +6,32 @@ DEB=${PACKAGE}_${PKGVER}-${PKGREL}_all.deb 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 \ + 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} .PHONY: deb @@ -20,30 +42,36 @@ deb ${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 - install -m 0644 PVE/PTY.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/Config.pm ${LIB_DIR}/PVE/APIClient/Config.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/APIClient/Commands/help.pm ${LIB_DIR}/PVE/APIClient/Commands/help.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 + # 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} @@ -53,6 +81,7 @@ distclean: clean clean: rm -rf ./build *.deb *.changes *.buildinfo + rm -f pveclient.1-synopsis.adoc pveclient.1 find . -name '*~' -exec rm {} ';' .PHONY: dinstall