さて,渦から渦まで頭を浮かせる(?)プログラムのzardoz
を,たった今
書き終えたと仮定します.移植性のフレームワークを提供するためにAutoconf
を使用していましたが,Makefile.inは特別に作成しました.それらを
堅牢にしたいのでAutomakeに切替えてみましょう.
第一歩はautomake
が必要とするコマンドを含めるため,
configure.acの更新を開始します.こうする方法は,AC_INIT
の直後にAM_INIT_AUTOMAKE
の呼び出しを加えることです.
AC_INIT(zardoz, 1.0) AM_INIT_AUTOMAKE ...
プログラムには,(例えば,gettext
を使用していないし,共有ライブ
ラリもビルドしないし)複雑な要因が全くないので,この部分はおしまいです.
なんて簡単なんでしょう!
さてconfigureを再生成する必要があります.しかしこうするためには,
使用している新しいマクロを見つける方法をautoconf
に伝える必要が
あります.こうするための最も簡単な方法は,aclocal.m4を生成する
aclocal
プログラムを使用することです.しかしちょっと待って下さい
...プログラムに対してちょっとマクロを書く必要があり,既に
aclocal.m4があるかもしれません.aclocal
プログラムでは,
マクロをacinclude.m4に書いておく必要があるので,単純に名前を変
更して以下のように実行します.
mv aclocal.m4 acinclude.m4 aclocal autoconf
さてzardoz
に対するMakefile.amを書く時間がやってきました.
zardoz
はユーザプログラムなので,他のユーザプログラムがインストー
ルされる場所にインストールしたいと思います.bindir
です.さらに,
zardoz
にはTexinfoドキュメントもあります.configure.acス
クリプトではAC_REPLACE_FUNCS
を使用するので,‘$(LIBOBJS)’
をリンクする必要があります.そのため以下のように書いたほうが良いでしょ
う.
bin_PROGRAMS = zardoz zardoz_SOURCES = main.c head.c float.c vortex9.c gun.c zardoz_LDADD = $(LIBOBJS) info_TEXINFOS = zardoz.texi
さて,Makefile.inを生成するためにautomake --add-missing
を実行して,必要な補助ファイルを入手して,おしまいです!