2011-11-14 18 views
2

誰かが、次の断片が示唆していることを(ちょうどアイデアとして)短く私に説明することはできますか?このMakefileスニペットでは@ ... @の意味は何ですか?


@[email protected] 

VPATH = @[email protected] 
pkgdatadir = $(datadir)/@[email protected] 
pkgincludedir = $(includedir)/@[email protected] 
pkglibdir = $(libdir)/@[email protected] 
pkglibexecdir = $(libexecdir)/@[email protected] 

かを:: - は私が署名し、@ ... @の意味を理解していないので、私はC言語で新しいですより多くのコードを配置するために必要とされる場合


build_triplet = @[email protected] 
host_triplet = @[email protected] 

は、聞かせて私は知っている。

ありがとうございます。

+3

これはCではありません。それはメークファイルです。 –

+1

それは間違いなくcです。それは 'make'またはそれに類するもののように見えます。 – Dave

+1

GNU autoconfです。 –

答えて

5

@で囲まれた名前を使用するシステムはautoconfによって使用され、configureスクリプトで置き換えられる文字列をマークします。

4

これらは、@のシンボルがC言語では全く使われていないため、ある種のビルドシステム変数であるようです。名前を考えれば、これはもっと可能性が高いようです。パッケージとソースディレクトリが対応する場所に挿入されます。

$(var)は、Visual Studioプロジェクトファイル(ソースではなく、VS projはソート自体のmakeファイル)で頻繁に使用されています。

ここでは、2つのmake/buildシステム変数の型を使用していると思います。彼らが2つのシステムから来ているかどうかはわかりません。 Brian Roachがコメントで指摘したように、少なくともGNUのautoconfがここに関わっています。

これはどのファイルから来たのですか、それを囲むテキストは何ですか?よく知られている名前を使用すると、それはより多くの光を放つかもしれません。これはコードファイルではなく、単にmakeファイルである可能性があります。ビルドシステム変数を含むコードファイル(ビルド時の置き換え用)であってもかまいません。

+0

GNU autoconfです。 –

+0

'$(libdir)'などは普通の 'make'変数です。 'configure'は通常、与えられた接頭辞に従ってそれらを設定し、makeはシェル展開と同様に展開します。 –

3

これはC言語ではありません。何らかのメイクファイルのように見えます。これを見つけたファイル名を見て、それが.cで終わるのではないかと疑います。

+2

...それは本当にmakefileでもなく、makefileテンプレートです。おそらくautoconfで処理されるでしょう。 –

関連する問題