Sphinx つかってドキュメント書いているのですが、自動的にビルドできないかなぁと思ったのが、1ヶ月くらい前です。そのときは、EUnitとOMakeでテスト駆動開発とかを読んで omake の P オプションがよさそうだったのですが、実現に至らず。
Mac OS X Lion で Komodo Edit 使って編集しています。omake -P すると、最初に1回ビルドが走ったあと、polling for filesystem changes ってなったまま表示が変わらず、ソースを編集すれどもすれでも、ビルドされません。ターミナルで vim とかで編集/保存すると omake -P はちゃんと変更を検出してくれて、期待通りに継続ビルドになります。
もうファイルシステムとか分かんないので、Makefile を適当に追記して生きていくことにしました。以下追記部分。
auto:
@while :; do make html_silent; sleep 1; done
html_silent: .built
@echo > /dev/null
.built: *.rst img/*
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@touch .built
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
「make auto」して使います。
auto と html_silent は、.PHONY に入れてあります。
毎秒、.built ファイルと、ソースファイルの日付を比較して、ソースファイルのほうが新しければビルドして、touch .built するだけです。ださくてすみません。