]> git.proxmox.com Git - pve-ha-manager.git/blob - src/Makefile
1891 Add zsh command completion for ha-manager CLI tools
[pve-ha-manager.git] / src / Makefile
1 PACKAGE=pve-ha-manager
2 SIMPACKAGE=pve-ha-simulator
3
4 PREFIX=/usr
5 BINDIR=${PREFIX}/bin
6 SBINDIR=${PREFIX}/sbin
7 MANDIR=${PREFIX}/share/man
8 DOCDIR=${PREFIX}/share/doc/${PACKAGE}
9 SIMDOCDIR=${PREFIX}/share/doc/${SIMPACKAGE}
10 MAN1DIR=${MANDIR}/man1/
11 MAN8DIR=${MANDIR}/man8/
12 BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions/
13 ZSHCOMPLDIR=${PREFIX}/share/zsh/vendor-completions/
14 export PERLDIR=${PREFIX}/share/perl5
15
16 # this requires package pve-doc-generator
17 export NOVIEW=1
18 include /usr/share/pve-doc-generator/pve-doc-generator.mk
19
20 all: watchdog-mux
21
22 pve-ha-crm.bash-completion:
23 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_crm; PVE::Service::pve_ha_crm->generate_bash_completions();" >$@.tmp
24 mv $@.tmp $@
25
26 pve-ha-lrm.bash-completion:
27 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->generate_bash_completions();" >$@.tmp
28 mv $@.tmp $@
29
30 ha-manager.bash-completion:
31 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->generate_bash_completions();" >$@.tmp
32 mv $@.tmp $@
33
34 pve-ha-crm.zsh-completion:
35 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_crm; PVE::Service::pve_ha_crm->generate_zsh_completions();" >$@.tmp
36 mv $@.tmp $@
37
38 pve-ha-lrm.zsh-completion:
39 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->generate_zsh_completions();" >$@.tmp
40 mv $@.tmp $@
41
42 ha-manager.zsh-completion:
43 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->generate_zsh_completions();" >$@.tmp
44 mv $@.tmp $@
45
46 watchdog-mux: watchdog-mux.c
47 gcc watchdog-mux.c -o watchdog-mux -Wall -Wl,-z,relro
48
49 .PHONY: install
50 install: watchdog-mux pve-ha-crm pve-ha-lrm ha-manager.1 pve-ha-crm.8 pve-ha-lrm.8 ha-manager.bash-completion pve-ha-lrm.bash-completion \
51 pve-ha-crm.bash-completion ha-manager.zsh-completion pve-ha-lrm.zsh-completion pve-ha-crm.zsh-completion pve-ha-simulator
52 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_crm; PVE::Service::pve_ha_crm->verify_api();"
53 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->verify_api();"
54 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->verify_api();"
55 install -d ${DESTDIR}${SBINDIR}
56 install -m 0755 pve-ha-crm ${DESTDIR}${SBINDIR}
57 install -m 0755 pve-ha-lrm ${DESTDIR}${SBINDIR}
58 install -m 0755 ha-manager ${DESTDIR}${SBINDIR}
59 install -m 0755 watchdog-mux ${DESTDIR}${SBINDIR}
60 install -d ${DESTDIR}${BINDIR}
61 install -m 0755 pve-ha-simulator ${DESTDIR}${BINDIR}
62 install -m 0644 -D pve-ha-crm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-crm
63 install -m 0644 -D pve-ha-lrm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-lrm
64 install -m 0644 -D ha-manager.bash-completion ${DESTDIR}${BASHCOMPLDIR}/ha-manager
65 install -m 0644 -D pve-ha-crm.zsh-completion ${DESTDIR}${ZSHCOMPLDIR}/_pve-ha-crm
66 install -m 0644 -D pve-ha-lrm.zsh-completion ${DESTDIR}${ZSHCOMPLDIR}/_pve-ha-lrm
67 install -m 0644 -D ha-manager.zsh-completion ${DESTDIR}${ZSHCOMPLDIR}/_ha-manager
68 make -C PVE install
69 make -C PVE PERLDIR=${PREFIX}/share/${SIMPACKAGE} installsim
70 install -d ${DESTDIR}/${MAN8DIR}
71 install -m 0644 pve-ha-crm.8 ${DESTDIR}/${MAN8DIR}
72 gzip -9 ${DESTDIR}/${MAN8DIR}/pve-ha-crm.8
73 install -m 0644 pve-ha-lrm.8 ${DESTDIR}/${MAN8DIR}
74 gzip -9 ${DESTDIR}/${MAN8DIR}/pve-ha-lrm.8
75 install -d ${DESTDIR}/${MAN1DIR}
76 install -m 0644 ha-manager.1 ${DESTDIR}/${MAN1DIR}
77 gzip -9 ${DESTDIR}/${MAN1DIR}/ha-manager.1
78
79 .PHONY: test
80 test:
81 make -C test test
82
83 .PHONY: clean
84 clean:
85 make cleanup-docgen
86 make -C test clean
87 rm -rf watchdog-mux *.1.pod *.1.gz *.bash-completion *.zsh-completion *.tmp
88 find . -name '*~' -exec rm {} ';'
89
90 .PHONY: distclean
91 distclean: clean
92