代码之家  ›  专栏  ›  技术社区  ›  Cheeso

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

  •  2
  • Cheeso  · 技术社区  · 14 年前

    我认为在恩马克,如果我这样做:

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

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

    是否有方法调用将影响nmake.exe进程环境的.cmd或.bat文件?假设我把声明 set value=77 在名为“setvalue.cmd”的文件中。然后将makefile更改为:

     example :
            setvalue
            echo %%value%%
    

    我得到:

    %value%
    

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

    2 回复  |  直到 13 年前
        1
  •  3
  •   bobbogo    13 年前

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

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

    你应该确保 指挥部 集合 %errorlevel% 适当地(例如, exit /b 22 )

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

    • 撤销引用 value 使用nmake语法( $(value) )
    • 可以将参数传递给 指挥部 如有必要( [batch.cmd $(OBJECTS) >makefile.auto] )
        2
  •  0
  •   Cheeso    14 年前

    不,我不这么认为。