tips:how-to-autotools

差分

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

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
tips:how-to-autotools [2014/10/17 20:02] – Page moved from internal-notice:how-to-autotools to tips:how-to-autotools rpptips:how-to-autotools [2023/03/29 15:16] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
-======Autotoolsの使い方======+====== Autotools の使い方 ======
  
-=====  概要  =====+===== 概要 =====
  
 RPPでは、パッケージの作成のために Autotools を使用しています。 RPPでは、パッケージの作成のために Autotools を使用しています。
行 13: 行 13:
 [[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)**\\ 
 オプション時にシンボリックリンクではなくコピーする。 オプション時にシンボリックリンクではなくコピーする。
  
行 55: 行 62:
 {{autotools.svg.png|}} {{autotools.svg.png|}}
  
-====  修正時  ====+ 
 +==== 修正時 ====
  
 configure.ac などのファイルを修正した場合は、下記コマンドを実行。 configure.ac などのファイルを修正した場合は、下記コマンドを実行。
   $ autoreconf -i -f   $ autoreconf -i -f
  
-** --install(-i)**\\+**%%--install(-i)%%** 
 パッケージ化に足りないファイルを自動的に生成。 パッケージ化に足りないファイルを自動的に生成。
  
-** --force(-f)**\\+**%%--force(-f)%%** 
 既存のファイルを置き換える。デフォルトでは既存のファイルを上書きしない。 既存のファイルを置き換える。デフォルトでは既存のファイルを上書きしない。
  
-====  パッケージのコンパイル・インストール方法  ==== 
  
-** 基本(コンパイルインストール)**\\ +==== パッケージのコンパイル、インストール方法 ==== 
-  + 
 +=== 基本(コンパイルインストール) === 
   $ ./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 の解説]]参照。 
  
-====  プロジェクト名  ====+==== プロジェクト名 ====
  
 英大文字やアンダースコア"_"は極力使わない。英小文字+ハイフンを推奨。 英大文字やアンダースコア"_"は極力使わない。英小文字+ハイフンを推奨。
  
-====  バージョン番号  ====+ 
 +==== バージョン番号 ====
  
 メジャー番号、マイナー番号、マイクロ番号(またはパッチ番号)で管理するのが通例。 メジャー番号、マイナー番号、マイクロ番号(またはパッチ番号)で管理するのが通例。
-<code> +  major.minor.micro
- major.minor.micro +
-</code>+
 または または
-<code> +  major.minor.patch
- major.minor.patch +
-</code>+
  
 この他にも、日付で管理することもある。 この他にも、日付で管理することもある。
  
 ちなみに、ライブラリバージョンの場合は下記らしい。バージョンの付け方がややこしいので未使用。 ちなみに、ライブラリバージョンの場合は下記らしい。バージョンの付け方がややこしいので未使用。
-<code> +  current.revision.age
- current.revision.age +
-</code>+
  
 [[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-1.2.3.tar.gz 
 + 
 +日付で管理する場合の例は下記。 
 +  foobar-080707.tar.gz 
  
-日付で管理する場合の例は下記。\\ 
- foobar-080707.tar.gz 
  • tips/how-to-autotools.1413543776.txt.gz
  • 最終更新: 2023/03/29 15:15
  • (外部編集)