変数の割り当ての前にoverride
キーワードを付けると、別のoverride
ステートメントを使用する場合を除いて、その変数の値が再び変更されるのを防ぐことができます。これはStarlarkがサポートしていない機能です。
変数を再割り当てする前に、変数が定義されているかどうかを確認することで削除できます。たとえば、次を置き換えます。
override MY_VAR := foo
MY_VAR := bar
# MY_VAR is foo here
と:
MY_VAR := foo
# Generally this would be in a separate file that is included
ifndef MY_VAR
MY_VAR := bar
enddef
# MY_VAR is foo here