home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

C言語系/memos/automake

C言語系/memos/automake

C言語系 / memos / automake
id: 483 所有者: msakamoto-sf    作成日: 2009-11-17 23:59:32
カテゴリ: C言語 

GNU Automakeの自分用メモ

Automakeは基本的には以下の2大機能を提供する。

  1. Makefile.am+configure.ac → automake実行 → Makefile.in生成
  2. aclocal実行 → configure.acで使われているマクロを aclocal.m4 に集約

基本的な流れとしては以下の順序になる。

  1. configure.acの準備と、AM_INIT_AUTOMAKEマクロの組み込み
  2. AM_INIT_AUTOMAKEを使えるようにする為、"aclocal"を実行してaclocal.m4を生成
  3. Makefile.amの準備
  4. automake実行

automakeはconfigure.acを読み込んでm4マクロを実行するが、Automakeが提供するm4マクロはそのままでは見つからないので実行できない。そこで、aclocalにより、configure.ac中で出てくる(Autoconf以外の)外部マクロをaclocal.m4に集約する。これにより、Automakeの提供するm4マクロはaclocal.m4に含まれる事になり、automakeにより実行可能となる。
なおautomake実行時にINSTALL, COPYINGの2ファイルが存在しないと"not found"エラーになる。そういう場合は、

automake -a -c

とすることでとりあえず自動的に用意する事ができる。他の"README"や"NEWS"などは手動で用意する必要がある。
また、"install-sh"なども自動的に追加されるようになるが、そうしたサポートスクリプトを追加するディレクトリを分けたい場合は、configure.acに

AC_CONFIG_AUX_DIR(ディレクトリ名)

と、AM_INIT_AUTOMAKEの前に指定する。

※なおGNU Automake HTMLドキュメントには、「aclocalは本来はAutoconfの機能に含まれるべきなので、将来的にはAutomakeからは無くなるかも」という記述がある。

以下、GNU Automake HTMLドキュメントでの主な見出しをポイントしておく。(見出しの番号については2009/11時点のものなので、将来変更される可能性がある)

  • Makefileの提供するターゲットや機能を知りたい
    • "2.2 Use Cases for the GNU Build System" 以下参照
  • Automake, Makefile.amのサンプを読みたい
    • "2.4 A Small Hello World", "4 Some example packages" 参照
  • aclocalの詳細や、m4マクロの検索の詳細を知りたい
    • "6.3 Auto-generating aclocal.m4" 参照
  • サブディレクトリを使う時のHowToを知りたい
    • "7 Directories", "7.1 Recursing subdirectories" 参照
  • Makefile.amで指定できる機能の詳細を知りたい
    • "8 Building Programs and Libraries", "8.1 Building a program", "8.2 Building a library", "8.3 Building a Shared Library" 参照


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-11-18 00:01:34
md5:86d9541918b03df45f6e83e552de5af3
sha1:2001eed88feb3bf642d1a0c1787703a91b50e68f
コメント
コメントを投稿するにはログインして下さい。