makefile.amを作成したので早々automakeを実行してmakefile.inを作成したいところですが、実行前にすべきことがまだいくつかあります。automakeは実行時、configure.acを参照しシェル変数などを適切に処理します。そのためconfigure.acにautomake用のマクロを追加する必要があります。
AM_INIT_AUTOMAKE
このマクロをAC_INITマクロの直後に追加することで、automake用のマクロが展開され適切にconfigureの結果を参照することができるようになります。
まだ、やることがあります。AM_INIT_ATUOMAKEマクロを追加しただけでautoconfを実行してみてください。
# autoconf
configure.ac:6: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
上記のようなエラーがでるはずです。
automakeが提供するAM_INIT_AUTOMAKEマクロの定義はautoconfではわかりません。autoconfがAM_INIT_AUTOMAKEマクロを解釈できるようaclocal.m4にAM_INIT_AUTOMAKEマクロに必要な定義を追加する必要があります。aclocal.m4に必要な定義を追加するためにはautomakeが提供するaclocalを使用します。
# aclocal
aclocalツールはconfigure.acをスキャンしaclocal.m4マクロを生成します。@VARIABLES@を使用せず、直接$(VARIABLE)でconfigureスクリプトが生成した変数を参照できるのはこのaclocal.m4のためです。もう一度、autoconfを実行してconfigureスクリプトが生成されたことを確認してください。
automakeではパッケージにinstall-shというシェルを要求します。これはautomakeパッケージにふくまれているものをのままコピーします。
# cp /usr/share/automake-1.9/install-sh .
automakeでは通常GNU標準ドキュメントを要求します。GNU標準ドキュメントとは
などのおなじみのドキュメントです。中身は空でも問題ありませんので通常は作成しておきます。ただし、COPYINGとINSTALLファイルは自動的に生成されます。どうしてもこれらを作成したくない場合--foreignオプションを付けて実行することも可能です。
# touch README AUTHORS NEWS ChangeLog
中身は空ですが、とりあえずファイルだけ作成しておけばOKです。
これで準備が整いましたのでいよいよautomakeを実行します。automakeでは生成されたmakefileが適切に動作するよう補助ツールを利用することがあります。通常、これらのツールもパッケージに含めますのでautomake実行時これらのツールをパッケージに含めるようオプションを指定します。
# automake -a -c
makefile.inが作成されたことを確認してください。