summaryrefslogtreecommitdiffstats
path: root/doc/manpages
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2018-08-15 22:59:31 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2018-08-30 08:06:44 +0200
commit9e53b31551844a02b3bb2bd359f0a389eddf0d50 (patch)
treeb29f9f300e5658b7db8dc8d4e684e0f062c5040f /doc/manpages
parentMerge pull request #2942 from mjstapp/fix_new_atomics (diff)
downloadfrr-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/Makefile12
-rw-r--r--doc/manpages/Makefile.am48
-rw-r--r--doc/manpages/subdir.am139
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)