automake & autoconf

automake & autoconfは言わずとしれたUNIXプラットフォームでのソフトウェア開発支援ツールだ。
ざっくり言うと、

autoconf

  • Makefile中の環境依存部分を半自動検出するconfigureスクリプトを生成するツール。
    • configureスクリプトMakefile.inをMakefileの雛形として使用する。Makefile.inは自分で書く必要がある。
    • configureスクリプトはconfigure.inからautoconfコマンドで生成される。configure.inは自分で書く必要がある。(autoscanで自動生成できるが)

automake

  • Makefile.inを半自動生成してくれる。Makefile.amがその雛形。
  • automakeを使う場合はconfigure.inの代わりにconfigure.acを使う。

また、automakeでDLLを作る場合にはlibtoolを必然的に使うことになる。詳しくはマニュアルを見ていただきたい。
広く使われているツールではあるが、筆者の業界である、組み込み&プロプライエタリ系ではあまり使われているのを見かけなかったりする。
信じられないかもしれないが、いちいちMakefileに書いてある
CC=arm-linux-gcc

CC=iwmmx_le-gcc
に書き換えたり、
QTDIR=/opt/hogehoge/qt-3.1

QTDIR=/opt/fugafuga/qt-2.3
に書き換えたりということをしばしば手で行うのだ。面倒なことこの上ない。
と、いうことでQt/Embeddedを使用した、とあるDLLのビルドプロジェクトをautomake対応にすることにした。