他のメイクファイルを上書きする:=

他のメイクファイルを上書きする:=

Barという変数を持つFooというmakefileがあるとしましょう。

Fooには次のものがあります。

Bar := /some/initial/path
Other_var := ${Bar}/more/paths

次に、デフォルトのmakefileでFooを使用します。

include Path/to/Foo

しかし、Barの値がFooで使用される値になるように、デフォルトのmakefileにBarをどのように設定できますか? evalを使ってみましたが、:=本当に難しいことでした。大きな目標は、Fooのソースを変更することではありません。

ベストアンサー1

私のGNU make 4.0オンライン情報によると、割り当てにoverrideキーワードを使用すると、通常はコマンドラインをオーバーライドするために使用されます。変数=値設定すると、このキーワードなしで追加の割り当てに値はoverride変更されません。

したがって、デフォルトのmakefileで次のことを試すことができます。

override Bar := myvalueforbar
include Path/to/Foo

おすすめ記事