3 DGDIR?
=/usr
/share
/pve-doc-generator
5 ASCIIDOC_PVE?
=/usr
/bin
/asciidoc-pve
7 PERL_DOC_ENV
=PVE_GENERATING_DOCS
=1
8 PERL_DOC_INC_DIRS
:=${PERL_DOC_INC_DIRS} .
9 PERL_DOC_INC
=$(foreach dir,${PERL_DOC_INC_DIRS},-I
${dir})
11 PVE_COMMON_DOC_SOURCES
= \
18 attributes.txt docinfo.xml pmxcfs
.8-synopsis.adoc qmeventd
.8-synopsis.adoc
:
22 %-opts.adoc
: ${DGDIR}/gen-
%-opts.pl
23 $(PERL_DOC_ENV
) perl
${PERL_DOC_INC} ${DGDIR}/gen-
$*-opts.pl
>$@.tmp
26 %.adoc
: ${DGDIR}/gen-
%-adoc.pl
27 $(PERL_DOC_ENV
) perl
${PERL_DOC_INC} ${DGDIR}/gen-
$*-adoc.pl
>$@.tmp
30 pveperf
.1-synopsis.adoc
:
31 echo
'*pveperf* `[PATH]`' > pveperf
.1-synopsis.adoc
34 $(PERL_DOC_ENV
) perl
${PERL_DOC_INC} -e
"use PVE::CLI::$(subst -,_,$*);print PVE::CLI::$(subst -,_,$*)->generate_asciidoc_synopsis();" > $@.tmp
38 $(PERL_DOC_ENV
) perl
${PERL_DOC_INC} -e
"use PVE::Service::$(subst -,_,$*);print PVE::Service::$(subst -,_,$*)->generate_asciidoc_synopsis();" > $@.tmp
42 %.adoc
: ${DGDIR}/%.adoc
47 %.service-bash-completion
:
48 perl
${PERL_DOC_INC} -T
-e
"use PVE::Service::$*; PVE::Service::$*->generate_bash_completions();" >$@.tmp
52 perl
${PERL_DOC_INC} -T
-e
"use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp
55 %.service-zsh-completion
:
56 perl
${PERL_DOC_INC} -T
-e
"use PVE::Service::$*; PVE::Service::$*->generate_zsh_completions();" >$@.tmp
60 perl
${PERL_DOC_INC} -T
-e
"use PVE::CLI::$*; PVE::CLI::$*->generate_zsh_completions();" >$@.tmp
63 %.service-api-verified
:
64 perl
${PERL_DOC_INC} -T
-e
"use PVE::Service::$*; PVE::Service::$*->verify_api();"
68 perl
${PERL_DOC_INC} -T
-e
"use PVE::CLI::$*; PVE::CLI::$*->verify_api();"
71 %-plain.html
: %.adoc
${PVE_COMMON_DOC_SOURCES}
72 ${ASCIIDOC_PVE} compile-wiki
-o
$@
$*.adoc
74 chapter-
%.html
: %.adoc
${PVE_COMMON_DOC_SOURCES}
75 ${ASCIIDOC_PVE} compile-chapter
-o
$@
$*.adoc
77 %.1: %.adoc
%.1-synopsis.adoc
${PVE_COMMON_DOC_SOURCES}
78 ${ASCIIDOC_PVE} compile-man
-o
$@
$*.adoc
79 test -z
"$${PVE_DOC_INSTANTVIEW}" || man
-l
$@
81 %.1.html
: %.adoc
%.1-synopsis.adoc
${PVE_COMMON_DOC_SOURCES}
82 ${ASCIIDOC_PVE} compile-man-html
-o
$@
$*.adoc
84 %.8: %.adoc
%.8-synopsis.adoc
${PVE_COMMON_DOC_SOURCES}
85 ${ASCIIDOC_PVE} compile-man
-o
$@
$*.adoc
86 test -z
"$${PVE_DOC_INSTANTVIEW}" || man
-l
$@
88 %.8.html
: %.adoc
%.8-synopsis.adoc
${PVE_COMMON_DOC_SOURCES}
89 ${ASCIIDOC_PVE} compile-man-html
-o
$@
$*.adoc
91 %.5: %.adoc
%.5-opts.adoc
${PVE_COMMON_DOC_SOURCES}
92 ${ASCIIDOC_PVE} compile-man
-o
$@
$*.adoc
93 test -z
"$${PVE_DOC_INSTANTVIEW}" || man
-l
$@
95 %.5.html
: %.adoc
%.5-opts.adoc
${PVE_COMMON_DOC_SOURCES}
96 ${ASCIIDOC_PVE} compile-man-html
-o
$@
$*.adoc
98 %.5-plain.html
: %.adoc
%.5-opts.adoc
${PVE_COMMON_DOC_SOURCES}
99 ${ASCIIDOC_PVE} compile-man-wiki
-o
$@
$*.adoc
102 .PHONY
: cleanup-docgen
104 rm -f
*.xml.tmp
*.1 *.5 *.8 *.adoc docinfo.xml