[master] 3f2be2ce8 Full abort on the sphinx links mess
Nils Goroll
nils.goroll at uplex.de
Tue Jul 28 11:26:06 UTC 2020
commit 3f2be2ce824e7e13fcc930b6185fe414e701f40e
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Tue Jul 28 13:23:41 2020 +0200
Full abort on the sphinx links mess
Either I need to come up with a better idea or leave this with someone
else.
This reverts commit 37215599397ba5df32712b2a45c1a0e299063d5d.
This reverts commit 2754e02e245542e5d38b1419dc6d6f01a3ba0a6c.
This reverts commit d7d31e47eeafa7457bc65047367aec8ba4f062f8.
This reverts commit 803b9a0cbdb22e8cda3cf9b4acb455351529df8d.
diff --git a/doc/sphinx/Makefile.am b/doc/sphinx/Makefile.am
index 14d0b9ad9..4ef49bc66 100644
--- a/doc/sphinx/Makefile.am
+++ b/doc/sphinx/Makefile.am
@@ -18,25 +18,26 @@ help:
clean:
-rm -rf $(BUILDDIR)/* $(CLEANFILES)
-# sphinx does not support include paths or anything comparable:
-# link source tree files for an out-of-tree build
-rstlinks = $(abs_builddir)/index.rst
-$(rstlinks):
- s=`realpath $(srcdir)`; \
- for f in `cd $$s && find . -name \*.rst \! -name \*.generated.rst -type f`; do \
- d=`dirname $$f`; \
- test -d $$d || mkdir -p $$d; \
- test -f $$f || ln -s $$s/$$f $$f; \
- done
-
-BUILT_SOURCES = $(rstlinks)
+# use index.rst as an indicator if we have copied already
+.PHONY: link_srcdir
+link_srcdir:
+ if test "x$(srcdir)" != "x$(builddir)" && test ! -f index.rst; then \
+ s=`realpath $(srcdir)`; \
+ for f in `cd $$s && find . -type f`; do \
+ d=`dirname $$f`; \
+ test -d $$d || mkdir -p $$d; \
+ test -f $$f || ln -s $$s/$$f $$f; \
+ done \
+ fi
# work around for make html called within doc/sphinx
.PHONY: graphviz
graphviz:
cd ../graphviz && $(MAKE) html
-sphinx_prereq: graphviz conf.py
+sphinx_prereq: link_srcdir graphviz conf.py
+
+all: link_srcdir
html: sphinx_prereq
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@@ -76,12 +77,12 @@ distclean-local:
include/cli.rst: $(top_builddir)/bin/varnishd/varnishd
$(top_builddir)/bin/varnishd/varnishd -x cli > ${@}_
mv ${@}_ ${@}
-RST_BUILT = include/cli.rst
+BUILT_SOURCES = include/cli.rst
include/params.rst: $(top_builddir)/bin/varnishd/varnishd
$(top_builddir)/bin/varnishd/varnishd -x parameter > ${@}_
mv ${@}_ ${@}
-RST_BUILT += include/params.rst
+BUILT_SOURCES += include/params.rst
COUNTERS = \
$(top_srcdir)/bin/varnishd/VSC_main.vsc \
@@ -100,7 +101,7 @@ include/counters.rst: $(top_srcdir)/lib/libvcc/vsctool.py $(COUNTERS)
done
mv ${@}_ ${@}
-RST_BUILT += include/counters.rst
+BUILT_SOURCES += include/counters.rst
include/varnishncsa_options.rst: $(top_builddir)/bin/varnishncsa/varnishncsa
$(top_builddir)/bin/varnishncsa/varnishncsa --options > ${@}_
@@ -108,7 +109,7 @@ include/varnishncsa_options.rst: $(top_builddir)/bin/varnishncsa/varnishncsa
include/varnishncsa_synopsis.rst: $(top_builddir)/bin/varnishncsa/varnishncsa
$(top_builddir)/bin/varnishncsa/varnishncsa --synopsis > ${@}_
mv ${@}_ ${@}
-RST_BUILT += include/varnishncsa_options.rst \
+BUILT_SOURCES += include/varnishncsa_options.rst \
include/varnishncsa_synopsis.rst
include/varnishlog_options.rst: $(top_builddir)/bin/varnishlog/varnishlog
@@ -117,7 +118,7 @@ include/varnishlog_options.rst: $(top_builddir)/bin/varnishlog/varnishlog
include/varnishlog_synopsis.rst: $(top_builddir)/bin/varnishlog/varnishlog
$(top_builddir)/bin/varnishlog/varnishlog --synopsis > ${@}_
mv ${@}_ ${@}
-RST_BUILT += include/varnishlog_options.rst \
+BUILT_SOURCES += include/varnishlog_options.rst \
include/varnishlog_synopsis.rst
include/varnishtop_options.rst: $(top_builddir)/bin/varnishtop/varnishtop
@@ -126,7 +127,7 @@ include/varnishtop_options.rst: $(top_builddir)/bin/varnishtop/varnishtop
include/varnishtop_synopsis.rst: $(top_builddir)/bin/varnishtop/varnishtop
$(top_builddir)/bin/varnishtop/varnishtop --synopsis > ${@}_
mv ${@}_ ${@}
-RST_BUILT += include/varnishtop_options.rst \
+BUILT_SOURCES += include/varnishtop_options.rst \
include/varnishtop_synopsis.rst
include/varnishhist_options.rst: $(top_builddir)/bin/varnishhist/varnishhist
@@ -135,7 +136,7 @@ include/varnishhist_options.rst: $(top_builddir)/bin/varnishhist/varnishhist
include/varnishhist_synopsis.rst: $(top_builddir)/bin/varnishhist/varnishhist
$(top_builddir)/bin/varnishhist/varnishhist --synopsis > ${@}_
mv ${@}_ ${@}
-RST_BUILT += include/varnishhist_options.rst \
+BUILT_SOURCES += include/varnishhist_options.rst \
include/varnishhist_synopsis.rst
include/varnishstat_options.rst: $(top_builddir)/bin/varnishstat/varnishstat
@@ -147,14 +148,14 @@ include/varnishstat_synopsis.rst: $(top_builddir)/bin/varnishstat/varnishstat
include/varnishstat_bindings.rst: $(top_builddir)/bin/varnishstat/varnishstat
$(top_builddir)/bin/varnishstat/varnishstat --bindings > ${@}_
mv ${@}_ ${@}
-RST_BUILT += include/varnishstat_options.rst \
+BUILT_SOURCES += include/varnishstat_options.rst \
include/varnishstat_synopsis.rst \
include/varnishstat_bindings.rst
include/vsl-tags.rst: $(top_builddir)/lib/libvarnishapi/vsl2rst
$(top_builddir)/lib/libvarnishapi/vsl2rst > ${@}_
mv ${@}_ ${@}
-RST_BUILT += include/vsl-tags.rst
+BUILT_SOURCES += include/vsl-tags.rst
VTCSYN_SRC = $(top_srcdir)/bin/varnishtest/vtc.c \
$(top_srcdir)/bin/varnishtest/vtc_barrier.c \
@@ -169,45 +170,43 @@ VTCSYN_SRC = $(top_srcdir)/bin/varnishtest/vtc.c \
include/vtc-syntax.rst: vtc-syntax.py $(VTCSYN_SRC)
$(AM_V_GEN) $(PYTHON) $(top_srcdir)/doc/sphinx/vtc-syntax.py $(VTCSYN_SRC) > ${@}_
@mv ${@}_ ${@}
-RST_BUILT += include/vtc-syntax.rst
+BUILT_SOURCES += include/vtc-syntax.rst
# XXX copy/paste rules need some TLC
include/vmod_std.generated.rst: $(top_builddir)/lib/libvmod_std/vmod_std.rst
cp $(top_builddir)/lib/libvmod_std/vmod_std.rst $@
-RST_BUILT += include/vmod_std.generated.rst
+BUILT_SOURCES += include/vmod_std.generated.rst
include/vmod_directors.generated.rst: $(top_builddir)/lib/libvmod_directors/vmod_directors.rst
cp $(top_builddir)/lib/libvmod_directors/vmod_directors.rst $@
-RST_BUILT += include/vmod_directors.generated.rst
+BUILT_SOURCES += include/vmod_directors.generated.rst
include/vmod_purge.generated.rst: $(top_builddir)/lib/libvmod_purge/vmod_purge.rst
cp $(top_builddir)/lib/libvmod_purge/vmod_purge.rst $@
-RST_BUILT += include/vmod_purge.generated.rst
+BUILT_SOURCES += include/vmod_purge.generated.rst
include/vmod_vtc.generated.rst: $(top_builddir)/lib/libvmod_vtc/vmod_vtc.rst
cp $(top_builddir)/lib/libvmod_vtc/vmod_vtc.rst $@
-RST_BUILT += include/vmod_vtc.generated.rst
+BUILT_SOURCES += include/vmod_vtc.generated.rst
include/vmod_blob.generated.rst: $(top_builddir)/lib/libvmod_blob/vmod_blob.rst
cp $(top_builddir)/lib/libvmod_blob/vmod_blob.rst $@
-RST_BUILT += include/vmod_blob.generated.rst
+BUILT_SOURCES += include/vmod_blob.generated.rst
include/vmod_cookie.generated.rst: $(top_builddir)/lib/libvmod_cookie/vmod_cookie.rst
cp $(top_builddir)/lib/libvmod_cookie/vmod_cookie.rst $@
-RST_BUILT += include/vmod_cookie.generated.rst
+BUILT_SOURCES += include/vmod_cookie.generated.rst
include/vmod_unix.generated.rst: $(top_builddir)/lib/libvmod_unix/vmod_unix.rst
cp $(top_builddir)/lib/libvmod_unix/vmod_unix.rst $@
-RST_BUILT += include/vmod_unix.generated.rst
+BUILT_SOURCES += include/vmod_unix.generated.rst
include/vmod_proxy.generated.rst: $(top_builddir)/lib/libvmod_proxy/vmod_proxy.rst
cp $(top_builddir)/lib/libvmod_proxy/vmod_proxy.rst $@
-RST_BUILT += include/vmod_proxy.generated.rst
+BUILT_SOURCES += include/vmod_proxy.generated.rst
-EXTRA_DIST += $(RST_BUILT)
-BUILT_SOURCES += $(RST_BUILT)
-CLEANFILES = $(RST_BUILT)
-$(RST_BUILT): $(rstlinks)
+EXTRA_DIST += $(BUILT_SOURCES)
+CLEANFILES = $(BUILT_SOURCES)
.NOPATH: $(BUILT_SOURCES)
More information about the varnish-commit
mailing list