2

我制作了一个 SCons 构建器,它将Makefile文件作为源并调用它来生成“事物”。

(主要是其他库写的Makefile,所以不用选择用SCons代替)。

到目前为止,它运作良好,但现在我也想做这项scons -c工作。

MakefileCallBuilder只有一个虚拟目标作为它的目标,所以scons -c不会真正清理任何东西。

有没有办法告诉 SCons 我想要make clean或被make distclean要求进行清洁?

4

1 回答 1

3

由于这个确切的问题,我一直在拔头发。我终于创建了一个有点粗糙但有效的解决方案。这是 SConstruct 文件中进行清理的部分:

import subprocess

...

# Call make to clean
if env.GetOption('clean'):
    subprocess.call(['make', 'clean'])  

基本上,由于 Scons 不提供任何调用方式make clean,我通过 Python 的 subprocess.call() 来完成它。

于 2012-08-25T09:28:25.743 回答