我可以使用@if exists来测试文件是否存在,但是没有通过Google找到该文件。例如,在我的makefile中为nmake;
clean:
@if exist $(BIN_DIR) rmdir /S /Q $(BIN_DIR)
@if exist $(OBJ_DIR) rmdir /S /Q $(OBJ_DIR)
答案 0 :(得分:1)
您不会在nmake文档中找到有关“@if exists”的任何文档。这些是普通的shell命令。
所以只需打开一个cmd窗口,然后在提示符处输入“help if”。顺便说一下,“@”符号会抑制shell脚本中的回显。
这就是为什么大多数.bat
脚本以“@echo off”开头的原因。
答案 1 :(得分:0)
你可以在这里找到nmake文档(我很惊讶你没找到它):
VS 2012:
http://msdn.microsoft.com/en-us/library/dd9y37ha.aspx
VS 2010:
http://msdn.microsoft.com/en-us/library/dd9y37ha(v=vs.100).aspx
VS 2008:
http://msdn.microsoft.com/en-us/library/dd9y37ha(v=vs.90).aspx
早期版本也可用,但是nmake没有太大变化。
使用$(VARNAME)语法访问的变量是环境变量,或者是在makefile本身内声明的变量。
这是一个非常简单的makefile,用于声明变量,单个规则(ALL)输出PATH(来自环境),然后是本地声明的变量。
MY_VAR=12345
ALL:
@echo $(PATH) $(MY_VAR)