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'包含它。 –