次: Miscellaneous, 前: Rebuilding, 上: Top
Automakeの様々な機能は,Makefile.amのオプションで制御可能です.
このようなオプションは,AUTOMAKE_OPTIONSという名前の特別な
Makefile変数にリストアップすることで,Makefileごとを基本
に適用されます.configure.acのAM_INIT_AUTOMAKEの最初の引
数にリストアップすることで,処理されるすべてのMakefilesに大域的
に適用されます.現在理解されるオプションは以下のとおりです.
gnitsgnuforeigncygnusgnitsオプションは,
readme-alpha とcheck-newsも暗黙に指定します.
ansi2knr/ansi2knrcheck-newsmake distは失敗します.
dejagnudejagnu特有のルールを生成します.See Tests.
dist-bzip2dist-bzip2をdistにフックします.
dist-shardist-sharをdistにフックします.
dist-zipdist-zipをdistにフックします.
dist-tarZdist-tarZをdistにフックします.
filename-length-max=99make dist中に見つけた場合,中止し
ます.そのような長いファイル名は,一般的に移植性がないtarballだと考え
られます.以下のtar-v7とtar-ustarオプションを参照して下
さい.このオプションは,トップレベルのMakefile.amや
configure.acのAM_INIT_AUTOMAKEの引数で使用されるべきで,
それ以外では無視されるでしょう.
no-defineAM_INIT_AUTOMAKEへの引数として渡すときだけ意
味があります.それはPACKAGEとVERSION変数が
AC_DEFINEされることを妨げます.
no-dependenciesno-distdistターゲットに関連するコードを生成しません.これは,パッケー
ジに独自の配布物を作成する手法があるとき役に立ちます.
no-dist-gzipdist-gzipをdistにフックしません.
no-exeextEXEEXTが空のとき,これが必要です.しかし,デフォルトで,
automakeではこれの使用に対してエラーを発生します.no-exeextオプ
ションで,このエラーが発生しないようにします.これは,Windowsや実行形
式の拡張子を使用しているそれ以外のすべてのオペレーティングシステムに移
植する予定の無いパッケージだと分かっている場合のみ使用するものです.
no-installinfoinfoとinstall-infoター
ゲットは利用可能です.このオプションは`GNU'の厳密さでは拒絶されま
す.
no-installmaninstall-manターゲットはオプショナルインストールで利
用可能です.このオプションは`GNU'の厳密さで使用不可能です.
nostdincno-texinfo.texreadme-alphastd-optionsinstallcheckルールで,インストールされたスクリプトとプログラム
が,--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-objectstar-v7tar-ustartar-paxmake 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は失敗するでしょう.
-Wcategory or --warnings=categoryAM_INIT_AUTOMAKE([-Wall])を試してください.
認識できないオプションはautomakeが判断します.
ツリーの全てのファイルにオプションを適用したい場合,
configure.acのAM_INIT_AUTOMAKEを使用することが可能です.
See Macros.