在scons中构建后如何删除中间目标文件

How to delete intermediate object files after build in scons

我想在创建最终输出二进制文件后删除中间目标文件。

例如,假设我有两个源文件(a.c 和 b.c)和 SConsruct 文件。在 SConstruct 中,

Program('out_bin', source=['a.c', 'b.c'])

scons 命令创建三个二进制文件('out_bin'、'a.o' 和 'b.o')

现在我只想保留最终的二进制文件 ('out_bin') 并删除 'a.o' 和 'b.o' .

我需要在 SConstruct 中做什么才能完成此操作?

SCons 不直接支持此功能,但您可以在 SCons 完成后使用 python 的 atexit 到 运行 任何 python 代码。

看看: http://scons.tigris.org/issues/show_bug.cgi?id=2834