現在のプロジェクトで非再帰的な make ビルド システムを実装しようとしています。私が苦労しているのは、変数のスコープです。多くの場合、変数は前提条件ではなくターゲットを定義するため、ターゲット固有の変数は私のニーズに適合しません。私が必要とするのは:
Makefile1:
SOMEVAR := original_value
include Makefile2
$(warning $(SOMEVAR))
Makefile2:
#some magic here to do what I want and make me happy
SOMEVAR := included_value
#and maybe here
そして、私が望む出力は「original_value」です。
それを実現するための戦略はありますか?
EDIT:私が今のところ来た唯一の解決策は、特定のMakefileの最後にすべてのインクルードを配置し、即時の変数割り当てを使用するように自分自身を強制して整理することです:=