[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Automakeの様々な機能は,`Makefile.am'のオプションで制御可能です.
このようなオプションは,AUTOMAKE_OPTIONS
という名前の特別な
`Makefile'変数にリストアップすることで,`Makefile'ごとを基本
に適用されます.`configure.ac'のAM_INIT_AUTOMAKE
の最初の引
数にリストアップすることで,処理されるすべての`Makefiles'に大域的
に適用されます.現在理解されるオプションは以下のとおりです.
gnits
gnu
foreign
cygnus
適切に厳密さを設定します.gnits
オプションは,
readme-alpha
とcheck-news
も暗黙に指定します.
ansi2knr
path/ansi2knr
自動的なde-ANSI-ficationを開始します.See section 自動的なde-ANSI-fication. パスが前置されてい る場合,生成される`Makefile.in'は,`ansi2knr'プログラムを見 つけるために指定されたディレクトリを探します.パスは(Automakeは現在こ れを調査しませんが),同じ配布物内の他のディレクトリへの相対的なパスに すべきです.
check-news
現在のバージョンナンバーが`NEWS'ファイルの最初の数行に無い場合,
make dist
は失敗します.
dejagnu
dejagnu
特有のルールを生成します.See section テストスイートのサポート.
dist-bzip2
dist-shar
dist-zip
dist-tarZ
filename-length-max=99
ファイル名が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
これは,コマンドラインで`--include-deps'を使用することに似ていま すが,自動的な依存追跡の仕事をするために必要なビットが無い状況で役に立 ちます.See section 自動的な依存性追跡. この状況では,効率的な自動的な依存追跡に 障害を与えます.
no-dist
dist
ターゲットに関連するコードを生成しません.これは,パッケー
ジに独自の配布物を作成する手法があるとき役に立ちます.
no-dist-gzip
no-exeext
`Makefile.am'でターゲット`foo'に対するルールを定義している場
合,`foo$(EXEEXT)'と指名されているターゲットに対するルールに優先
します.EXEEXT
が空のとき,これが必要です.しかし,デフォルトで,
automakeではこれの使用に対してエラーを発生します.no-exeext
オプ
ションで,このエラーが発生しないようにします.これは,Windowsや実行形
式の拡張子を使用しているそれ以外のすべてのオペレーティングシステムに移
植する予定の無いパッケージだと分かっている場合のみ使用するものです.
no-installinfo
生成された`Makefile.in'はデフォルトで,infoページをビルドしたりイ
ンストールしたりしません.しかし,info
とinstall-info
ター
ゲットは利用可能です.このオプションは`GNU'の厳密さでは拒絶されま
す.
no-installman
生成された`Makefile.in'はデフォルトでman pageをインストールしませ
ん.しかし,install-man
ターゲットはオプショナルインストールで利
用可能です.このオプションは`GNU'の厳密さで使用不可能です.
nostdinc
このオプションは,通常Automakeが自動的に供給する標準的な`-I'オプ ションを利用不可能にするために使用することが可能です.
no-texinfo.tex
このディレクトリにTexinfoファイルがあっても,`texinfo.tex'を必要 としません.
readme-alpha
このリリースがアルファリリースで,ファイル`README-alpha'が存在す る場合,それは配布物に加えられます.このオプションが与えられている場合, バージョンナンバーは次の二つの形式のうちの一つだと期待されます.最初の 形式は`MAJOR.MINOR.ALPHA'で,それぞれの要素が数 字です.最後のピリオドと数字は非アルファのリリースのときに捨てられます. 二番目の形式は`MAJOR.MINORALPHA'で,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
このオプションが指定されている場合,オブジェクトはソースファイルのサブ ディレクトリに対応する,ビルドディレクトリのサブディレクトリに配置され ます.例えば,ソースファイルが`subdir/file.cxx'の場合,出力ファイ ルは`subdir/file.o'になります.
tar-v7
tar-ustar
tar-pax
これら三つの排他的なオプションで,make dist
でtarballを生成する
ときのtarのフォーマットを選択します.(作成されるtarファイルは,使用し
ているno-dist-gzip
,dist-bzip2
,そしてdist-tarZ
オ
プションの組合せによって圧縮されます.)
これらのオプションは,実行すべき新たなコンフィグレーションの調査を引き
起こすはずなので,AM_INIT_AUTOMAKE
のオプションとして渡す必要が
あります(see section Automakeが提供するAutoconfマクロ).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 (tar)Formats section `Controlling the Archive Format' in GNU Tar.
configure
でこれらのフォーマットの構成を知る方法はいくつかありま
す.作業終了まで,ツールが分からない場合でも中止しませんが(パッケージ
はビルド可能です),make dist
は失敗するでしょう.
バージョンナンバー(例えば`0.30')が指定可能です.Automakeが,指定 されているバージョンより新しくない場合,`Makefile.in'の作成は行な われません.
-Wcategory
or --warnings=category
これらのオプションは,コマンドラインに正確に対応するもののように動作し
ます(see section `Makefile.in'の生成).これでファイルごとを基本に,警告のカ
テゴリを有効にしたり無効にしたりすることが可能になります.プロジェクト
全体に警告の設定を行なうことも可能です.例えば,`configure.ac'で
AM_INIT_AUTOMAKE([-Wall])
を試してください.
認識できないオプションはautomake
が判断します.
ツリーの全てのファイルにオプションを適用したい場合,
`configure.ac'のAM_INIT_AUTOMAKE
を使用することが可能です.
See section Automakeが提供するAutoconfマクロ.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Akihiro Sagawa on June, 8 2005 using texi2html 1.70.