用MS NMAKE打印长编译线

时间:2009-08-11 14:05:55

标签: visual-studio makefile nmake

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

我希望调试的一些非常长的命令行正在使用"inline files"的NMAKE技巧执行:

dep:
    cmd @<<tmpfilename
cmd_args..
<<

将线路更改为

dep:
    echo cmd @<<tmpfilename
cmd_args..
<<

NMAKE抱怨说这条线太长了。

为了查看NMAKE实际执行的命令行,还有其他技巧吗?

2 个答案:

答案 0 :(得分:3)

为了使保留命令行的临时文件在最终KEEP之后附加<<关键字。例如

dep:
    echo cmd @<<tmpfilename
cmd_args..
<<KEEP

在这种情况下,在发出nmake dep后,将保留名为tmpfilename的文件,并保留参数列表cmd_args

请参阅此MS kd article中的示例makefile 2。 Thisthis (warning:PDF)KEEPNOKEEP关键字的解释,但我不确定它们是否专门针对MS NMAKE编写。

答案 1 :(得分:1)

普通的unix make支持“make -n”来显示它将运行的命令,因为nmake是“make / n”。但是,make通常也会尝试变聪明,并且会在任何情况下运行更新依赖项的规则,即使对于“-n”也是如此,因此您可以尝试

#dep:
my_test_rule:
    cmd @<<tmpfilename
cmd_args..
<<

然后运行“nmake / n my_test_rule”进行调试。