------------------- configure.in AC_INIT(hello.c) パッケージ内のファイルをひとつ指定 AC_PROG_CC Cコンパイラを使います AC_PROG_INSTALL インストールをします(install-shが必要 or automake がやってくれる(-a)) AC_OUTPUT(Makefile) Makefile を生成します AC_CHECK_HEADERS(hoge.h foo.h) ヘッダファイルの有無をチェック. 存在するなら HAVE_HOGE_H とか HAVE_FOO_H が定義される #if HAVE_STDIO_H # include #else int printf (const char *format, ...); #endif みたいに書くのが普通 AC_CHECK_FUNCS(hoge) 関数の有無をチェック. 存在するなら HAVE_HOGE が定義される AC_CONFIG_HEADER(config.h) config.h の生成 (config.h.in が必要) configure の定義するマクロが入ってる #ifdef HAVE_CONFIG_H # include "config.h" #endif で読み込めばいい ----------------- automake PACKAGE と VERSION を configure.in に定義しておく必要あり PACKAGE=hoge VERSION=0.1.0 もしくは AM_INIT_AUTOMAKE(hoge, 0.1.0, no-define) としておく NEWS, README, AUTHORS, ChangeLog のファイルが必要 INSTALL, COPYING は automake -a で自動生成可能(-a ないし --add-missing を指定) ----------------- Makefile.am bin_PROGRAMS = hoge 生成されるプログラム名を hoge に (複数列挙可能) これの場合 PREFIX/bin にインストールされる bin を sbin とかにすると別のところへインストール hoge_SOURCES = foo.c bar.h hoge を生成するのに必要なソースを書いておく ----------------- commands > autoscan configure.scan (configure.inの雛形) の生成 > autoheader config.h.in の生成 > autoconf configure の生成 (configure.in 必要) > automake Makefile.in の生成(Makefile.amが必要) > aclocal configure の AM_ で始まる automake用マクロを処理