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 するだけです。ださくてすみません。