Makefile
Makefileは、makeコマンドが解釈して、依存性を満たしながらビルドするためのファイル。でも、書式がいろいろ面倒だから、Makefile.amを書いてAutotoolsでMakefileにするほうが簡単。
$ cat hello.c #include <stdio.h> int main (int argc, char* argv[]) { printf ("Hello, World!\n"); return 0; }
を書いたら、
$ make hello cc hello.c -o hello
のように、勝手にソース名を予想してビルドしてくれる。この機能は、Makefile.amでも利用できる。
$ cat Makefile.am bin_PROGRAMS = hello
という一行のMakefile.amを書く。書式は
install先_カテゴリ = ターゲット
という簡単なもの。
後は、
$ autoscan $ mv configure.scan configure.ac $ vi configure.ac
ここで、
AM_INIT_AUTOMAKE([foreign 1.11])
の一行を追加。
$ autoreconf -i $ ./configure $ make
これでビルドできる。
autotoolsのメリットは、移植性のためにある。しかし、オープンソースの世界では、全部を理解する必要も無い。知恵は、移植したい人が出してくれる。
この程度の知識でパッケージ作りはできるので、そろそろGUIアプリでも書こう。