什么是使用“include makefile”的正确方法?

可能重复:
常见的GNU makefile目录path

在阅读recursion考虑有害之后,我决定在下一个项目中使用“include makefile”。 我有一个主要的Makefile文件,其中包含两个不同目录下的子文件。 问题是子makefile中的path是相对于他的目录,所以当我从主Makefile包含它,他无法find文件。 有没有办法解决这个问题,而不改变path?

尽管这篇文章对于递归make和DAG树是正确的,但我在大约半年前阅读了这篇文章,试图用它描述的方法,发现递归的“经典”方法使得更方便。 考虑一下:

big_project |--Makefile | |--sub_project_1 | |--... | |--Makefile | |--sub_project_2 |--... |--Makefile 

当你从big_project项目目录运行make的时候,这是非常棒的,但是如果你按照文章中的建议去做,那么在sub_project_x目录下就不会有Makefiles,因此你将不能分别处理每个子项目。