tips:how-to-autotools

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
最新のリビジョン両方とも次のリビジョン
index:internal-notice:how-to-autotools [2014/10/07 17:49] – [バージョン番号] rpptips:how-to-autotools [2014/10/31 07:08] – [configure 生成] rpp
行 1: 行 1:
-======Autotoolsの使い方====== 
  
-=====  概要  ===== 
- 
-RPPでは、パッケージの作成のために Autotools を使用しています。 
- 
-Autotools を使用することで、 
-  $ ./configure 
-  $ make 
-  $ make install 
-とするだけで、ユーザーの環境に合わせてプログラムをコンパイルできます(もちろん設定すればの話ですが・・・)。また、出力されるログを見れば、何が足りないのかを調べることができます。 
- 
-[[http://ja.wikipedia.org/wiki/Autotools|Wikipedia の解説]]参照。 
- 
-=====  インストール  ===== 
- 
-  # apt-get install automake libtool 
- 
-=====  使い方概要  ===== 
-====  元ファイル準備  ==== 
- 
-configure.ac のテンプレート(configure.scan)生成。 
-  $ autoscan 
- 
-エディタで configure.ac(configure.scan をベースにする)と Makefile.am をがんばって作成。設定項目はそれなりの数ある。 
- 
-サブディレクトリ間の依存関係は Makefile.am の *_DEPENDENCIES でも解決してくれない様子。トップディレクトリの Makefile.am 内で、 
- SUBDIRS = include auxlib src ... 
-の順番を依存順(先頭から順に make される)にすることで解決。 
- 
-====  configure 生成  ==== 
- 
-  $ libtoolize -c -f 
- 
-** --copy(-c) **\\ 
-シンボリックリンクを作らず、libtool データディレクトリからファイルをコピーする。 
- 
-** --force(-f)**\\ 
-既存の libtool ファイルを置き換える。デフォルトでは libtoolize は既存のファイルを上書きしない。 
- 
-  $ aclocal 
-  $ autoheader 
-  $ automake -a -c 
- 
-** --add-missing(-a)**\\ 
-  パッケージ化に足りないファイルを自動的に生成。 
- 
-** --copy(-c)**\\ 
-オプション時にシンボリックリンクではなくコピーする。 
- 
-  $ autoconf 
- 
-上記コマンド群で生成されるファイルの流れは下図参照。 
- 
-{{:index:internal-notice:autotools.svg.png|}} 
- 
-====  修正時  ==== 
- 
-configure.ac などのファイルを修正した場合は、下記コマンドを実行。 
-  $ autoreconf -i -f 
- 
-** --install(-i)**\\ 
-パッケージ化に足りないファイルを自動的に生成。 
- 
-** --force(-f)**\\ 
-既存のファイルを置き換える。デフォルトでは既存のファイルを上書きしない。 
- 
-====  パッケージのコンパイル・インストール方法  ==== 
- 
-** 基本(コンパイル・インストール)**\\ 
-   
-  $ ./configure 
-  $ make 
-  # make install 
- 
-** 掃除 **\\ 
-  $ make clean 
- 
-** アンインストール **\\ 
- 
-  # make uninstall 
- 
-** 配布パッケージ(tarball)作成 **\\ 
- 
-  $ make dist 
- 
-** 大掃除 **\\ 
- 
-  $ make distclean 
- 
-=====  パッケージ命名規則  ===== 
- 
-[http://archive.linux.or.jp/JF/JFdocs/Software-Release-Practice-HOWTO.html#s2 Linux JF (Japanese FAQ) Project の解説]参照。 
- 
-====  プロジェクト名  ==== 
- 
-英大文字やアンダースコア"_"は極力使わない。英小文字+ハイフンを推奨。 
- 
-====  バージョン番号  ==== 
- 
-メジャー番号、マイナー番号、マイクロ番号(またはパッチ番号)で管理するのが通例。 
-<code> 
- major.minor.micro 
-</code> 
-または 
-<code> 
- major.minor.patch 
-</code> 
- 
-この他にも、日付で管理することもある。 
- 
-ちなみに、ライブラリバージョンの場合は下記らしい。バージョンの付け方がややこしいので未使用。 
-<code> 
- current.revision.age 
-</code> 
- 
-[[http://www.bookshelf.jp/texi/libtool/libtool-ja_6.html#SEC35|Libtool 日本語マニュアル]]参照。 
-====  パッケージ名  ==== 
- 
- プロジェクト名+ハイフン(-)+バージョン数字列+拡張子 
- 
-パッケージ名の例としては、下記のようになる。\\ 
- foobar-1.2.3.tar.gz 
- 
-日付で管理する場合の例は下記。\\ 
- foobar-080707.tar.gz 
  • tips/how-to-autotools.txt
  • 最終更新: 2023/03/29 15:16
  • by 127.0.0.1