【发布时间】:2017-09-12 15:48:31
【问题描述】:
我继承了一个使用 GNU Make 3.81 的 makefile。恕我直言,它过于复杂,因为它不使用模式。此外,它不会在需要时自动创建目标文件目录。我查看了几个示例并阅读了 GNU makefile 手册,但仍然没有看到应该简单的东西。似乎有很多方法推荐,但不清楚使用什么。我有大约 60 个 c 文件需要编译到名为 obj 的目录中。但是,我不想要 6 个将“主”程序编译到该目录中的测试程序。它们位于名为 OTHERSRCS 的列表中。如果这些文件中有任何更改,我希望将 c 文件减去 OTHERSRCS 编译到 obj 中。另外,如果 obj 目录不存在,我想创建它。 'make clean' 应该删除那个目录。我已经将 ANT 与 Java 一起使用,并且可以使依赖项工作,但我没有成功使用这个 makefile。一个简单的例子会很有帮助,它使用某种排除以及 c 文件的模式。
【问题讨论】:
-
特定规则优先于一般规则,因此请尝试通过简单地为例外提供特定规则来获得“排除”。
-
如果您仍然卡住,请考虑建立一个模型示例。如果他们不必为您提供一个示例(甚至可能不是您的意思),他们更有可能回答。