Re: [PATCH 3/4] doc: use stamp file for html docs

Subject: Re: [PATCH 3/4] doc: use stamp file for html docs

Date: Tue, 23 Apr 2019 17:34:50 -0400

To: David Bremner,


From: Daniel Kahn Gillmor

On Sun 2019-04-21 14:12:44 -0300, David Bremner wrote:
> These are less time consuming than the texi docs to rebuild (because
> the texi rebuild triggers info rebuild), but still take noticable time.
> ---
>  doc/Makefile.local | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> diff --git a/doc/Makefile.local b/doc/Makefile.local
> index 2a701646..a8fee537 100644
> --- a/doc/Makefile.local
> +++ b/doc/Makefile.local
> @@ -50,10 +50,13 @@ sphinx-html: | $(DOCBUILDDIR)/.roff.stamp
>  sphinx-texinfo: | sphinx-html
>  sphinx-info: | sphinx-texinfo
> -sphinx-html:
> +sphinx-html: $(DOCBUILDDIR)/.html.stamp
> +
> +$(DOCBUILDDIR)/.html.stamp: $(ALL_RST_FILES)
> +	touch $@
> -sphinx-texinfo: .texi.stamp
> +sphinx-texinfo: $(DOCBUILDDIR)/.texi.stamp

I think this final change (to the sphinx-texinfo target) belongs in the
previous patchset.

Otherwise, this series looks good to me, using your followup two-part
replacement for the obsolete 1/4 patch.

I've tested it, and it reduces the amount of time for the subsequent run
of "make" quite a bit.

After a "./configure && make clean && make", subsequent repeated "make
--trace" runs look like this:

0 dkg@alice:~/src/notmuch/notmuch$ make --trace
emacs/Makefile.local:76: update target 'emacs/.eldeps.x' due to: emacs/.eldeps
cmp -s emacs/.eldeps emacs/.eldeps.x || cp emacs/.eldeps emacs/.eldeps.x
doc/Makefile.local:66: update target 'sphinx-info' due to: sphinx-texinfo
make -C doc/_build/texinfo info
make[1]: Entering directory '/home/dkg/src/notmuch/notmuch/doc/_build/texinfo'
make[1]: Nothing to be done for 'info'.
make[1]: Leaving directory '/home/dkg/src/notmuch/notmuch/doc/_build/texinfo'
bindings/Makefile.local:8: update target 'ruby-bindings' due to: lib/
cd bindings/ruby && \
	EXTRA_LDFLAGS="-Wl,--no-undefined" \
	LIBNOTMUCH="../../lib/" \
	NOTMUCH_SRCDIR='/home/dkg/src/notmuch/notmuch' \
	ruby extconf.rb --vendor
creating Makefile
make -C bindings/ruby
make[1]: Entering directory '/home/dkg/src/notmuch/notmuch/bindings/ruby'
Makefile:258: update target '' due to: Makefile
echo linking shared-object
linking shared-object
rm -f
gcc -shared -o database.o directory.o filenames.o init.o message.o messages.o query.o status.o tags.o thread.o threads.o -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,--compress-debug-sections=zlib   ../../lib/ -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc
make[1]: Leaving directory '/home/dkg/src/notmuch/notmuch/bindings/ruby'
0 dkg@alice:~/src/notmuch/notmuch$ 

so there's still a bit of strange .eldeps and sphinx-*info business, but
they take basically no time.  And of course the ruby bindings haven't
been dealt with yet.

This seems like a clear improvement on the status quo, so i think we
should merge it and whittle down the remaining issues where we can.

signature.asc (application/pgp-signature)
notmuch mailing list