在Watcom Makefile中扩展宏时**是什么意思?

时间:2019-03-13 12:47:36

标签: makefile build nmake watcom

我在旧项目中有一组特殊的Makefile。它们是由Watcom品牌处理的,但是它们似乎具有NMAKE文件格式。我经常遇到以下结构:

*$(_cmd_run)

$(_cmd_run)只是一个宏扩展,但是在这种情况下,美元符号前还有一个星号。我似乎找不到任何有关其目的的文档。 NMAKE文档对此语法没有任何要求。我什至尝试查找Open Watcom源文件,但无济于事。

这个星号表示什么?

1 个答案:

答案 0 :(得分:2)

这是在DOS下处理“长”命令行的解决方法,因此可以安全地将其删除。在WMAKE的帮助下:

  

在DOS下,星号前缀(*)将使Make检查命令参数的长度。如果它太长(> 126个字符),它将使用命令参数并将其填充到临时环境变量中,然后以“ @env_var”作为参数来执行命令。