2017-07-16 10 views
0

インクルードされたメイクファイルがそれ自身の相対パスを判断することは可能ですか?インクルードされたメイクファイルのパス

すなわち、与えられた:

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

はを通じて利用可能path/to/included/、変数や関数のですか?

答えて

1

MAKEFILE_LISTを見て、その使用例を持っている:

は、それが解析された順に、メイクによって解析された各メイクファイルの名前が含まれています。メイクファイルの解析が始まる直前に名前が追加されます。したがって、makefileが最初に行うことがこの変数の最後の単語を調べるなら、それは現在のmakefileの名前になります。しかし、現在のmakefileがincludeを使用すると、最後の単語はちょうどインクルードされたmakefileになります。

あなたが何かしたい:MAKEFILE_LISTの電流値が必要とされているので、すぐに:=割り当てを使用して

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

はここでは重要です。

+0

ありがとうございます。何らかの理由で私は 'MAKEFILE_LIST'が再帰的なmakeに対してのみ有用であるという印象を受けました。 – thetic

関連する問題