.mk 文件和 Makefile 的区别

hug*_*ech 17 makefile gnu-make android.mk

我刚刚开始学习移植 Android。我遇到了一种新类型的文件,即 .mk 文件。它是 Makefile 的扩展,但我不知道它与 Makefile 有什么不同?那么,有人可以帮助您澄清它们。非常感谢 !

Ren*_*let 31

一个make文件可以有任何名称。该-f的选项make来指定哪些文件来使用:

make -f foobar
Run Code Online (Sandbox Code Playgroud)

您甚至可以-f多次使用:

make -f foo -f bar
Run Code Online (Sandbox Code Playgroud)

在这种情况下make,按顺序处理文件(或者,等效地,连接文件并处理结果)。

makefileMakefile是特殊名称,因为如果make在没有-f选项的情况下调用它,它会按此顺序自动搜索它们,并使用它找到的第一个。请注意,GNUmake也考虑GNUmakefile并且更喜欢它而不是makefileMakefile。其他make实现可以有其他默认名称。

.mk扩展名或多或少是具有其他名称而不是默认名称的 make 文件的标准扩展名。如果您希望人们快速了解这些文件是什么,这是一个合理的扩展名:convert.mkfoobar. 一些编辑器使用此扩展名来识别文件类型并应用语法着色。它们通常对makefile和应用相同的语法着色Makefile