RSS

omake でPDFの自動生成

ReportLabを使ってPDFの生成プログラムを書いていたが、修正するたびにコマンドラインを叩くのが面倒になってきた。ふと思いだして omake を使ってみることにした。omake は make に似たようなビルドツールだが最大の利点は omake をポーリングモードで動かすとファイルの更新があったときに自動的に再ビルドしてくれることである。

ということで omake --install を実行する。そのあとファイルを次のように編集。

auto_0001.pdf: pdfgen.py
        python pdfgen.py 0001

.DEFAULT: auto_0001.pdf

このあと omake -P を実行すると Pythonファイルを編集するたびに呼び出されてPDFが自動的に生成される。

最初ターゲットとなる auto_0001.pdf を aut_0001.pdf に間違えていた。その場合こんなエラーになった。

omake: Symbol `FamErrlist' has different size in shared object, consider re-linking
*** omake: reading OMakefiles
*** omake: finished reading OMakefiles (0.02 sec)
*** omake: 10/12 targets are up to date
*** omake: failed (0.87 sec, 0/0 scans, 1/1 rules, 0/49 digests)
*** omake error:
   File OMakefile: line 1, characters 0-34
   rule failed to build target: auto_0001.pdf

最初はOMakefileの文法の問題かとリファレンスやらなんやらを探しまわっていた。単純ミスには注意したい。