AutoconfとかAutomakeを使ってインストールを楽にしたい
複数のソースコードから構成されるソフトウェアのコンパイルを楽にするために、automakeを使ってみる。Linuxでインストールするとき、configure→makeとするが、そのためのconfigureファイルを自動的に作ってくれるのがautoconf。
http://www.lkn.ei.tum.de/arbeiten/faq/guidelines/GNUMakeTutorial.pdf
をテキストにしていろいろと試す。テキストではCの例で説明しているが、Fortranでやりたいので、変えるべきところは適宜変えた。
configure.inファイルを作成
configure.inファイルを作成する。内容は以下の通り。0.1aは適当に決めたバージョン番号。Cの場合と違うのは、AC_PROG_FC、AC_PROG_F77のところ。
AC_INIT(hello.f) ←AC_INIT()でもよい AM_INIT_AUTOMAKE(hello, 0.1a) AC_PROG_FC AC_PROG_F77 AC_PROG_INSTALL AC_OUTPUT(Makefile)
configureファイルを作成
% aclocal % autoconf % automake -a
configureファイルを作ってくれるのだが、NEWS、README、AUTHORS、ChangeLogファイルがないためエラーとなる。そこでとりあえずこれらのファイルを作っておく。そうすればエラーを回避できる。
% touch NEWS REAME AUTHORS ChangeLog
再び、automake -aを実行すると、configureファイルが作成されている。
Makefileの作成とコンパイルの実行
% ./configure
でMakefileを作る。gfortranとg77がコンパイラとして認識されるみたい。
% make % ./hello
で実行までできた。
その他の処理
# make install
とすると/usr/localかどこかにファイルをコピーしようとする。
% make distcheck
でパッケージとしてtar.gzでまとめてくれる。今の場合、hello-0.01.tar.gzというファイルができる。
まとめ
- ここまでで人間がやらなければいけなかったこと
- Makefile.amを書く
- configure.inを書く