次: , 上: Examples


3.1 簡単なサンプル例の最初から最後まで

さて,渦から渦まで頭を浮かせる(?)プログラムの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 を実行して,必要な補助ファイルを入手して,おしまいです!