使用 MS NMAKE 打印长编译行

Ela*_*ich 5 nmake makefile visual-studio

我有一个旧的 MS NMAKE Makefile,我需要修复一些错误。

我希望调试一些很长的命令行,它们正在使用“内联文件”的 NMAKE 技巧执行:

dep:
    cmd @<<tmpfilename
cmd_args..
<<
Run Code Online (Sandbox Code Playgroud)

当将线更改为

dep:
    echo cmd @<<tmpfilename
cmd_args..
<<
Run Code Online (Sandbox Code Playgroud)

NMAKE 抱怨线路太长。

为了查看 NMAKE 实际执行的命令行,我可以应用任何其他技巧吗?

Ela*_*ich 4

为了保留保存命令行的临时文件,KEEP请在最终的<<. 例如

dep:
    echo cmd @<<tmpfilename
cmd_args..
<<KEEP
Run Code Online (Sandbox Code Playgroud)

在这种情况下,发出后将保留nmake dep一个名为 的文件,并保存参数列表。tmpfilenamecmd_args

请参阅此MS 知识库文章中的示例 makefile 2 。Thisthis (警告:PDF)KEEP是and关键字的解释NOKEEP,但我不确定它们是否是专门为 MS NMAKE 编写的。

编辑:以上链接在 2019/08 年被替换,因为它们都已失效。新链接指向似乎包含OP在此答案中所指内容的存档副本。

该语法在Makefile 中的内联文件和特别是重用内联文件中进行了描述。