Command SCON:如何定义仅在';scons-c';?

Command SCON:如何定义仅在';scons-c';?,command,execute,scons,Command,Execute,Scons,在构建我希望创建一些目录结构的目标之前,我知道我可以使用: env = Environment() env.Execute('mkdir -p xxx') 但这将导致执行“mkdir-p”,即使在我清理时: scons -c 将调用“env.Execute” 我希望有一些命令或目标只在我执行'scons-c'时发生 如何做到这一点? 谢谢。这个-c选项是一个内置的scons选项,您可以检查它是否设置了GetOption('clean') 然后,您可以根据“clean”选项的值有条件地调用这些

在构建我希望创建一些目录结构的目标之前,我知道我可以使用:

env = Environment()
env.Execute('mkdir -p xxx')
但这将导致执行“mkdir-p”,即使在我清理时:

scons -c
将调用“env.Execute”

我希望有一些命令或目标只在我执行'scons-c'时发生

如何做到这一点?
谢谢。

这个-c选项是一个内置的scons选项,您可以检查它是否设置了
GetOption('clean')

然后,您可以根据“clean”选项的值有条件地调用这些命令。以下是一个示例:

env=Environment()
如果不是GetOption('clean'):
环境执行('mkdir-pxxx')
其他:
环境执行('echo“清理…”)
有关其他内置选项的更多信息,请参见:

这些目录是SCON将构建到的吗?因为在这种情况下,SCON将自动创建这些目录。。