你如何使用NMake访问变量?

时间:2010-06-21 17:19:58

标签: variables if-statement nmake setting statements

我有一个包含以下代码的makefile。我正在尝试在if语句中设置变量。它没有错误,但%OPTION%只打印%OPTION(只有一个百分号),$(OPTION)不会打印任何内容。请帮忙

生成文件

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)

1 个答案:

答案 0 :(得分:2)

您不能在依赖语句中设置变量(例如在这种情况下为“init”)。实际上,你也不能在那里使用if语句。在调用makefile之前,可以通过外部批处理文件设置变量(该批处理文件可以调用makefile),也可以在此示例中的RELEASE_OR_DEBUG之类的依赖语句之外设置变量。
要访问依赖语句中的变量,请使用$(VARIABLE_NAME)。请注意,如果找不到变量名,它将只使用空字符串(例如在“@echo test2 = $(OPTION)”测试中,其中未找到变量OPTION)。