nmake:批处理文件可以作为make命令块的一部分运行,影响nmake.exe进程的环境吗?

时间:2010-05-10 21:06:16

标签: nmake

我想在nmake中我是否这样做:

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

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

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

 example :
        setvalue
        echo %%value%%

我明白了:

%value%

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

2 个答案:

答案 0 :(得分:4)

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

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

您应该确保batch.cmd正确设置%errorlevel%(例如exit /b 22)。

makefile.auto可以包含任何内容,但您可能需要value=77之类的内容。几点:

  • 使用nmake语法(value
  • 取消引用$(value)
  • 如有必要,您可以将参数传递给batch.cmd[batch.cmd $(OBJECTS) >makefile.auto]

答案 1 :(得分:-1)

不,我不这么认为。