]> git.proxmox.com Git - pve-manager.git/blob - bin/Makefile
pvesh man page
[pve-manager.git] / bin / Makefile
1 include ../defines.mk
2
3 SUBDIRS = init.d ocf test
4
5 SERVICES = pvestatd pveproxy pvedaemon spiceproxy
6 CLITOOLS = vzdump pvesubscription pveceph
7
8 SCRIPTS = \
9 ${SERVICES} \
10 ${CLITOOLS} \
11 pvesh \
12 pveam \
13 pvebanner \
14 pveversion \
15 pvemailforward.pl \
16 pveupgrade \
17 pveupdate \
18 pveperf
19
20 SERVICE_MANS = $(addsuffix .8, ${SERVICES})
21 SERVICE_PODS = $(addsuffix .pod, ${SERVICE_MANS})
22
23 CLI_MANS = \
24 $(addsuffix .1, ${CLITOOLS}) \
25 pveversion.1 \
26 pveupgrade.1 \
27 pveperf.1 \
28 pvesh.1
29
30 CLI_PODS = $(addsuffix .pod, ${CLI_MANS})
31
32
33 all: ${SERVICE_MANS} ${CLI_MANS} pvemailforward
34
35 %.1.pod: %
36 perl -I.. -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_pod_manpage();" >$@.tmp
37 mv $@.tmp $@
38
39 %.8.pod: %
40 perl -I.. -T -e "use PVE::Service::$*; PVE::Service::$*->generate_pod_manpage();" >$@.tmp
41 mv $@.tmp $@
42
43 %.1: %.1.pod
44 rm -f $@
45 cat $<|pod2man -n $* -s 1 -r ${VERSION} -c "Proxmox Documentation" >$@.tmp
46 mv $@.tmp $@
47
48 %.8: %.8.pod
49 rm -f $@
50 cat $<|pod2man -n $* -s 8 -r ${VERSION} -c "Proxmox Documentation" >$@.tmp
51 mv $@.tmp $@
52
53 pveversion.1.pod: pveversion
54 podselect $< > $@.tmp
55 mv $@.tmp $@
56
57 pveupgrade.1.pod: pveupgrade
58 podselect $< > $@.tmp
59 mv $@.tmp $@
60
61 pveperf.1.pod: pveperf
62 podselect $< > $@.tmp
63 mv $@.tmp $@
64
65 pvesh.1.pod: pvesh
66 podselect $< > $@.tmp
67 mv $@.tmp $@
68
69 %.service-bash-completion:
70 perl -I.. -T -e "use PVE::Service::$*; PVE::Service::$*->generate_bash_completions();" >$@.tmp
71 mv $@.tmp $@
72
73 %.bash-completion:
74 perl -I.. -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp
75 mv $@.tmp $@
76
77 pvectl.1.pod: pvectl
78 perl -I.. ./pvectl printmanpod >$@
79
80 vzrestore.1.pod: vzrestore
81 perl -I.. ./vzrestore printmanpod >$@
82
83 pvemailforward: pvemailforward.c
84 gcc $< -o $@ -g -O2 -Wall -ldl -lc
85
86 .PHONY: install
87 install: ${SCRIPTS} ${CLI_MANS} ${SERVICE_MANS} pvemailforward $(addsuffix .service-bash-completion, ${SERVICES}) $(addsuffix .bash-completion, ${CLITOOLS}) ${SERVICE_PODS} ${CLI_PODS}
88 perl -I.. ./pvesh verifyapi
89 for i in ${CLITOOLS}; do perl -I.. -T -e "use PVE::CLI::$$i; PVE::CLI::$$i->verify_api();"; done
90 for i in ${SERVICES}; do perl -I.. -T -e "use PVE::Service::$$i; PVE::Service::$$i->verify_api();"; done
91 install -d ${BINDIR}
92 install -m 0755 ${SCRIPTS} ${BINDIR}
93 install -s -m 2755 -g www-data pvemailforward ${BINDIR}
94 install -d ${MAN1DIR}
95 install -m 0644 ${CLI_MANS} ${MAN1DIR}
96 install -d ${MAN8DIR}
97 install -m 0644 ${SERVICE_MANS} ${MAN8DIR}
98 install -d ${PODDIR}
99 for i in ${CLITOOLS}; do install -m 0644 $$i.1.pod ${PODDIR}; done
100 for i in ${CLITOOLS}; do install -m 0644 -D $$i.bash-completion ${BASHCOMPLDIR}/$$i; done
101 for i in ${SERVICES}; do install -m 0644 -D $$i.service-bash-completion ${BASHCOMPLDIR}/$$i; done
102 set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
103
104 .PHONY: distclean
105 distclean: clean
106 set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
107
108 .PHONY: clean
109 clean:
110 rm -rf *~ *.tmp ${CLI_MANS} ${SERVICE_MANS} *.1.pod *.8.pod pvemailforward *.bash-completion *.service-bash-completion
111 set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done