Archive for 2010/2/23
さて、今回は前回の宣言どおり、configure;make;などの流れです。
これらのツールを autoconf と automakeといいます。
といっても、私も意味がわからないので、とりあえずは、以下を参考にしました。
http://www.02.246.ne.jp/~torutk/cxx/automake/automake.html
autoconfや、automakeで検索すると参考になるようなサイトはそれほどないので、それぞれ見てみるのもいいと思います。
最初は意味を理解して処理をしているのではなく、手順として処理をしているので、
ディレクトリ構造のちょっとした違いだけでもはまってしまいます。(しまいました。)
これらを参考に私も、ほぼ同じように作ってみました。
用意したのは、
/Makefile.am
/src
+– part1.c
+– Makefile.am
par1.cの内容
#include <stdio .h>
#include <stdlib .h>
int main(int argc, char const *const *argv, char const *const *env)
{
printf("Hello \n");
}
と例の単なるHelloを表示するだけのプログラムです。
しかし、処理のいたるところでワーニングが出まくります。
無視していいとは書いてありますが、記載ている内容と行っているないように違いがなければ無視していいかもしれませんが、
なんせ、ただ真似ているだけの身として、結果としてうまくいかなかったときに、ただやみくもに探しては時間がかかります。
そこで、もう一度、gccなどを使って、プログラム自体に間違うがないということを確認する上でも、コンパイルだけでもできるようにしておきましょう。
gcc -o part1 part1.c
と、実行してください。-o で出力するファイル名が指定できます。
いやー、恥ずかしながら、私はこのレベルから調べ始めなおしました。
さて、今回の復習。
1)プロジェクトのTOPディレクトリに Makefile.am を用意し、ソースのパスを指定する。
2)ソースディレクトリにMakefile.amを用意する。
3)autoscanを実施し、その結果(configure.scan)からconfigure.ac を作成する
このファイルを編集し、utomakeを使うための記述を行う。
私の場合には、以下の2行を編集・追加を行いました。そのほかは、変わりありません。
AC_INIT(part1, 1.0,[coltware@localhost] ) AM_INIT_AUTOMAKE([foreign])
4)以下のように処理を行う。
aclocal autoheader automake -a -c autoconf
の順に処理を行う。
これで、configureの作成完了。あとは、いつもの通り。
さて、ここまでは、ほぼ、このプロジェクトのみで依存関係が完結しているために、
簡単でしたが次回からは、ここに、aprというApacheで使われている基本的なライブラリを使うあたりまで説明したいと思います。
そして、libxml2とtidyなどを使っていきたいと思っています。


