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

在Watcom makefile中扩展宏时,*$是什么意思?

  •  0
  • Malcolm  · 技术社区  · 5 年前

    我在一个遗留项目中有一组特殊的makefile。它们由Watcom make处理,但它们似乎具有NMAKE文件格式。我经常遇到以下构造:

    *$(_cmd_run)
    

    $(_cmd_run) 这只是一种宏观扩张,但在这种情况下,美元符号前还有一个星号。关于它的用途,我似乎找不到任何文件。NMAKE文档中没有任何与此语法相关的内容。我甚至试图查找开放的Watcom源文件,但都没有用。

    这个星号代表什么?

    0 回复  |  直到 5 年前
        1
  •  2
  •   Matt    5 年前

    这是一个在DOS下处理“长”命令行的变通方法,因此可以安全地删除它。在WMAKE的帮助下:

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

    推荐文章