【问题标题】:What are ellipses (...) used for in a Makefile.am?Makefile.am 中的省略号 (...) 有什么用?
【发布时间】:2020-02-23 05:50:23
【问题描述】:

不久前我使用 libtool 创建了一个库。 在我的示例代码中,Makefile.am 包含省略号 (...)。我不记得他们服务的目的,谷歌搜索我还没有找到答案。它们是干什么用的?

ignitech_example_SOURCES = ignitech.cpp …
ignitech_example_dyn_SOURCES = ignitech.cpp …
ignitech_example_LDADD = ../libignitech.la
ignitech_example_dyn_LDADD = -lignitech
example:
        $(MAKE) $(AM_MAKEFLAGS) -C .. all
        $(MAKE) $(AM_MAKEFLAGS) ignitech_example
        $(MAKE) $(AM_MAKEFLAGS) ignitech_example_dyn

【问题讨论】:

    标签: makefile autotools libtool


    【解决方案1】:

    省略对 Automake 没有任何特殊意义。如果您将省略号放在文件名列表中,如示例中所示,则它将被解释为文件名。 Automake 特别是 属性对 Unicode 单字符省略号没有特殊意义,例如在您的示例中出现。

    总的来说,我倾向于猜测问题中出现的 Makefile.am 片段实际上根本不是来自工作中的 Automake 输入文件,而是从一本书或教程中的示例中逐字复制的,其中省略号不应被视为文字文件内容。

    【讨论】:

    • 我可以证明 Makefile.am 实际上是一个工作输入文件。删除 unicode 省略号似乎根本没有效果。
    • 什么没有影响,@JacobGeigle?有多种原因可能会导致您在构建中看不到任何差异,首先是 Makefile.am 可能根本不直接参与构建。但这真的是无关紧要的。问题是关于省略号对 Automake 的意义,答案如下:根本没有特殊意义。
    • 感谢您的澄清。我只是想澄清一下,上面的代码 sn-p 是特定源目录的整个文件,它是可选构建的,并且 autoreconf / configure / make 没有给出错误,并且它们存在。删除它们并从 autoreconf 重新启动构建过程不会发生明显的变化。我很惊讶,因为它们没有特殊含义,所以它们没有导致错误。
    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 2013-06-14
    • 2020-05-20
    • 2011-04-17
    相关资源
    最近更新 更多