【问题标题】:How does sconstruct receive input?sconstruct 如何接收输入?
【发布时间】:2020-11-13 07:14:53
【问题描述】:

我想使用 Sconstruct 而不是 Makefile。但是我发现Makefile中的很多情况在Sconstruct中很难实现。 例如,

  1. 我有三个 .c 文件,a.c、b.cc.c。我想根据输入决定将哪个文件编译成最终文件。在Makefile中我可以使用make amake bmake c来实现。但是在sconstruct中,scons e会根据最终的目标文件来决定执行哪条语句。有没有办法根据源文件或标签来决定执行哪个语句?
  2. 有时在 Makefile 中,我想一次编译多个文件,但不是所有文件。在 Makefile 中,我可以在一个标签下编写多个文件的编译。 sconstruct中有这样的方法吗?

我在网上找了很多关于sconstruct的文档,但基本上每个文档都介绍了最基本的命令。

【问题讨论】:

    标签: makefile scons


    【解决方案1】:

    可能不理解所有问题,但 SCons 会在命令行上构建您要求它的目标,就像 Make 所做的那样。如果您不提供任何内容,它会构建默认目标,您可以自己通过Default() 调用来定义这些目标。如果两者都不是,那么它会构建“.”,这意味着在 SConstruct 目录下发现的所有目标。

    目标不必是要构建的文件的名称,您可以使用Alias() 函数来分配一个可用作构建目标的名称。如果您愿意,别名可以引用多个目标,这似乎是您的第二个问题。

    如果您想更互动地聊天,请随时跳到 SCons Discord 频道(有关链接,请参阅 https://scons.org/contact.html

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 2013-11-26
      • 2011-05-28
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多