Linux中makefile的命令包定义及使用
下面以\build\core\product.mk下面的内容为例介绍:
<spanstyle="font-size:14px;">define_find-android-products-files
$(shelltest-ddevice&&finddevice-maxdepth6-nameAndroidProducts.mk)\
$(shelltest-dvendor&&findvendor-maxdepth6-nameAndroidProducts.mk)\
$(SRC_TARGET_DIR)/product/AndroidProducts.mk
endef</span>
makefile文件中如出现一些相同的命令序列,可为这些相同的序列定义一个变量,不能和makefile文件中的变量重名,这里是_find-Android-products-files,定义这种命令序列的语法以define开始,以endef结束。
命令包的使用,就像使用变量一样:
<spanstyle="font-size:14px;">defineget-all-product-makefiles
$(callget-product-makefiles,$(_find-android-products-files))
endef</span>
$(_find-android-products-files),用$来使用命令包,就像使用函数和变量一样
这里call是函数名,get-product-makefiles和$(_find-android-products-files)是函数的参数
|