私は、外部変数名は2つの@
シンボル、それらの外部変数から来Makefile.inと変数置換
# @[email protected]
package = @[email protected]
の間で囲まれている変数の定義を参照してください?また、GNUマニュアルでは、2つの記号の間の変数を正確に囲んでいるのはどういう意味ですか?@
の意味ですか?それはMakefile.in特有のものですか?
ありがとうございます。
私は、外部変数名は2つの@
シンボル、それらの外部変数から来Makefile.inと変数置換
# @[email protected]
package = @[email protected]
の間で囲まれている変数の定義を参照してください?また、GNUマニュアルでは、2つの記号の間の変数を正確に囲んでいるのはどういう意味ですか?@
の意味ですか?それはMakefile.in特有のものですか?
ありがとうございます。
これは自作です。
./configure
の実行が終了すると、最後に可変置換の値(AC_SUBST
が宣言されている)を持つシェルスクリプトであるconfig.status
というファイルが生成されて実行されます。
AC_CONFIG_FILES
で宣言されているものは、によって処理され、通常foo.in
をfoo
に変換します。
AutomakeはMakefile.in
にMakefile.am
を処理するときに、それがAM_SUBST_NOTMAKE
呼び出しによって抑制いない限り、任意AC_SUBST
変数は自動的に、(FOO = @[email protected]
ような宣言を使用して)利用可能にされます。
(私は専門家ではありませんが)はい、それらはMakefile.inに固有であり、Makefile
を組み立てるときにはconfigure
が置き換えられます。the Autoconf Manual, section 4.8を参照してください。例えば、@[email protected]
は、AC_INITによって定義されます。
また、[Jack's answer](http://stackoverflow.com/a/11648552)も読んでください(チェックマークを付けてください)。 – tiwo
質問で「PACKAGE_NAME」はどうですか?私の 'Makefile.am'では' @datadir @/@ package_name @ 'を使用しましたが、 '$ {datarootdir}/@ package_name @'に置き換えられましたが、これは明らかに正しくありません。 – jww
'PACKAGE_NAME'は特別です。これは下記のtiwoのように' AC_INIT'によって設定されます。 –