]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#1248] Made sphinx Makefile portable
authorFrancis Dupont <fdupont@isc.org>
Sun, 24 May 2020 07:31:05 +0000 (09:31 +0200)
committerTomek Mrugalski <tomek@isc.org>
Mon, 27 Jul 2020 12:25:32 +0000 (12:25 +0000)
configure.ac
doc/sphinx/Makefile.am
doc/sphinx/api-files.txt
doc/sphinx/api/README
doc/sphinx/api/api_files.mk [new file with mode: 0644]
doc/sphinx/api/cmds-list
doc/sphinx/arm/rst_arm_sources.mk [new file with mode: 0644]
doc/sphinx/man/man8s.mk [new file with mode: 0644]
doc/sphinx/man/rst_man_sources.mk [new file with mode: 0644]
doc/sphinx/mes_files.mk [new file with mode: 0644]
doc/sphinx/static/static_sources.mk [new file with mode: 0644]

index 4928c9d4cbe070e7c2d5c0cb2099e6d653d23450..ab93f83a218fe24083b0e6d636f3ef6b6404e776 100755 (executable)
@@ -1440,11 +1440,12 @@ if test "x$enable_generate_docs" != xno ; then
     AC_MSG_CHECKING([whether $SPHINXBUILD and $PDFLATEX work])
     ti=`mktemp -d`
     to=`mktemp -d`
+    oldpath=`pwd`
     echo 'hello' > $ti/contents.rst
-    sphinx-build -b latex -C $ti $to > /dev/null 2>&1
-    pushd $to > /dev/null 2>&1
+    $SPHINXBUILD -b latex -C $ti $to > /dev/null 2>&1
+    cd $to > /dev/null 2>&1
     $PDFLATEX -interaction nonstopmode [[pP]]ython.tex > /dev/null 2>&1
-    popd > /dev/null 2>&1
+    cd $oldpath > /dev/null 2>&1
     file $to/[[pP]]ython.pdf | grep PDF > /dev/null 2>&1
     if test $? -ne 0 ; then
       AC_MSG_RESULT([no - disabled building docs in PDF])
index c501721fbf19de52cd419b120362646bc06bf527..f5118bc43f1ae7a12d67838b38cd56ad91460a11 100644 (file)
@@ -1,96 +1,63 @@
-EXTRA_DIST=
-sphinxbuilddir=$(builddir)/_build
+EXTRA_DIST =
+sphinxbuilddir = $(builddir)/_build
+abs_sphinxbuilddir = $(abs_builddir)/_build
 
 if GENERATE_DOCS
 
-sphinxopts=
-sphinxopts+=-v
-sphinxopts+=-E
-sphinxopts+=-a
-sphinxopts+=-W
-sphinxopts+=-j 2
-sphinxopts+=-c "${abs_srcdir}"
+sphinxopts =
+sphinxopts += -v
+sphinxopts += -E
+sphinxopts += -a
+sphinxopts += -W
+sphinxopts += -j 2
+sphinxopts += -c "${abs_srcdir}"
 
+static_sources =
+include static/static_sources.mk
 
-static_sources=
-static_sources+=static/kea-imageonly-100bw.png
-static_sources+=static/kea-logo-200.png
-static_sources+=static/kea.css
+EXTRA_DIST += static/static_sources.mk
 
 # ARM
-rst_arm_sources=
-rst_arm_sources+=arm/acknowledgments.rst
-rst_arm_sources+=arm/admin.rst
-rst_arm_sources+=arm/agent.rst
-rst_arm_sources+=arm/classify.rst
-rst_arm_sources+=arm/config-backend.rst
-rst_arm_sources+=arm/config.rst
-rst_arm_sources+=arm/congestion-handling.rst
-rst_arm_sources+=arm/ctrl-channel.rst
-rst_arm_sources+=arm/ddns.rst
-rst_arm_sources+=arm/dhcp4-srv.rst
-rst_arm_sources+=arm/dhcp6-srv.rst
-rst_arm_sources+=arm/hammer.rst
-rst_arm_sources+=arm/hooks-bootp.rst
-rst_arm_sources+=arm/hooks-cb-cmds.rst
-rst_arm_sources+=arm/hooks-class-cmds.rst
-rst_arm_sources+=arm/hooks-ha.rst
-rst_arm_sources+=arm/hooks-host-cache.rst
-rst_arm_sources+=arm/hooks-lease-cmds.rst
-rst_arm_sources+=arm/hooks-lease-query.rst
-rst_arm_sources+=arm/hooks-radius.rst
-rst_arm_sources+=arm/hooks.rst
-rst_arm_sources+=arm/hooks-stat-cmds.rst
-rst_arm_sources+=arm/install.rst
-rst_arm_sources+=index.rst
-rst_arm_sources+=arm/intro.rst
-rst_arm_sources+=arm/keactrl.rst
-rst_arm_sources+=arm/lease-expiration.rst
-rst_arm_sources+=arm/lfc.rst
-rst_arm_sources+=arm/logging.rst
-rst_arm_sources+=manpages.rst
-rst_arm_sources+=arm/netconf.rst
-rst_arm_sources+=arm/quickstart.rst
-rst_arm_sources+=arm/shell.rst
-rst_arm_sources+=arm/stats.rst
-rst_arm_sources+=arm/stork.rst
-
-main_sources=$(rst_arm_sources) conf.py $(static_sources)
+rst_arm_sources =
+rst_arm_sources += index.rst
+rst_arm_sources += manpages.rst
+include arm/rst_arm_sources.mk
+
+EXTRA_DIST += arm/rst_arm_sources.mk
+
+main_sources = $(rst_arm_sources) conf.py $(static_sources)
 
 # mans
