gnu make: ":=$(表現式)" 対 ":=@(表現式)"

gnu make:

式の評価中に「$」と「@」の使用の違いを確認したい(正しい用語の場合)。たとえば、Makefileで次の式を理解したいとします。

NO-DEBUG   := @(if $(DEBUG),,1)

後で次のような表現が出ました。

NO-CHECKED  := $(if $(CHECKED),,1)

これらは同じことをしているようですが、「$」と「@」が評価にどのような影響を与えるかはわかりません。 「:=@」または「=@」のおおよそのGoogle検索では何も見つかりません。どんな洞察力がありますか?なぜ他のものを使うのですか?

ありがとう、マーク

ベストアンサー1

@(expression)私はGNU makeでそれを見たことがなく、それについてもわかりません。使用されている場合は、単に解釈されずに残ります。 GNU make 4.0を使ったテストでこれを確認しました。そこには言及がないようです。手動

=とについて:=は読んでください。変数の2つのスタイルリファレンスマニュアルにあります。詳細な説明と例があります。

おすすめ記事