差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

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