1
我有两个makefile,directoryA/Makefile
和directoryB/Makefile
。Makefile包含来自不同目录的makefile
directoryA/Makefile
取决于相当大且复杂的directoryB/Makefile
中的目标。
我可以做一个递归使
$(MAKE) -C directoryB
但是,这是不可取的several reasons。两大原因:我必须多次执行makefile,并且make
无法正确知道何时需要重建目标。
我想使用include
指令。问题是双重的:
directoryB/Makefile
中的目标都是相对于该Makefile定义的。许多命令取决于工作目录是
directoryB
。
递归使得解决了这两个问题,但有很大的缺点(前面提到过)。在使用include
时有没有办法解决这两个问题?
不是没有改写makefile文件中的至少一个。非递归makefile必须从一开始就被创建,以了解它们是非递归的。 – MadScientist
'directoryA/Makefile'中的目标/命令是否也取决于工作目录是'directoryA'? – Beta
@Beta,目前是,但是'directoryA/Makefile'不是那么简单。我想我可以重写那个包含它的目录,然后用'directoryB/Makefile'包含它。 –