用于生成 Makefile 的依赖项





0/5 (0投票)
编写完美且快速的 Makefile
引言
这篇文章写给那些能够手动编写或更新 GNU Make 的 Makefile 的开发者。好吧。好吧!你可以使用 vi 或 ed 编辑器在终端中进行修改,但你应该能够知道如何在没有直接互联网连接的情况下阅读和理解 Makefile。:-)
背景
在我的工作中,我时不时需要维护一些不是特别小的软件部分,即使它们是由其他人编写的。每个人都很懒,即使他们不同意。我也是。我试图避免这种情况:源文件 a.cpp 包含头文件 a.hpp,后者也包含文件 utils.hpp,后者又包含 b.hpp,后者又包含 utils.hpp,等等。但这种情况一次又一次地发生。如果你在项目开始时没有管理好这个问题,你就会得到一个在构建后删除对象文件的 Makefile,因为你无法提供如此精确的依赖关系。
顺便说一下,Netbeans IDE 和 Eclipse IDE 是快速应用程序开发的优秀工具集,但这些工具集生成的 Makefile 并不适用于所有情况。
Using the Code
所以我编写了一个 Python 脚本,它可以生成 Makefile 的依赖项部分。
该脚本的最小命令行应该如下所示
python cpp_depends.py -I . *.cpp
如果你想了解更多关于脚本可用选项的信息,只需使用 -h
参数运行它,或者查看脚本内部。
请记住,Windows 中的通配符的工作方式与 Linux 中略有不同。
关注点
这不是我编写的第一个 Python 脚本,但它帮助我理解了如何在 Python 中处理 string
s。
历史
当前版本已在 Python 3.4 (Windows) 和 Python 2.7 (Linux) 上进行了测试。
Python 脚本的最新版本已压缩并附加到此提示中。