我创建了一个SCons构建器,它将Makefile
文件作为源并调用它来生成“东西”。
(主要是由其他库编写的Makefile,所以我不必选择用SCons替换它。)
到目前为止,它运作良好,但现在我也想让scons -c
工作。
我的MakefileCallBuilder
只有一个虚拟目标作为目标,因此scons -c
不会真正清理任何东西。
有没有办法告诉SCons我想要在清洁时调用make clean
或make distclean
?
答案 0 :(得分:3)
由于这个确切的问题,我一直在拔头发。我终于创造了一种原始的解决方案,但有效。以下是SConstruct文件中进行清理的部分:
import subprocess
...
# Call make to clean
if env.GetOption('clean'):
subprocess.call(['make', 'clean'])
基本上,由于Scons没有提供任何方式来调用make clean
,我通过Python的subprocess.call()来完成它。