如何控制使用 MPC 时清理的输出目录和文件

How do I control output directories and files that are cleaned when using MPC?

本文关键字:输出 文件 MPC 何控制 控制      更新时间:2023-10-16

我正在试验OpenDDS(和ACE/TAO),它使用MPC(Make Project Creator)来生成实际的make文件,它正在做一些非常烦人的事情。

首先,它会生成大量中间源文件(一些 IDL 和 c++ 标头/实现),并将它们与手动创建的 IDL 和 C++ 文件放在同一个目录中。 我希望手动创建的文件和生成的文件位于不同的目录中,因为所有生成的文件都会分散注意力。 有什么办法可以做到这一点吗?

其次,让我运行"make clean"它会清理生成的对象文件,但它不会清理生成的源文件。 有没有办法让它清理所有生成的文件?

要删除所有生成的文件(使用 make 文件时),只需执行"make realclean"即可。 "Make Clean"只是清理C++编译产品(目标文件,库和可执行文件),而"Make Realclean"删除所有生成的文件。

更改生成的文件的输出目录可能不是您真正想要做的事情。 是的,生成的大量 IDL 和C++有时会妨碍您,但过了一段时间,您就会学会忽略它们。 如果您对此死心塌地,一种间接方法是使用 MPC 附带的clone_build_tree.pl脚本。 此脚本创建一个新目录(在 build/xxx 下),其中包含指向所有源文件的符号链接。 然后,您在那里进行构建,使原始源目录保持原始状态。 下面是一个简化的示例(假设已经设置 ACE、TAO 和 MPC):

  1. 光盘 DDS
  2. $MPC_根/clone_build_tree.pl测试
  3. 光盘构建/测试
  4. 导出DDS_ROOT="PWD"
  5. 使用正常的开放 DDS 指令构建...