-rst_man_sources=
-rst_man_sources+=man/kea-admin.8.rst
-rst_man_sources+=man/kea-ctrl-agent.8.rst
-rst_man_sources+=man/kea-dhcp4.8.rst
-rst_man_sources+=man/kea-dhcp6.8.rst
-rst_man_sources+=man/kea-dhcp-ddns.8.rst
-rst_man_sources+=man/kea-lfc.8.rst
-rst_man_sources+=man/kea-netconf.8.rst
-rst_man_sources+=man/kea-shell.8.rst
-rst_man_sources+=man/keactrl.8.rst
-rst_man_sources+=man/perfdhcp.8.rst
-man_sources=$(rst_man_sources) conf.py
-man8s=$(foreach rst,$(rst_man_sources), $(sphinxbuilddir)/$(basename $(rst)))
-
-EXTRA_DIST+=$(main_sources) $(man_sources) mes2doc.py api2doc.py $(man8s)
+rst_man_sources =
+include man/rst_man_sources.mk
+
+EXTRA_DIST += man/rst_man_sources.mk
+
+man8s =
+include man/man8s.mk
+
+EXTRA_DIST += man/man8s.mk
+
+man_sources = $(rst_man_sources) conf.py
+
+EXTRA_DIST += $(main_sources) $(man_sources) mes2doc.py api2doc.py $(man8s)
 
 # list of messages files that are used to generate kea-messages.rst and then kea-messages.pdf
-mes_files1=$(shell cat mes-files.txt)
-mes_files=$(foreach mf,$(mes_files1), $(top_srcdir)/$(mf))
+mes_files =
+include $(srcdir)/mes_files.mk
 
+EXTRA_DIST += mes_files.mk
 
 # list of api files that are used to generate api.rst
-api_files1=$(shell cat api-files.txt)
-api_files=$(foreach af,$(api_files1), $(srcdir)/$(af))
-
-EXTRA_DIST+=mes-files.txt
-EXTRA_DIST+=api-files.txt
-EXTRA_DIST+=$(api_files)
-EXTRA_DIST+=api/README
-EXTRA_DIST+=api/_template.json
-EXTRA_DIST+=api/generate-templates
-EXTRA_DIST+=api/cmds-list
+api_files =
+include $(srcdir)/api/api_files.mk
 
+EXTRA_DIST += api/api_files.mk
+EXTRA_DIST += api/README
+EXTRA_DIST += api/_template.json
+EXTRA_DIST += api/generate-templates
+EXTRA_DIST += api/cmds-list
+EXTRA_DIST += $(api_files)
 
 if HAVE_PDFLATEX
 all: html mans pdf
@@ -98,14 +65,22 @@ else
 all: html mans
 endif
 
+# build the list of message files
+mes-files.txt: mes_files.mk
+       @sed 's;mes_files .*)/;;' $< > $@
+
 # this rule is only used for development purposes and is not used in official
 # build process as kea-messages.rst is always generated via sphinx's conf.py
 $(srcdir)/kea-messages.rst: $(mes_files) mes2doc.py
        $(PYTHON) $(srcdir)/mes2doc.py -o $@ $(mes_files)
 
+# build the list of api files
+api-files.txt: api/api_files.mk
+       @sed 's;_files .*%/;/;' $< > $@
+
 # this rule is only used for development purposes and is not used in official
 # build process as api.rst is always generated via sphinx's conf.py
-$(srcdir)/api.rst: $(api_files) api2doc.py
+$(srcdir)/api.rst: $(api_files) api-files.txt api2doc.py
        $(PYTHON) $(srcdir)/api2doc.py -o $@ $(api_files)
 
 $(srcdir)/arm/platforms.rst:
@@ -114,37 +89,38 @@ $(srcdir)/arm/platforms.rst:
 
 PDFLATEX_AND_OPTS=$(PDFLATEX) -interaction nonstopmode
 
