从 GNU Make 到 Scons

From GNU Make to Scons

Scons 中的 'SConstruct' 文件会是什么样子 以下代码在 GNU Make 中的作用是什么?

target: dependency0 dependency1
     shell command 1  # Not java, cc or the like
     shell command 2
     shell command 3

我建议您至少阅读 User Guide。它包含对 SCons 的介绍,每个 SCons 脚本的编写者都需要知道的事情。

特别是 Command builder 允许您编写具有指定先决条件、目标和操作的规则。动作本身可以是一个 shell 命令。它没有说的可能是你可以提供一个动作列表,这意味着它们是按顺序执行的(就像 make 一样)。这将我们带到 SCons 等价物:

Command("target", ["dependency0", "dependency1"], [
       "shell command 1",
       "shell command 2",
       "shell command 3",
       ])

还有一些特殊变量可用于扩展命令的目标和源,但这在用户指南中有解释(在手册页中有更详细的说明)。