2

如果我这样做,我认为在 nmake 中:

 example :
        set value=77
        echo %%value%%

结果将在控制台上显示 77。

有没有办法让我调用会影响 nmake.exe 进程环境的 .cmd 或 .bat 文件?假设我将语句set value=77放在一个名为“setvalue.cmd”的文件中。然后将makefile更改为:

 example :
        setvalue
        echo %%value%%

我得到:

%value%

或者,如果有办法在命令块中设置宏,那也可以。或者,一种从批处理文件设置宏值的方法,甚至在命令块之外。

4

2 回答 2

4

您可以在 makefile 预处理期间创建一个 nmake 片段,并将其读入。假设batch.cmd输出有效的 nmake 语法,然后

!if [batch.cmd >makefile.auto]
!error *** Could not create makefile.auto
!endif
!include makefile.auto

You should ensure batch.cmd sets %errorlevel% appropriately (e.g., exit /b 22).

makefile.auto can contain anything, but you would probably want stuff like value=77. A couple of points:

  • Dereference value using nmake syntax ($(value))
  • You can pass parameters to batch.cmd if necessary ([batch.cmd $(OBJECTS) >makefile.auto])
于 2011-01-19T10:30:11.440 回答
-1

不,我不这么认为。

于 2010-05-23T02:52:26.690 回答