Scons -c命令

问题描述 投票:0回答:1

Scons -c调用干净的构建,它清理所有对象,.elf文件等。我的问题是scons -c如何知道找到要删除的对象的目录?如何添加新路径/文件夹以及其他路径?

谢谢,

python build scons
1个回答
1
投票

我的问题是scons -c如何知道找到要删除的对象的目录?

它知道所有目标位置,因为它构建了它们,并且清理基本上遵循用于知道构建目标的位置的相同规则,因为它知道目标要清理的位置。


如何添加新路径/文件夹以及其他路径?

来自SCons man page

-c, - clean, - remove

通过删除指定了构造命令的所有目标文件进行清理。还使用Clean()函数删除与构造命令关联的所有文件或目录。不会删除NoClean()函数指定的任何目标。

这里的关键措辞是删除所有目标文件。如果你想清理目录,你需要明确使用Clean function

清理(​​targets,files_or_dirs),env.Clean(targets,files_or_dirs)

这指定了在使用-c命令行选项指定目标时应删除的文件或目录列表。指定的目标可以是列表或单个目标。多次调用Clean是合法的,并创建新目标或将文件和目录添加到指定目标的清理列表中。

应将多个文件或目录指定为Clean方法的单独参数,或者指定为列表。 Clean也将接受任何构造环境Builder方法的返回值。

相关的NoClean函数会覆盖对同一目标调用Clean,并且-c选项不会删除传递给这两个函数的任何目标。

例子:

干净('foo',['bar','baz']) 清洁('dist',env.Program('hello','hello.c')) 清洁(['foo','bar'],'something_else_to_clean')

在此示例中,安装项目会为文档创建一个子目录。如果卸载项目,此语句将导致删除子目录。

清理(​​docdir,os.path.join(docdir,projectname))

这将采用应与要清理的文件或目录相关联的目标,然后当其中一个目标被清除时,它还将清除指定的文件和目录,这些文件和目录可能不是目标本身。

© www.soinside.com 2019 - 2024. All rights reserved.