]> git.proxmox.com Git - pve-ha-manager.git/blob - src/Makefile
d72266db69341e94f17d11f0a73355ee235b1a60
[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 pve-ha-simulator
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 -d ${DESTDIR}${BINDIR}
47 install -m 0755 pve-ha-simulator ${DESTDIR}${BINDIR}
48 install -m 0644 -D pve-ha-crm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-crm
49 install -m 0644 -D pve-ha-lrm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-lrm
50 install -m 0644 -D ha-manager.bash-completion ${DESTDIR}${BASHCOMPLDIR}/ha-manager
51 make -C PVE install
52 make -C PVE PERLDIR=${PREFIX}/share/${SIMPACKAGE} installsim
53 install -d ${DESTDIR}/${MAN8DIR}
54 install -m 0644 pve-ha-crm.8 ${DESTDIR}/${MAN8DIR}
55 gzip -9 ${DESTDIR}/${MAN8DIR}/pve-ha-crm.8
56 install -m 0644 pve-ha-lrm.8 ${DESTDIR}/${MAN8DIR}
57 gzip -9 ${DESTDIR}/${MAN8DIR}/pve-ha-lrm.8
58 install -d ${DESTDIR}/${MAN1DIR}
59 install -m 0644 ha-manager.1 ${DESTDIR}/${MAN1DIR}
60 gzip -9 ${DESTDIR}/${MAN1DIR}/ha-manager.1
61
62 .PHONY: test
63 test:
64 make -C test test
65
66 .PHONY: clean
67 clean:
68 make cleanup-docgen
69 make -C test clean
70 rm -rf watchdog-mux *.1.pod *.1.gz *.bash-completion *.tmp
71 find . -name '*~' -exec rm {} ';'
72
73 .PHONY: distclean
74 distclean: clean
75