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