]> git.proxmox.com Git - pve-ha-manager.git/blob - src/Makefile
convert pve-ha-lrm into a PVE::Service class
[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 PODDIR=${DOCDIR}/pod
11 MAN1DIR=${MANDIR}/man1/
12 BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions/
13 export PERLDIR=${PREFIX}/share/perl5
14
15 all: watchdog-mux
16
17 %.1.gz: %.1.pod
18 rm -f $@
19 cat $<|pod2man -n $* -s 1 -r ${VERSION} -c "Proxmox Documentation"|gzip -c9 >$@
20
21 pve-ha-crm.1.pod: pve-ha-crm
22 perl -I. ./pve-ha-crm printmanpod >$@
23
24 pve-ha-lrm.1.pod:
25 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->generate_pod_manpage();" >$@
26
27 pve-ha-lrm.bash-completion:
28 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->generate_bash_completions();" >$@
29
30 ha-manager.1.pod:
31 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->generate_pod_manpage();" >$@.tmp
32 mv $@.tmp $@
33
34 ha-manager.bash-completion:
35 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->generate_bash_completions();" >$@
36
37
38 watchdog-mux: watchdog-mux.c
39 gcc watchdog-mux.c -o watchdog-mux -Wall -Wl,-z,relro $$(pkg-config --libs --cflags libsystemd-daemon)
40
41 .PHONY: install
42 install: watchdog-mux pve-ha-crm pve-ha-lrm ha-manager.1.pod ha-manager.1.gz pve-ha-crm.1.pod pve-ha-crm.1.gz pve-ha-lrm.1.pod pve-ha-lrm.1.gz ha-manager.bash-completion pve-ha-lrm.bash-completion
43 perl -I. ./pve-ha-crm verifyapi
44 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->verify_api();"
45 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->verify_api();"
46 install -d ${DESTDIR}${SBINDIR}
47 install -m 0755 pve-ha-crm ${DESTDIR}${SBINDIR}
48 install -m 0755 pve-ha-lrm ${DESTDIR}${SBINDIR}
49 install -m 0755 ha-manager ${DESTDIR}${SBINDIR}
50 install -m 0755 watchdog-mux ${DESTDIR}${SBINDIR}
51 install -m 0644 -D pve-ha-lrm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-lrm
52 install -m 0644 -D ha-manager.bash-completion ${DESTDIR}${BASHCOMPLDIR}/ha-manager
53 make -C PVE install
54 install -d ${DESTDIR}/usr/share/man/man1
55 install -d ${DESTDIR}${PODDIR}
56 install -m 0644 pve-ha-crm.1.gz ${DESTDIR}/usr/share/man/man1/
57 install -m 0644 pve-ha-crm.1.pod ${DESTDIR}/${PODDIR}
58 install -m 0644 pve-ha-lrm.1.gz ${DESTDIR}/usr/share/man/man1/
59 install -m 0644 pve-ha-lrm.1.pod ${DESTDIR}/${PODDIR}
60 install -m 0644 ha-manager.1.gz ${DESTDIR}/usr/share/man/man1/
61 install -m 0644 ha-manager.1.pod ${DESTDIR}/${PODDIR}
62
63 .PHONY: installsim
64 installsim: pve-ha-simulator
65 install -d ${DESTDIR}${SBINDIR}
66 install -m 0755 pve-ha-simulator ${DESTDIR}${SBINDIR}
67 make -C PVE PERLDIR=${PREFIX}/share/${SIMPACKAGE} installsim
68
69 .PHONY: test
70 test:
71 make -C test test
72
73 .PHONY: clean
74 clean:
75 make -C test clean
76 rm -rf watchdog-mux *.1.pod *.1.gz *.bash-completion
77 find . -name '*~' -exec rm {} ';'
78
79 .PHONY: distclean
80 distclean: clean
81