unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* subsequent rebuilds of notmuch always re-build sphinx and ruby
@ 2019-04-20 20:43 Daniel Kahn Gillmor
  2019-04-21  0:12 ` David Bremner
  2021-10-30 20:48 ` Add stamp files to prevent rebuilds David Bremner
  0 siblings, 2 replies; 20+ messages in thread
From: Daniel Kahn Gillmor @ 2019-04-20 20:43 UTC (permalink / raw)
  To: Notmuch Mail

[-- Attachment #1: Type: text/plain, Size: 5169 bytes --]

Hi folks--

when i run "make" from my source tree, and it succeeds, i typically
expect that running "make" again will show that nothing needs to be
done.

but that's not the case.  Both the sphinx-based documentation and the
ruby notmuch.so are always rebuilt, i think due to some sort of
dependency loop.

But i don't really understand the dependencies there.  Maybe someone who
understands either ruby or sphinx better than i do can clean it up?
Having clean dependency tracking and quick rebuilds makes a project a
lot more fun to hack on.

Here's a trace of the rebuild process:

0 dkg@alice:~/src/notmuch/notmuch$ ./configure && make
 […]
make[1]: Leaving directory '/home/dkg/src/notmuch/notmuch/bindings/ruby'
0 dkg@alice:~/src/notmuch/notmuch$ make --trace
doc/Makefile.local:53: update target 'sphinx-html' due to: docstring.stamp
sphinx-build -b html -d doc/_build/doctrees -q ./doc doc/_build/html
doc/Makefile.local:56: update target 'sphinx-texinfo' due to: docstring.stamp
sphinx-build -b texinfo -d doc/_build/doctrees -q ./doc doc/_build/texinfo
doc/Makefile.local:59: 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'
Makefile:32: update target 'notmuch-search-terms.info' due to: notmuch-search-terms.texi
makeinfo --no-split -o 'notmuch-search-terms.info' 'notmuch-search-terms.texi'
Makefile:32: update target 'notmuch-compact.info' due to: notmuch-compact.texi
makeinfo --no-split -o 'notmuch-compact.info' 'notmuch-compact.texi'
Makefile:32: update target 'notmuch-show.info' due to: notmuch-show.texi
makeinfo --no-split -o 'notmuch-show.info' 'notmuch-show.texi'
Makefile:32: update target 'notmuch-reply.info' due to: notmuch-reply.texi
makeinfo --no-split -o 'notmuch-reply.info' 'notmuch-reply.texi'
Makefile:32: update target 'notmuch-hooks.info' due to: notmuch-hooks.texi
makeinfo --no-split -o 'notmuch-hooks.info' 'notmuch-hooks.texi'
Makefile:32: update target 'notmuch-config.info' due to: notmuch-config.texi
makeinfo --no-split -o 'notmuch-config.info' 'notmuch-config.texi'
Makefile:32: update target 'notmuch-reindex.info' due to: notmuch-reindex.texi
makeinfo --no-split -o 'notmuch-reindex.info' 'notmuch-reindex.texi'
Makefile:32: update target 'notmuch-restore.info' due to: notmuch-restore.texi
makeinfo --no-split -o 'notmuch-restore.info' 'notmuch-restore.texi'
Makefile:32: update target 'notmuch-new.info' due to: notmuch-new.texi
makeinfo --no-split -o 'notmuch-new.info' 'notmuch-new.texi'
Makefile:32: update target 'notmuch-dump.info' due to: notmuch-dump.texi
makeinfo --no-split -o 'notmuch-dump.info' 'notmuch-dump.texi'
Makefile:32: update target 'notmuch-address.info' due to: notmuch-address.texi
makeinfo --no-split -o 'notmuch-address.info' 'notmuch-address.texi'
Makefile:32: update target 'notmuch-tag.info' due to: notmuch-tag.texi
makeinfo --no-split -o 'notmuch-tag.info' 'notmuch-tag.texi'
Makefile:32: update target 'notmuch-count.info' due to: notmuch-count.texi
makeinfo --no-split -o 'notmuch-count.info' 'notmuch-count.texi'
Makefile:32: update target 'notmuch-search.info' due to: notmuch-search.texi
makeinfo --no-split -o 'notmuch-search.info' 'notmuch-search.texi'
Makefile:32: update target 'notmuch-emacs-mua.info' due to: notmuch-emacs-mua.texi
makeinfo --no-split -o 'notmuch-emacs-mua.info' 'notmuch-emacs-mua.texi'
Makefile:32: update target 'notmuch-emacs.info' due to: notmuch-emacs.texi
makeinfo --no-split -o 'notmuch-emacs.info' 'notmuch-emacs.texi'
Makefile:32: update target 'notmuch-properties.info' due to: notmuch-properties.texi
makeinfo --no-split -o 'notmuch-properties.info' 'notmuch-properties.texi'
Makefile:32: update target 'notmuch-insert.info' due to: notmuch-insert.texi
makeinfo --no-split -o 'notmuch-insert.info' 'notmuch-insert.texi'
Makefile:32: update target 'notmuch.info' due to: notmuch.texi
makeinfo --no-split -o 'notmuch.info' 'notmuch.texi'
make[1]: Leaving directory '/home/dkg/src/notmuch/notmuch/doc/_build/texinfo'
bindings/Makefile.local:8: update target 'ruby-bindings' due to: lib/libnotmuch.so
cd bindings/ruby && \
	EXTRA_LDFLAGS="-Wl,--no-undefined" \
	LIBNOTMUCH="../../lib/libnotmuch.so" \
	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 'notmuch.so' due to: Makefile
echo linking shared-object notmuch.so
linking shared-object notmuch.so
rm -f notmuch.so
gcc -shared -o notmuch.so 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/libnotmuch.so -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$


      --dkg

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2021-12-25 11:37 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-20 20:43 subsequent rebuilds of notmuch always re-build sphinx and ruby Daniel Kahn Gillmor
2019-04-21  0:12 ` David Bremner
2019-04-21  3:14   ` Daniel Kahn Gillmor
2019-04-21 19:29     ` David Bremner
2019-04-22 23:19       ` Daniel Kahn Gillmor
2019-04-23  0:03         ` David Bremner
2019-04-23 21:43           ` Daniel Kahn Gillmor
2019-04-24  1:09             ` David Bremner
2019-04-24  5:11               ` Daniel Kahn Gillmor
2021-12-24 16:20             ` [PATCH] doc: add dep. on stamp file for rebuilding gzipped man pages David Bremner
2021-12-25  9:39               ` Tomi Ollila
2021-12-25 11:37               ` David Bremner
2021-10-30 20:48 ` Add stamp files to prevent rebuilds David Bremner
2021-10-30 20:48   ` [PATCH 1/3] doc: introduce stamp file for info build David Bremner
2021-10-30 20:48   ` [PATCH 2/3] ruby: don't use a directory as a target David Bremner
2021-10-30 20:48   ` [PATCH 3/3] python-cffi: introduce stamp file David Bremner
2021-12-04 23:44   ` Add stamp files to prevent rebuilds David Bremner
2021-12-04 23:47   ` [PATCH 1/2] doc: replace phony target with variable David Bremner
2021-12-04 23:47     ` [PATCH 2/2] doc: introduce stamp file for info build David Bremner
2021-12-23 12:24     ` [PATCH 1/2] doc: replace phony target with variable David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).