0

我可以使用@if exists 来测试文件是否存在,但没有通过谷歌找到该文件。例如,在我的 makefile 中为 nmake ;

clean: 
    @if exist $(BIN_DIR) rmdir /S /Q $(BIN_DIR)
    @if exist $(OBJ_DIR) rmdir /S /Q $(OBJ_DIR)
4

2 回答 2

1

您不会在 nmake 文档中找到任何有关“@if 存在”的文档。这些是普通的 shell 命令。

因此,只需打开一个 cmd 窗口并在提示符下输入“help if”。顺便说一句,“@”符号抑制了 shell 脚本中的回声。

这就是为什么大多数.bat脚本都以“@echo off”开头的原因。

于 2013-11-01T16:14:32.117 回答
0

你可以在这里找到 nmake 文档(我很惊讶你没有找到它):

与 2012 年相比:

http://msdn.microsoft.com/en-us/library/dd9y37ha.aspx

与 2010 年相比:

http://msdn.microsoft.com/en-us/library/dd9y37ha(v=vs.100).aspx

与 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)
于 2013-09-27T19:08:30.327 回答