2017-07-16 88 views
0

包含的makefile可以確定它自己的相對路徑嗎?包含的makefile的路徑

即,下式給出:

# Makefile 
include path/to/included/sub.mk 

path/to/included/可通過和變量或函數?

回答

1

看一看MAKEFILE_LIST及其用法示例:

包含由化妝解析,在它被解析的順序每個生成文件的名稱。這個名字在make開始解析makefile之前被添加。因此,如果makefile所做的第一件事是檢查此變量中的最後一個單詞,它將成爲當前makefile的名稱。但是,一旦當前的makefile使用了include,最後一個字就是剛剛包含的makefile。

你想要的東西,如:

path := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) 

使用即時:=分配是很重要的,因爲這裏需要的MAKEFILE_LIST當前值。

+0

謝謝。出於某種原因,我的印象是'MAKEFILE_LIST'只對遞歸make有用。 – thetic