Next: , Previous: Canonicalization, Up: Generalities


2.5 ユーザに対して予約されている変数

Makefile変数には,“user”が使用するためにGNU Coding Standards で予約されているものもあります – それはパッケージを構築する人のためで す.例えば,CFLAGSはそのような変数の一つです.

パッケージ開発者は,明らかに仕事を簡単にするために,CFLAGSのよ うなユーザ変数の設定を試みるときもあります.しかし,パッケージ自身でユー ザ変数を設定すべきではなく,特に,パッケージの適切なコンパイルに要求さ れるスイッチを含めるべきではありません.これらの変数はパッケージの構築 者に対して説明されるので,人々は,ビルド時にこれらの変数に優先させるこ とが可能だと期待しています.

この問題を解決するため,automakeはそれぞれのユーザフラグ変数に対し, automake特有の隠れた変数を導入しています.(隠れた変数は,CCのよ うな変数に対しては導入されておらず,それは意味が無いためです.)隠れた 変数は,ユーザ変数名に‘AM_’を前置して命名されています.例えば, YFLAGSに対する隠れた変数は,AM_YFLAGSになります.