nmakeを使用して変数にどのようにアクセスしますか?
-
28-09-2019 - |
質問
次のコードが付いたMakeFileがあります。 IFステートメントで変数を設定しようとしています。エラーではありませんが %OPTION%
印刷するだけです %OPTION
(1パーセントサインのみ)と $(OPTION)
何も印刷しません。助けてください
makefile
RELEASE_OR_DEBUG=debug
init:
SET OPTION=test
@echo test1 = %OPTION%
@echo test2 = $(OPTION)
if ".$(RELEASE_OR_DEBUG)" == ".debug" SET OPTION="-d"
@echo OPTION = %OPTION%
@echo OPTION = $(OPTION)
出力
test1 = %OPTION
test2 =
if ".debug" == ".debug" SET OPTION="-d"
OPTION = %OPTION
OPTION = $(OPTION)
解決
依存関係ステートメント内に変数を設定することはできません(この場合は「init」など)。実際、ステートメントの場合も使用できません。変数は、MakeFileを呼び出す前に外部バッチファイルによって設定できます(およびそのバッチファイルはMakeFileを呼び出すことができます)、またはこの例でrelease_or_debugのような依存関係のステートメントの外側にあります。
依存関係ステートメント内の変数にアクセスするには、$(variable_name)を使用します。変数名が見つからない場合は、単に空白の文字列(「@echo test2 = $(option)」のように、変数オプションが見つからなかった場合など)を使用します。
所属していません StackOverflow