diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2018-08-15 22:59:31 +0200 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2018-08-30 08:06:44 +0200 |
commit | 9e53b31551844a02b3bb2bd359f0a389eddf0d50 (patch) | |
tree | b29f9f300e5658b7db8dc8d4e684e0f062c5040f /doc/manpages | |
parent | Merge pull request #2942 from mjstapp/fix_new_atomics (diff) | |
download | frr-9e53b31551844a02b3bb2bd359f0a389eddf0d50.tar.xz frr-9e53b31551844a02b3bb2bd359f0a389eddf0d50.zip |
build: non-recursive doc + parallel sphinx
Sphinx actually does work with a parallel build, if the doctree creation
is a separate step (which the other builds will then just read
unmodified.) This can be done with the "dummy" target.
This also adds "-j6" to sphinx-build and adds a "--disable-doc-html"
switch on ./configure to turn on/off building HTML docs separately.
Also, HTML docs are now installed by "make install" to
/usr/share/doc/frr/html.
Signed-off-by: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'doc/manpages')
-rw-r--r-- | doc/manpages/Makefile | 12 | ||||
-rw-r--r-- | doc/manpages/Makefile.am | 48 | ||||
-rw-r--r-- | doc/manpages/subdir.am | 139 |
3 files changed, 151 insertions, 48 deletions
diff --git a/doc/manpages/Makefile b/doc/manpages/Makefile new file mode 100644 index 000000000..7cccfa2a3 --- /dev/null +++ b/doc/manpages/Makefile @@ -0,0 +1,12 @@ +all: ALWAYS + @$(MAKE) -s -C ../.. doc/manpages/man.stamp +help: ALWAYS + @$(MAKE) -s -C ../.. doc/help +%: ALWAYS + @$(MAKE) -s -C ../.. doc/manpages/_build/$@ + +Makefile: + #nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/doc/manpages/Makefile.am b/doc/manpages/Makefile.am deleted file mode 100644 index 009c72382..000000000 --- a/doc/manpages/Makefile.am +++ /dev/null @@ -1,48 +0,0 @@ -# This is necessary to support VPATH builds. -srcdir = @srcdir@ -VPATH = @srcdir@ - -# This variable is used as the documentation source location in frr-sphinx.mk -SOURCESDIR = @srcdir@ - -include @srcdir@/../frr-sphinx.mk - -# ----------------------------------------------------------------------------- -# Automake requires that 3rd-party Makefiles recognize these targets. -# ----------------------------------------------------------------------------- -# install -# install-data -# install-exec -# uninstall -# install-dvi -# install-html -# install-info -# install-ps -# install-pdf -# installdirs -# check -# installcheck -# mostlyclean -# clean -# distclean -# maintainer-clean -# dvi -# pdf -# ps -# info -# html -# tags -# ctags - -# These targets are automatically generated by Sphinx but conflict with -# implicitly defined Automake rules, so we manually override them to nothing. -# The other option is deleting the Sphinx-generated rules, which suppresses the -# warning but kinda screws up the symmetry between Makefiles. -info: ; -html: ; - -all: man - -install-data: man - -install: install-data diff --git a/doc/manpages/subdir.am b/doc/manpages/subdir.am new file mode 100644 index 000000000..24f47fc7a --- /dev/null +++ b/doc/manpages/subdir.am @@ -0,0 +1,139 @@ +# +# doc/manpages +# + +man_RSTFILES = \ + doc/manpages/bgpd.rst \ + doc/manpages/common-options.rst \ + doc/manpages/conf.py \ + doc/manpages/defines.rst \ + doc/manpages/eigrpd.rst \ + doc/manpages/epilogue.rst \ + doc/manpages/frr.rst \ + doc/manpages/index.rst \ + doc/manpages/isisd.rst \ + doc/manpages/ldpd.rst \ + doc/manpages/mtracebis.rst \ + doc/manpages/nhrpd.rst \ + doc/manpages/ospf6d.rst \ + doc/manpages/ospfclient.rst \ + doc/manpages/ospfd.rst \ + doc/manpages/pimd.rst \ + doc/manpages/ripd.rst \ + doc/manpages/pbrd.rst \ + doc/manpages/ripngd.rst \ + doc/manpages/sharpd.rst \ + doc/manpages/staticd.rst \ + doc/manpages/vtysh.rst \ + doc/manpages/watchfrr.rst \ + doc/manpages/zebra.rst \ + doc/manpages/bfdd.rst \ + doc/manpages/bfd-options.rst \ + # end + +EXTRA_DIST += $(man_RSTFILES) + +MANBUILD = doc/manpages/_build/man +doc/manpages/_build/.doctrees/environment.pickle: $(man_RSTFILES) + +# +# automake integration +# + +rstman1dir = $(mandir)/man1 +rstman8dir = $(mandir)/man8 + +rstman1_DATA = +rstman8_DATA = + +rstman1_DATA += $(MANBUILD)/frr.1 + +if PIMD +rstman8_DATA += $(MANBUILD)/pimd.8 +rstman8_DATA += $(MANBUILD)/mtracebis.8 +endif + +if PBRD +rstman8_DATA += $(MANBUILD)/pbrd.8 +endif + +if BGPD +rstman8_DATA += $(MANBUILD)/bgpd.8 +endif + +if ISISD +rstman8_DATA += $(MANBUILD)/isisd.8 +endif + +if OSPF6D +rstman8_DATA += $(MANBUILD)/ospf6d.8 +endif + +if OSPFCLIENT +rstman8_DATA += $(MANBUILD)/ospfclient.8 +endif + +if OSPFD +rstman8_DATA += $(MANBUILD)/ospfd.8 +endif + +if LDPD +rstman8_DATA += $(MANBUILD)/ldpd.8 +endif + +if RIPD +rstman8_DATA += $(MANBUILD)/ripd.8 +endif + +if RIPNGD +rstman8_DATA += $(MANBUILD)/ripngd.8 +endif + +if NHRPD +rstman8_DATA += $(MANBUILD)/nhrpd.8 +endif + +if VTYSH +rstman1_DATA += $(MANBUILD)/vtysh.1 +endif + +if WATCHFRR +rstman8_DATA += $(MANBUILD)/watchfrr.8 +endif + +if ZEBRA +rstman8_DATA += $(MANBUILD)/zebra.8 +endif + +if EIGRPD +rstman8_DATA += $(MANBUILD)/eigrpd.8 +endif + +if SHARPD +rstman8_DATA += $(MANBUILD)/sharpd.8 +endif + +if STATICD +rstman8_DATA += $(MANBUILD)/staticd.8 +endif + +if BFDD +rstman8_DATA += $(MANBUILD)/bfdd.8 +endif + +# dependency +$(rstman8_DATA) $(rstman1_DATA): $(MANBUILD)/man.stamp + +# +# hook-ins for clean / doc +# (install is handled by automake _DATA) +# + +clean-local: clean-manpages +.PHONY: clean-manpages +clean-manpages: + -rm -rf $(MANBUILD) + +doc: doc-man +.PHONY: doc-man +doc-man: $(rstman8_DATA) $(rstman1_DATA) |