次: Miscellaneous, 前: Rebuilding, 上: Top
Automakeの様々な機能は,Makefile.amのオプションで制御可能です.
このようなオプションは,AUTOMAKE_OPTIONS
という名前の特別な
Makefile変数にリストアップすることで,Makefileごとを基本
に適用されます.configure.acのAM_INIT_AUTOMAKE
の最初の引
数にリストアップすることで,処理されるすべてのMakefilesに大域的
に適用されます.現在理解されるオプションは以下のとおりです.
gnits
gnu
foreign
cygnus
gnits
オプションは,
readme-alpha
とcheck-news
も暗黙に指定します.
ansi2knr
/ansi2knr
check-news
make dist
は失敗します.
dejagnu
dejagnu
特有のルールを生成します.See Tests.
dist-bzip2
dist-bzip2
をdist
にフックします.
dist-shar
dist-shar
をdist
にフックします.
dist-zip
dist-zip
をdist
にフックします.
dist-tarZ
dist-tarZ
をdist
にフックします.
filename-length-max=99
make dist
中に見つけた場合,中止し
ます.そのような長いファイル名は,一般的に移植性がないtarballだと考え
られます.以下のtar-v7
とtar-ustar
オプションを参照して下
さい.このオプションは,トップレベルのMakefile.amや
configure.acのAM_INIT_AUTOMAKE
の引数で使用されるべきで,
それ以外では無視されるでしょう.
no-define
AM_INIT_AUTOMAKE
への引数として渡すときだけ意
味があります.それはPACKAGE
とVERSION
変数が
AC_DEFINE
されることを妨げます.
no-dependencies
no-dist
dist
ターゲットに関連するコードを生成しません.これは,パッケー
ジに独自の配布物を作成する手法があるとき役に立ちます.
no-dist-gzip
dist-gzip
をdist
にフックしません.
no-exeext
EXEEXT
が空のとき,これが必要です.しかし,デフォルトで,
automakeではこれの使用に対してエラーを発生します.no-exeext
オプ
ションで,このエラーが発生しないようにします.これは,Windowsや実行形
式の拡張子を使用しているそれ以外のすべてのオペレーティングシステムに移
植する予定の無いパッケージだと分かっている場合のみ使用するものです.
no-installinfo
info
とinstall-info
ター
ゲットは利用可能です.このオプションは`GNU'の厳密さでは拒絶されま
す.
no-installman
install-man
ターゲットはオプショナルインストールで利
用可能です.このオプションは`GNU'の厳密さで使用不可能です.
nostdinc
no-texinfo.tex
readme-alpha
std-options
installcheck
ルールで,インストールされたスクリプトとプログラム
が,--help
と--version
オプションをサポートしているかどう
かを調査するようにします.これは,プログラムの実行時の依存性がインストー
ル後にも満足しているという基本的な調査も提供します.
状況によって,プログラム(またはスクリプト)でこのテストを免除させる必要
があるかもしれません.例えば,(GNUのsh-utilsの)falseは,
--help
や--version
でさえ,決して成功しません.そのような
プログラムは,変数AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
でリストアッ
プすることが可能です.この変数にリストアップされているプログラム(スク
リプトではない)は,Win32やOS/2に対して$(EXEEXT)
で接尾子が付きま
す.例えば,false
をプログラムとして,true.sh
をスクリプト
としてビルドしようと仮定し,--help
や--version
をどちらも
サポートしないものとします.
AUTOMAKE_OPTIONS = std-options bin_PROGRAMS = false ... bin_SCRIPTS = true.sh ... AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false$(EXEEXT) true.sh
subdir-objects
tar-v7
tar-ustar
tar-pax
make dist
でtarballを生成する
ときのtarのフォーマットを選択します.(作成されるtarファイルは,使用し
ているno-dist-gzip
,dist-bzip2
,そしてdist-tarZ
オ
プションの組合せによって圧縮されます.)
これらのオプションは,実行すべき新たなコンフィグレーションの調査を引き
起こすはずなので,AM_INIT_AUTOMAKE
のオプションとして渡す必要が
あります(see Macros).AUTOMAKE_OPTIONS
変数でそのようなオプ
ションが見つかる場合,Automakeは文句を言います.
tar-v7
は,古いtarフォーマットを選択します.これは,歴史的なデフォ
ルトです.この古くさいフォーマットは,すべてのtarの実装で解釈でき,99
文字までのファイル名をサポートしています.与えられるファイル名がそれよ
り長いとき,tarの実装によっては問題を調査しますが,壊れたtarballを生成
したり,移植性の無い拡張子を使用したりするものもあります.さらに,V7
フォーマットは,空のディレクトリを保持することが不可能です.このフォー
マットを使用しているときは,あまりに長いファイル名を検出する
filename-length-max=99
オプションの使用を検討して下さい.
tar-ustar
は,POSIX 1003.1-1988で定義されているustarフォーマット
を選択します.このフォーマットは,古いものに対して十分移植性があると信
じられています.空のディレクトリも完全にサポートされています.256文字
までのファイル名で保存可能で,ファイル名も,ディレクトリのセパレータで
2つの部分に分割することも可能で,最初のものはほぼ155バイトまで対応して
います.そのため,ほとんどの状況で,最大ファイル名の長さは256文字より
小さくなります.しかし,99文字以上のファイル名の処理が壊れたtarの実装
で実行する可能性もあります(このドキュメントを正確にするため
bug-automake@gnu.orgにレポートを報告して下さい).
tar-pax
は,POSIX 1003.1-2001で定義されている,新しいpax交換フォー
マットを選択します.それにはファイル名の長さの制限はありません.しかし,
このフォーマットはまだ新しく,最近のプラットフォームをターゲットとした
パッケージに限定されるでしょう.上位互換の方法としてpaxフォーマット移
行しているので,このオプションは,将来,より新しいバージョンに関係しま
す.
tarフォーマットの詳細な議論は,See Controlling the Archive Format.
configure
でこれらのフォーマットの構成を知る方法はいくつかありま
す.作業終了まで,ツールが分からない場合でも中止しませんが(パッケージ
はビルド可能です),make dist
は失敗するでしょう.
-W
category or --warnings=
categoryAM_INIT_AUTOMAKE([-Wall])
を試してください.
認識できないオプションはautomake
が判断します.
ツリーの全てのファイルにオプションを適用したい場合,
configure.acのAM_INIT_AUTOMAKE
を使用することが可能です.
See Macros.