-pdf: $(main_sources) $(srcdir)/arm/platforms.rst
+pdf: $(main_sources) api-files.txt mes-files.txt $(srcdir)/arm/platforms.rst
        $(SPHINXBUILD) -M latex $(srcdir) $(sphinxbuilddir) $(sphinxopts)
-       -cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
-       -cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
-       -cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
-       -cd $(sphinxbuilddir)/latex && makeindex -s python.ist kea-arm.idx
-       -cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
-       cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
-       -cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
-       -cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
-       -cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
-       -cd $(sphinxbuilddir)/latex && makeindex -s python.ist kea-messages.idx
-       -cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
-       cd $(sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
-
-html: $(main_sources) $(srcdir)/arm/platforms.rst
+       -cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
+       -cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
+       -cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
+       -cd $(abs_sphinxbuilddir)/latex && makeindex -s python.ist kea-arm.idx
+       -cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
+       cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-arm.tex
+       -cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
+       -cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
+       -cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
+       -cd $(abs_sphinxbuilddir)/latex && makeindex -s python.ist kea-messages.idx
+       -cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
+       cd $(abs_sphinxbuilddir)/latex && $(PDFLATEX_AND_OPTS) kea-messages.tex
+
+html: $(main_sources) api-files.txt mes-files.txt $(srcdir)/arm/platforms.rst
        $(SPHINXBUILD) -M html $(srcdir) $(sphinxbuilddir) $(sphinxopts)
 
 # This target is not used anywhere, but people who prefer single page docs
 # can do make -C doc/sphinx singlehtml and then enjoy their docs being
 # generated in doc/sphinx/_build/singlehtml
-singlehtml: $(main_sources)
+singlehtml: $(main_sources) api-files.txt mes-files.txt $(srcdir)/arm/platforms.rst
        $(SPHINXBUILD) -M singlehtml $(srcdir) $(sphinxbuilddir) $(sphinxopts)
 
 $(man8s): mans
 
-mans: $(man_sources)
+mans: $(man_sources) api-files.txt mes-files.txt
        $(SPHINXBUILD) -M man $(srcdir) $(sphinxbuilddir) $(sphinxopts)
 
 clean-local:
        rm -rf $(sphinxbuilddir)
+       rm -f $(srcdir)/mes-files.txt $(srcdir)/api-files.txt
        rm -f $(srcdir)/kea-messages.rst $(srcdir)/api.rst
        rm -f $(srcdir)/arm/platforms.rst
 
@@ -157,7 +133,6 @@ endif
 # just mans when GENERATE_DOCS is not used, and when man files exists (e.g release tarball)
 install-data-local:
        mkdir -p $(DESTDIR)$(docdir)
-mans_found:=$(wildcard $(sphinxbuilddir)/man/*.8)
 if GENERATE_DOCS
        cp -r $(sphinxbuilddir)/html $(DESTDIR)$(docdir)
 if HAVE_PDFLATEX
@@ -169,7 +144,7 @@ endif
 else
 if INSTALL_MANS
        ${MKDIR_P} ${DESTDIR}${mandir}/man8
-       ${INSTALL_DATA} $(mans_found) ${DESTDIR}${mandir}/man8/
+       ${INSTALL_DATA} $(sphinxbuilddir)/man/*.8 ${DESTDIR}${mandir}/man8/
 endif
 endif
 
index 77225b34b5a8dcbc65e2ab8de1427a863cf63eeb..570d42a86f8c4ea449752ad17ef0d8d282fb6a94 100644 (file)
@@ -1,7 +1,7 @@
 api/build-report.json
 api/cache-clear.json
-api/cache-get.json
 api/cache-get-by-id.json
+api/cache-get.json
 api/cache-insert.json
 api/cache-load.json
 api/cache-remove.json
@@ -35,9 +35,9 @@ api/lease4-get-by-hostname.json
 api/lease4-get-by-hw-address.json
 api/lease4-get-page.json
 api/lease4-get.json
+api/lease4-resend-ddns.json
 api/lease4-update.json
 api/lease4-wipe.json
-api/lease4-resend-ddns.json
 api/lease6-add.json
 api/lease6-bulk-apply.json
 api/lease6-del.json
@@ -46,9 +46,9 @@ api/lease6-get-by-duid.json
 api/lease6-get-by-hostname.json
 api/lease6-get-page.json
 api/lease6-get.json
+api/lease6-resend-ddns.json
 api/lease6-update.json
 api/lease6-wipe.json
-api/lease6-resend-ddns.json
 api/leases-reclaim.json
 api/libreload.json
 api/list-commands.json
@@ -92,16 +92,16 @@ api/remote-option4-global-del.json
 api/remote-option4-global-get-all.json
 api/remote-option4-global-get.json
 api/remote-option4-global-set.json
-api/remote-option6-global-del.json
-api/remote-option6-global-get-all.json
-api/remote-option6-global-get.json
-api/remote-option6-global-set.json
 api/remote-option4-network-del.json
 api/remote-option4-network-set.json
 api/remote-option4-pool-del.json
 api/remote-option4-pool-set.json
 api/remote-option4-subnet-del.json
 api/remote-option4-subnet-set.json
+api/remote-option6-global-del.json
+api/remote-option6-global-get-all.json
+api/remote-option6-global-get.json
+api/remote-option6-global-set.json
 api/remote-option6-network-del.json
 api/remote-option6-network-set.json
 api/remote-option6-pd-pool-del.json
@@ -132,12 +132,14 @@ api/remote-subnet6-list.json
 api/remote-subnet6-set.json
 api/reservation-add.json
 api/reservation-del.json
-api/reservation-get.json
 api/reservation-get-all.json
 api/reservation-get-by-hostname.json
 api/reservation-get-page.json
+api/reservation-get.json
 api/server-tag-get.json
 api/shutdown.json
+api/stat-lease4-get.json
+api/stat-lease6-get.json
 api/statistic-get-all.json
 api/statistic-get.json
 api/statistic-remove-all.json
@@ -149,8 +151,6 @@ api/statistic-sample-age-set.json
 api/statistic-sample-count-set-all.json
 api/statistic-sample-count-set.json
 api/status-get.json
-api/stat-lease4-get.json
-api/stat-lease6-get.json
 api/subnet4-add.json
 api/subnet4-del.json
 api/subnet4-get.json
index 6cf003ce9758b59c5ae93d100827c48f2e7e586a..38e968177f6fdb735aad005935dbad479a94e6e6 100644 (file)
@@ -15,3 +15,13 @@ There are several steps needed to document new API command:
    remove those unused keys. The generator will attempt to generate
    boilerplates for it.
 4. Rebuild User's Guide as usual, run in doc/sphinx folder: make
+
+Files in this directory:
+ - README: this file
+ - _template.json: template used by generate-templates
+ - api-files.mk: list of command files for inclusion in Makefiles
+  (build from 'ls [a-z]*.json > api-files.mk')
+ - cmds-list: list of commands, used as the argument of generate-templates
+  (build by 'ls [a-z]*.json | sed 's/\.json//' | sort')
+ - generate-templates: script generating a new command file from the
+  command list (cmds-list) and the template (_template.json)
diff --git a/doc/sphinx/api/api_files.mk b/doc/sphinx/api/api_files.mk
new file mode 100644 (file)
index 0000000..3d086ed
--- /dev/null
@@ -0,0 +1,164 @@
+api_files += $(srcdir)/%reldir%/build-report.json
+api_files += $(srcdir)/%reldir%/cache-clear.json
+api_files += $(srcdir)/%reldir%/cache-get-by-id.json
+api_files += $(srcdir)/%reldir%/cache-get.json
+api_files += $(srcdir)/%reldir%/cache-insert.json
+api_files += $(srcdir)/%reldir%/cache-load.json
+api_files += $(srcdir)/%reldir%/cache-remove.json
+api_files += $(srcdir)/%reldir%/cache-size.json
+api_files += $(srcdir)/%reldir%/cache-write.json
+api_files += $(srcdir)/%reldir%/class-add.json
+api_files += $(srcdir)/%reldir%/class-del.json
+api_files += $(srcdir)/%reldir%/class-get.json
+api_files += $(srcdir)/%reldir%/class-list.json
+api_files += $(srcdir)/%reldir%/class-update.json
+api_files += $(srcdir)/%reldir%/config-backend-pull.json
+api_files += $(srcdir)/%reldir%/config-get.json
+api_files += $(srcdir)/%reldir%/config-reload.json
+api_files += $(srcdir)/%reldir%/config-set.json
+api_files += $(srcdir)/%reldir%/config-test.json
+api_files += $(srcdir)/%reldir%/config-write.json
+api_files += $(srcdir)/%reldir%/dhcp-disable.json
+api_files += $(srcdir)/%reldir%/dhcp-enable.json
+api_files += $(srcdir)/%reldir%/ha-continue.json
+api_files += $(srcdir)/%reldir%/ha-heartbeat.json
+api_files += $(srcdir)/%reldir%/ha-maintenance-cancel.json
+api_files += $(srcdir)/%reldir%/ha-maintenance-notify.json
+api_files += $(srcdir)/%reldir%/ha-maintenance-start.json
+api_files += $(srcdir)/%reldir%/ha-scopes.json
+api_files += $(srcdir)/%reldir%/ha-sync.json
+api_files += $(srcdir)/%reldir%/lease4-add.json
+api_files += $(srcdir)/%reldir%/lease4-del.json
+api_files += $(srcdir)/%reldir%/lease4-get-all.json
+api_files += $(srcdir)/%reldir%/lease4-get-by-client-id.json
+api_files += $(srcdir)/%reldir%/lease4-get-by-hostname.json
+api_files += $(srcdir)/%reldir%/lease4-get-by-hw-address.json
+api_files += $(srcdir)/%reldir%/lease4-get-page.json
+api_files += $(srcdir)/%reldir%/lease4-get.json
+api_files += $(srcdir)/%reldir%/lease4-resend-ddns.json
+api_files += $(srcdir)/%reldir%/lease4-update.json
+api_files += $(srcdir)/%reldir%/lease4-wipe.json
+api_files += $(srcdir)/%reldir%/lease6-add.json
+api_files += $(srcdir)/%reldir%/lease6-bulk-apply.json
+api_files += $(srcdir)/%reldir%/lease6-del.json
+api_files += $(srcdir)/%reldir%/lease6-get-all.json
+api_files += $(srcdir)/%reldir%/lease6-get-by-duid.json
+api_files += $(srcdir)/%reldir%/lease6-get-by-hostname.json
+api_files += $(srcdir)/%reldir%/lease6-get-page.json
+api_files += $(srcdir)/%reldir%/lease6-get.json
+api_files += $(srcdir)/%reldir%/lease6-resend-ddns.json
+api_files += $(srcdir)/%reldir%/lease6-update.json
+api_files += $(srcdir)/%reldir%/lease6-wipe.json
+api_files += $(srcdir)/%reldir%/leases-reclaim.json
+api_files += $(srcdir)/%reldir%/libreload.json
+api_files += $(srcdir)/%reldir%/list-commands.json
+api_files += $(srcdir)/%reldir%/network4-add.json
+api_files += $(srcdir)/%reldir%/network4-del.json
+api_files += $(srcdir)/%reldir%/network4-get.json
+api_files += $(srcdir)/%reldir%/network4-list.json
+api_files += $(srcdir)/%reldir%/network4-subnet-add.json
+api_files += $(srcdir)/%reldir%/network4-subnet-del.json
+api_files += $(srcdir)/%reldir%/network6-add.json
+api_files += $(srcdir)/%reldir%/network6-del.json
+api_files += $(srcdir)/%reldir%/network6-get.json
+api_files += $(srcdir)/%reldir%/network6-list.json
+api_files += $(srcdir)/%reldir%/network6-subnet-add.json
+api_files += $(srcdir)/%reldir%/network6-subnet-del.json
+api_files += $(srcdir)/%reldir%/remote-global-parameter4-del.json
+api_files += $(srcdir)/%reldir%/remote-global-parameter4-get-all.json
+api_files += $(srcdir)/%reldir%/remote-global-parameter4-get.json
+api_files += $(srcdir)/%reldir%/remote-global-parameter4-set.json
+api_files += $(srcdir)/%reldir%/remote-global-parameter6-del.json
+api_files += $(srcdir)/%reldir%/remote-global-parameter6-get-all.json
+api_files += $(srcdir)/%reldir%/remote-global-parameter6-get.json
+api_files += $(srcdir)/%reldir%/remote-global-parameter6-set.json
+api_files += $(srcdir)/%reldir%/remote-network4-del.json
+api_files += $(srcdir)/%reldir%/remote-network4-get.json
+api_files += $(srcdir)/%reldir%/remote-network4-list.json
+api_files += $(srcdir)/%reldir%/remote-network4-set.json
+api_files += $(srcdir)/%reldir%/remote-network6-del.json
+api_files += $(srcdir)/%reldir%/remote-network6-get.json
+api_files += $(srcdir)/%reldir%/remote-network6-list.json
+api_files += $(srcdir)/%reldir%/remote-network6-set.json
+api_files += $(srcdir)/%reldir%/remote-option-def4-del.json
+api_files += $(srcdir)/%reldir%/remote-option-def4-get-all.json
+api_files += $(srcdir)/%reldir%/remote-option-def4-get.json
+api_files += $(srcdir)/%reldir%/remote-option-def4-set.json
+api_files += $(srcdir)/%reldir%/remote-option-def6-del.json
+api_files += $(srcdir)/%reldir%/remote-option-def6-get-all.json
+api_files += $(srcdir)/%reldir%/remote-option-def6-get.json
+api_files += $(srcdir)/%reldir%/remote-option-def6-set.json
+api_files += $(srcdir)/%reldir%/remote-option4-global-del.json
+api_files += $(srcdir)/%reldir%/remote-option4-global-get-all.json
+api_files += $(srcdir)/%reldir%/remote-option4-global-get.json
+api_files += $(srcdir)/%reldir%/remote-option4-global-set.json
+api_files += $(srcdir)/%reldir%/remote-option4-network-del.json
+api_files += $(srcdir)/%reldir%/remote-option4-network-set.json
+api_files += $(srcdir)/%reldir%/remote-option4-pool-del.json
+api_files += $(srcdir)/%reldir%/remote-option4-pool-set.json
+api_files += $(srcdir)/%reldir%/remote-option4-subnet-del.json
+api_files += $(srcdir)/%reldir%/remote-option4-subnet-set.json
+api_files += $(srcdir)/%reldir%/remote-option6-global-del.json
+api_files += $(srcdir)/%reldir%/remote-option6-global-get-all.json
+api_files += $(srcdir)/%reldir%/remote-option6-global-get.json
+api_files += $(srcdir)/%reldir%/remote-option6-global-set.json
+api_files += $(srcdir)/%reldir%/remote-option6-network-del.json
+api_files += $(srcdir)/%reldir%/remote-option6-network-set.json
+api_files += $(srcdir)/%reldir%/remote-option6-pd-pool-del.json
+api_files += $(srcdir)/%reldir%/remote-option6-pd-pool-set.json
+api_files += $(srcdir)/%reldir%/remote-option6-pool-del.json
+api_files += $(srcdir)/%reldir%/remote-option6-pool-set.json
+api_files += $(srcdir)/%reldir%/remote-option6-subnet-del.json
+api_files += $(srcdir)/%reldir%/remote-option6-subnet-set.json
+api_files += $(srcdir)/%reldir%/remote-server4-del.json
+api_files += $(srcdir)/%reldir%/remote-server4-get-all.json
+api_files += $(srcdir)/%reldir%/remote-server4-get.json
+api_files += $(srcdir)/%reldir%/remote-server4-set.json
+api_files += $(srcdir)/%reldir%/remote-server6-del.json
+api_files += $(srcdir)/%reldir%/remote-server6-get-all.json
+api_files += $(srcdir)/%reldir%/remote-server6-get.json
+api_files += $(srcdir)/%reldir%/remote-server6-set.json
+api_files += $(srcdir)/%reldir%/remote-subnet4-del-by-id.json
+api_files += $(srcdir)/%reldir%/remote-subnet4-del-by-prefix.json
+api_files += $(srcdir)/%reldir%/remote-subnet4-get-by-id.json
+api_files += $(srcdir)/%reldir%/remote-subnet4-get-by-prefix.json
+api_files += $(srcdir)/%reldir%/remote-subnet4-list.json
+api_files += $(srcdir)/%reldir%/remote-subnet4-set.json
+api_files += $(srcdir)/%reldir%/remote-subnet6-del-by-id.json
+api_files += $(srcdir)/%reldir%/remote-subnet6-del-by-prefix.json
+api_files += $(srcdir)/%reldir%/remote-subnet6-get-by-id.json
+api_files += $(srcdir)/%reldir%/remote-subnet6-get-by-prefix.json
+api_files += $(srcdir)/%reldir%/remote-subnet6-list.json
+api_files += $(srcdir)/%reldir%/remote-subnet6-set.json
+api_files += $(srcdir)/%reldir%/reservation-add.json
+api_files += $(srcdir)/%reldir%/reservation-del.json
+api_files += $(srcdir)/%reldir%/reservation-get-all.json
+api_files += $(srcdir)/%reldir%/reservation-get-by-hostname.json
+api_files += $(srcdir)/%reldir%/reservation-get-page.json
+api_files += $(srcdir)/%reldir%/reservation-get.json
+api_files += $(srcdir)/%reldir%/server-tag-get.json
+api_files += $(srcdir)/%reldir%/shutdown.json
+api_files += $(srcdir)/%reldir%/stat-lease4-get.json
+api_files += $(srcdir)/%reldir%/stat-lease6-get.json
+api_files += $(srcdir)/%reldir%/statistic-get-all.json
+api_files += $(srcdir)/%reldir%/statistic-get.json
+api_files += $(srcdir)/%reldir%/statistic-remove-all.json
+api_files += $(srcdir)/%reldir%/statistic-remove.json
+api_files += $(srcdir)/%reldir%/statistic-reset-all.json
+api_files += $(srcdir)/%reldir%/statistic-reset.json
+api_files += $(srcdir)/%reldir%/statistic-sample-age-set-all.json
+api_files += $(srcdir)/%reldir%/statistic-sample-age-set.json
+api_files += $(srcdir)/%reldir%/statistic-sample-count-set-all.json
+api_files += $(srcdir)/%reldir%/statistic-sample-count-set.json
+api_files += $(srcdir)/%reldir%/status-get.json
+api_files += $(srcdir)/%reldir%/subnet4-add.json
+api_files += $(srcdir)/%reldir%/subnet4-del.json
+api_files += $(srcdir)/%reldir%/subnet4-get.json
+api_files += $(srcdir)/%reldir%/subnet4-list.json
+api_files += $(srcdir)/%reldir%/subnet4-update.json
+api_files += $(srcdir)/%reldir%/subnet6-add.json
+api_files += $(srcdir)/%reldir%/subnet6-del.json
+api_files += $(srcdir)/%reldir%/subnet6-get.json
+api_files += $(srcdir)/%reldir%/subnet6-list.json
+api_files += $(srcdir)/%reldir%/subnet6-update.json
+api_files += $(srcdir)/%reldir%/version-get.json
index 34d0623b2273f68c4b7b00a74c2677994c4a00c6..e7a99e8a6759325babcafd4f5efcf6c51d49b719 100644 (file)
@@ -12,6 +12,7 @@ class-del
 class-get
 class-list
 class-update
+config-backend-pull
 config-get
 config-reload
 config-set
@@ -30,7 +31,11 @@ lease4-add
 lease4-del
 lease4-get
 lease4-get-all
+lease4-get-by-client-id
+lease4-get-by-hostname
+lease4-get-by-hw-address
 lease4-get-page
+lease4-resend-ddns
 lease4-update
 lease4-wipe
 lease6-add
@@ -38,11 +43,12 @@ lease6-bulk-apply
 lease6-del
 lease6-get
 lease6-get-all
+lease6-get-by-duid
+lease6-get-by-hostname
 lease6-get-page
+lease6-resend-ddns
 lease6-update
 lease6-wipe
-lease4-resend-ddns
-lease6-resend-ddns
 leases-reclaim
 libreload
 list-commands
@@ -86,16 +92,16 @@ remote-option4-global-del
 remote-option4-global-get
 remote-option4-global-get-all
 remote-option4-global-set
-remote-option6-global-del
-remote-option6-global-get
-remote-option6-global-get-all
-remote-option6-global-set
 remote-option4-network-del
 remote-option4-network-set
 remote-option4-pool-del
 remote-option4-pool-set
 remote-option4-subnet-del
 remote-option4-subnet-set
+remote-option6-global-del
+remote-option6-global-get
+remote-option6-global-get-all
+remote-option6-global-set
 remote-option6-network-del
 remote-option6-network-set
 remote-option6-pd-pool-del
@@ -128,7 +134,9 @@ reservation-add
 reservation-del
 reservation-get
 reservation-get-all
+reservation-get-by-hostname
 reservation-get-page
+server-tag-get
 shutdown
 stat-lease4-get
 stat-lease6-get
@@ -142,12 +150,15 @@ statistic-sample-age-set
 statistic-sample-age-set-all
 statistic-sample-count-set
 statistic-sample-count-set-all
+status-get
 subnet4-add
 subnet4-del
 subnet4-get
 subnet4-list
+subnet4-update
 subnet6-add
 subnet6-del
 subnet6-get
 subnet6-list
+subnet6-update
 version-get
diff --git a/doc/sphinx/arm/rst_arm_sources.mk b/doc/sphinx/arm/rst_arm_sources.mk
new file mode 100644 (file)
index 0000000..af8295c
--- /dev/null
@@ -0,0 +1,33 @@
+rst_arm_sources += %reldir%/acknowledgments.rst
+rst_arm_sources += %reldir%/admin.rst
+rst_arm_sources += %reldir%/agent.rst
+rst_arm_sources += %reldir%/classify.rst
+rst_arm_sources += %reldir%/config-backend.rst
+rst_arm_sources += %reldir%/config.rst
+rst_arm_sources += %reldir%/congestion-handling.rst
+rst_arm_sources += %reldir%/ctrl-channel.rst
+rst_arm_sources += %reldir%/ddns.rst
+rst_arm_sources += %reldir%/dhcp4-srv.rst
+rst_arm_sources += %reldir%/dhcp6-srv.rst
+rst_arm_sources += %reldir%/hammer.rst
+rst_arm_sources += %reldir%/hooks-bootp.rst
+rst_arm_sources += %reldir%/hooks-cb-cmds.rst
+rst_arm_sources += %reldir%/hooks-class-cmds.rst
+rst_arm_sources += %reldir%/hooks-ha.rst
+rst_arm_sources += %reldir%/hooks-host-cache.rst
+rst_arm_sources += %reldir%/hooks-lease-cmds.rst
+rst_arm_sources += %reldir%/hooks-lease-query.rst
+rst_arm_sources += %reldir%/hooks-radius.rst
+rst_arm_sources += %reldir%/hooks.rst
+rst_arm_sources += %reldir%/hooks-stat-cmds.rst
+rst_arm_sources += %reldir%/install.rst
+rst_arm_sources += %reldir%/intro.rst
+rst_arm_sources += %reldir%/keactrl.rst
+rst_arm_sources += %reldir%/lease-expiration.rst
+rst_arm_sources += %reldir%/lfc.rst
+rst_arm_sources += %reldir%/logging.rst
+rst_arm_sources += %reldir%/netconf.rst
+rst_arm_sources += %reldir%/quickstart.rst
+rst_arm_sources += %reldir%/shell.rst
+rst_arm_sources += %reldir%/stats.rst
+rst_arm_sources += %reldir%/stork.rst
diff --git a/doc/sphinx/man/man8s.mk b/doc/sphinx/man/man8s.mk
new file mode 100644 (file)
index 0000000..44f3fe7
--- /dev/null
@@ -0,0 +1,10 @@
+man8s += $(sphinxbuilddir)/%reldir%/kea-admin.8
+man8s += $(sphinxbuilddir)/%reldir%/kea-ctrl-agent.8
+man8s += $(sphinxbuilddir)/%reldir%/kea-dhcp4.8
+man8s += $(sphinxbuilddir)/%reldir%/kea-dhcp6.8
+man8s += $(sphinxbuilddir)/%reldir%/kea-dhcp-ddns.8
+man8s += $(sphinxbuilddir)/%reldir%/kea-lfc.8
+man8s += $(sphinxbuilddir)/%reldir%/kea-netconf.8
+man8s += $(sphinxbuilddir)/%reldir%/kea-shell.8
+man8s += $(sphinxbuilddir)/%reldir%/keactrl.8
+man8s += $(sphinxbuilddir)/%reldir%/perfdhcp.8
diff --git a/doc/sphinx/man/rst_man_sources.mk b/doc/sphinx/man/rst_man_sources.mk
new file mode 100644 (file)
index 0000000..0352f1d
--- /dev/null
@@ -0,0 +1,10 @@
+rst_man_sources += %reldir%/kea-admin.8.rst
+rst_man_sources += %reldir%/kea-ctrl-agent.8.rst
+rst_man_sources += %reldir%/kea-dhcp4.8.rst
+rst_man_sources += %reldir%/kea-dhcp6.8.rst
+rst_man_sources += %reldir%/kea-dhcp-ddns.8.rst
+rst_man_sources += %reldir%/kea-lfc.8.rst
+rst_man_sources += %reldir%/kea-netconf.8.rst
+rst_man_sources += %reldir%/kea-shell.8.rst
+rst_man_sources += %reldir%/keactrl.8.rst
+rst_man_sources += %reldir%/perfdhcp.8.rst
diff --git a/doc/sphinx/mes_files.mk b/doc/sphinx/mes_files.mk
new file mode 100644 (file)
index 0000000..b585e64
--- /dev/null
@@ -0,0 +1,27 @@
+mes_files += $(top_srcdir)/src/hooks/dhcp/flex_option/flex_option_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/bootp/bootp_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/high_availability/ha_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/stat_cmds/stat_cmds_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/user_chk/user_chk_messages.mes
+mes_files += $(top_srcdir)/src/lib/config/config_messages.mes
+mes_files += $(top_srcdir)/src/lib/hooks/hooks_messages.mes
+mes_files += $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes
+mes_files += $(top_srcdir)/src/lib/dhcpsrv/alloc_engine_messages.mes
+mes_files += $(top_srcdir)/src/lib/dhcpsrv/hosts_messages.mes
+mes_files += $(top_srcdir)/src/lib/http/http_messages.mes
+mes_files += $(top_srcdir)/src/lib/dhcp_ddns/dhcp_ddns_messages.mes
+mes_files += $(top_srcdir)/src/lib/database/db_messages.mes
+mes_files += $(top_srcdir)/src/lib/log/log_messages.mes
+mes_files += $(top_srcdir)/src/lib/log/logimpl_messages.mes
+mes_files += $(top_srcdir)/src/lib/log/tests/log_test_messages.mes
+mes_files += $(top_srcdir)/src/lib/process/process_messages.mes
+mes_files += $(top_srcdir)/src/lib/asiodns/asiodns_messages.mes
+mes_files += $(top_srcdir)/src/lib/eval/eval_messages.mes
+mes_files += $(top_srcdir)/src/bin/dhcp4/dhcp4_messages.mes
+mes_files += $(top_srcdir)/src/bin/agent/ca_messages.mes
+mes_files += $(top_srcdir)/src/bin/d2/d2_messages.mes
+mes_files += $(top_srcdir)/src/bin/dhcp6/dhcp6_messages.mes
+mes_files += $(top_srcdir)/src/bin/lfc/lfc_messages.mes
+mes_files += $(top_srcdir)/src/bin/netconf/netconf_messages.mes
diff --git a/doc/sphinx/static/static_sources.mk b/doc/sphinx/static/static_sources.mk
new file mode 100644 (file)
index 0000000..a944f31
--- /dev/null
@@ -0,0 +1,3 @@
+static_sources += %reldir%/kea-imageonly-100bw.png
+static_sources += %reldir%/kea-logo-200.png
+static_sources += %reldir%/kea.css