65.9K
CodeProject 正在变化。 阅读更多。
Home

用于生成 Makefile 的依赖项

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2016年5月5日

CPOL

2分钟阅读

viewsIcon

7706

downloadIcon

112

编写完美且快速的 Makefile

引言

这篇文章写给那些能够手动编写或更新 GNU Make 的 Makefile 的开发者。好吧。好吧!你可以使用 vied 编辑器在终端中进行修改,但你应该能够知道如何在没有直接互联网连接的情况下阅读和理解 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 中处理 strings。

历史

当前版本已在 Python 3.4 (Windows) 和 Python 2.7 (Linux) 上进行了测试。

Python 脚本的最新版本已压缩并附加到此提示中。

© . All rights reserved.