Makefile包含来自不同目录的makefile

时间:2014-03-26 14:16:12

标签: makefile gnu-make

我有两个makefile,directoryA/MakefiledirectoryB/Makefile

directoryA/Makefile取决于相当大且复杂的directoryB/Makefile目标。

我可以做一个递归制作

$(MAKE) -C directoryB

但这对several reasons来说是不可取的。有两大原因:我必须多次执行makefile,make无法正确知道何时需要重建目标。

我想使用include指令。问题有两个:

  1. directoryB/Makefile中的目标都是相对于该Makefile定义的。

  2. 许多命令依赖于工作目录directoryB

  3. 递归make解决了这两个问题,但有很大的缺点(如前所述)。有没有办法在使用include时解决这两个问题?

1 个答案:

答案 0 :(得分:0)

在没有看到directoryA/Makefile的情况下很难说,但另一种选择是让它include directoryB/Makefile,然后

cd directoryB
make -f ../directoryA/Makefile