]> git.proxmox.com Git - pve-manager.git/blob - bin/Makefile
build: set PERL_DOC_INC_DIRS
[pve-manager.git] / bin / Makefile
1 include ../defines.mk
2
3 # this requires package pve-doc-generator
4 export NOVIEW=1
5
6 PERL_DOC_INC_DIRS=..
7 include /usr/share/pve-doc-generator/pve-doc-generator.mk
8
9 SERVICES = pvestatd pveproxy pvedaemon spiceproxy
10 CLITOOLS = vzdump pvesubscription pveceph pveam pvesr pvenode pvesh
11
12 SCRIPTS = \
13 ${SERVICES} \
14 ${CLITOOLS} \
15 pvebanner \
16 pveversion \
17 pvemailforward.pl \
18 pveupgrade \
19 pveupdate \
20 pveperf \
21 pvereport
22
23 SERVICE_MANS = $(addsuffix .8, ${SERVICES})
24
25 CLI_MANS = \
26 $(addsuffix .1, ${CLITOOLS}) \
27 pveversion.1 \
28 pveupgrade.1 \
29 pveperf.1 \
30 pvereport.1 \
31
32
33 all: ${SERVICE_MANS} ${CLI_MANS} pvemailforward
34
35 %.1: %.1.pod
36 rm -f $@
37 cat $<|pod2man -n $* -s 1 -r ${VERSION} -c "Proxmox Documentation" >$@.tmp
38 mv $@.tmp $@
39
40 %.1.pod:
41 podselect $* > $@.tmp
42 mv $@.tmp $@
43
44 pveversion.1.pod: pveversion
45 pveupgrade.1.pod: pveupgrade
46 pvereport.1.pod: pvereport
47
48 %.service-bash-completion:
49 perl -I.. -T -e "use PVE::Service::$*; PVE::Service::$*->generate_bash_completions();" >$@.tmp
50 mv $@.tmp $@
51
52 %.bash-completion:
53 perl -I.. -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp
54 mv $@.tmp $@
55
56 pvemailforward: pvemailforward.c
57 $(CC) $(CPPFLAGS) $(CFLAGS) -Wall -g -O2 $< -o $@
58
59 .PHONY: install
60 install: ${SCRIPTS} ${CLI_MANS} ${SERVICE_MANS} pvemailforward $(addsuffix .service-bash-completion, ${SERVICES}) $(addsuffix .bash-completion, ${CLITOOLS})
61 perl -I.. ./pvesh verifyapi
62 for i in ${CLITOOLS}; do perl -I.. -T -e "use PVE::CLI::$$i; PVE::CLI::$$i->verify_api();"; done
63 for i in ${SERVICES}; do perl -I.. -T -e "use PVE::Service::$$i; PVE::Service::$$i->verify_api();"; done
64 install -d ${BINDIR}
65 install -m 0755 ${SCRIPTS} ${BINDIR}
66 install -s -m 2755 -g www-data pvemailforward ${BINDIR}
67 install -d ${MAN1DIR}
68 install -m 0644 ${CLI_MANS} ${MAN1DIR}
69 install -d ${MAN8DIR}
70 install -m 0644 ${SERVICE_MANS} ${MAN8DIR}
71 for i in ${CLITOOLS}; do install -m 0644 -D $$i.bash-completion ${BASHCOMPLDIR}/$$i; done
72 for i in ${SERVICES}; do install -m 0644 -D $$i.service-bash-completion ${BASHCOMPLDIR}/$$i; done
73
74 .PHONY: clean
75 clean:
76 make cleanup-docgen
77 rm -rf *~ *.tmp ${CLI_MANS} ${SERVICE_MANS} *.1.pod *.8.pod pvemailforward *.bash-completion *.service-bash-completion