Scons -c调用清理构建,清除所有对象、.elf文件等。我的问题是,scons -c如何知道在哪些目录中查找要删除的对象?如何添加与其他路径一起清理的新路径/文件夹?
谢谢,
发布于 2019-03-14 08:54:08
我的问题是,scons -c如何知道在哪些目录中查找要删除的对象?
它知道所有的目标位置,因为它建立了它们,清理基本上遵循相同的规则,它用来知道在哪里建立目标,因为它知道目标是在哪里清理。
如何添加可与其他路径一起清除的新路径/文件夹?
-c,-- Clean,--remove清除通过删除指定了构造命令的所有目标文件来清除。另外,使用Clean()函数删除与构造命令关联的所有文件或目录。不会删除NoClean()函数指定的任何目标。
这里的关键措辞是它删除了所有目标文件。如果您还想清理目录,则需要显式使用Clean function
Clean( targets,files_or_dirs),env.Clean(targets,files_or_dirs)此选项指定在使用-c命令行选项指定目标时应删除的文件或目录的列表。指定的目标可以是列表,也可以是单个目标。对Clean的多次调用是合法的,可以创建新目标或将文件和目录添加到指定目标的clean列表中。应将多个文件或目录指定为Clean方法的单独参数,或指定为列表。Clean还将接受任何构造环境生成器方法的返回值。
相关的NoClean函数会覆盖对同一目标的Clean调用,并且传递给这两个函数的任何目标都不会被-c选项删除。示例: Clean('foo','bar','baz')
Clean('dist',env.Program('hello','hello.c'))
Clean('foo','bar','something_else_to_clean')在本例中,安装项目会为文档创建一个子目录。如果卸载项目,此语句将导致删除该子目录。清理(docdir,os.path.join(docdir,projectname))
这将获取应该与您要清理的文件或目录相关联的目标,然后当其中一个目标被清理时,它还将清理指定的文件和目录,这些文件和目录本身可能不是目标。
https://stackoverflow.com/questions/55134160
复制相似问题