]> git.proxmox.com Git - pve-ha-manager.git/blob - src/Makefile
Tools: remove dependency on PVE::Cluster
[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 export PERLDIR=${PREFIX}/share/perl5
14
15 # this requires package pve-doc-generator
16 export NOVIEW=1
17 include /usr/share/pve-doc-generator/pve-doc-generator.mk
18
19 all: watchdog-mux
20
21 pve-ha-crm.bash-completion:
22 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_crm; PVE::Service::pve_ha_crm->generate_bash_completions();" >$@.tmp
23 mv $@.tmp $@
24
25 pve-ha-lrm.bash-completion:
26 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->generate_bash_completions();" >$@.tmp
27 mv $@.tmp $@
28
29 ha-manager.bash-completion:
30 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->generate_bash_completions();" >$@.tmp
31 mv $@.tmp $@
32
33 watchdog-mux: watchdog-mux.c
34 gcc watchdog-mux.c -o watchdog-mux -Wall -Wl,-z,relro
35
36 .PHONY: install
37 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 pve-ha-crm.bash-completion
38 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_crm; PVE::Service::pve_ha_crm->verify_api();"
39 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->verify_api();"
40 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->verify_api();"
41 install -d ${DESTDIR}${SBINDIR}
42 install -m 0755 pve-ha-crm ${DESTDIR}${SBINDIR}
43 install -m 0755 pve-ha-lrm ${DESTDIR}${SBINDIR}
44 install -m 0755 ha-manager ${DESTDIR}${SBINDIR}
45 install -m 0755 watchdog-mux ${DESTDIR}${SBINDIR}
46 install -m 0644 -D pve-ha-crm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-crm
47 install -m 0644 -D pve-ha-lrm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-lrm
48 install -m 0644 -D ha-manager.bash-completion ${DESTDIR}${BASHCOMPLDIR}/ha-manager
49 make -C PVE install
50 install -d ${DESTDIR}/${MAN8DIR}
51 install -m 0644 pve-ha-crm.8 ${DESTDIR}/${MAN8DIR}
52 gzip -9 ${DESTDIR}/${MAN8DIR}/pve-ha-crm.8
53 install -m 0644 pve-ha-lrm.8 ${DESTDIR}/${MAN8DIR}
54 gzip -9 ${DESTDIR}/${MAN8DIR}/pve-ha-lrm.8
55 install -d ${DESTDIR}/${MAN1DIR}
56 install -m 0644 ha-manager.1 ${DESTDIR}/${MAN1DIR}
57 gzip -9 ${DESTDIR}/${MAN1DIR}/ha-manager.1
58
59 .PHONY: installsim
60 installsim: pve-ha-simulator
61 install -d ${DESTDIR}${SBINDIR}
62 install -m 0755 pve-ha-simulator ${DESTDIR}${SBINDIR}
63 make -C PVE PERLDIR=${PREFIX}/share/${SIMPACKAGE} installsim
64
65 .PHONY: test
66 test:
67 make -C test test
68
69 .PHONY: clean
70 clean:
71 make cleanup-docgen
72 make -C test clean
73 rm -rf watchdog-mux *.1.pod *.1.gz *.bash-completion *.tmp
74 find . -name '*~' -exec rm {} ';'
75
76 .PHONY: distclean
77 distclean: clean
78