阅读Recursive Make Considered Harmful后,我决定在我的下一个项目中使用“include makefile”。我有一个主要的Makefile,其中包含两个不同dirs的子makefile。问题是子makefile里面的路径是相对于他的dir的,所以当我从主Makefile中包含它时,他找不到文件。有没有办法解决这个问题而不改变路径?
答案 0 :(得分:1)
尽管文章对于递归make和DAG树是正确的,但是大约半年前我读了这篇文章,并尝试使用其中描述的方法,并发现递归的“经典”方法更加方便。考虑一下:
big_project
|--Makefile
|
|--sub_project_1
| |--...
| |--Makefile
|
|--sub_project_2
|--...
|--Makefile
当您从big_project
项目目录运行make时,这很棒,但是,如果您按照文章中的建议执行操作,则sub_project_x
目录中将没有Makefile,因此您赢了不能单独处理每个子项目。