【问题标题】:Performing custom actions on `scons -c`在 `scons -c` 上执行自定义操作
【发布时间】:2012-08-24 14:24:29
【问题描述】:

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

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

到目前为止,它运行良好,但现在我想让scons -c 也能运行。

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

有没有办法告诉 SCons 我希望在清理时调用 make cleanmake distclean

【问题讨论】:

    标签: python makefile scons


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2022-07-04
      • 1970-01-01
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多