我想将依赖目标添加到我的 Makefile 中,我知道这可以通过 makedepend 或 g++ -MM 选项来完成,我愿意使用它们中的任何一个,但我更喜欢 -MM 选项,因为它允许我排除标准库(我愿意不知道makedepend能不能做到)。
问题是我在我的应用程序中使用了一些外部库头文件,并且我希望将这些头文件从生成的依赖项中排除,那么如何从这些生成的依赖项中排除某些目录。
[Edit-start]我已经尝试过使用grep -v
,但问题是如果排除的行是某个目标中的最后一个换行行,则由于末尾的转义“\”字符,下一个目标将连接到该目标在它之前的行导致损坏的依赖规则。除此之外,通过库头解析它们所需的时间[Edit-end]。
另一个问题是,我如何编辑生成的目标文件目标的后缀,我正在使用一个 Makefile,它通过使用这样的目标来编译通过变量提供的源文件:
%.o: %.cpp
g++ $< -o$*.o ...