可能重复:
常见的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,因此你将不能分别处理每个子项目。