Linux 中makefile的命令包定义及使用
Linux中makefile的命令包定义及使用
下面以\build\core\product.mk下面的内容为例介绍:
define_find-android-products-files $(shelltest-ddevice&&finddevice-maxdepth6-nameAndroidProducts.mk)\ $(shelltest-dvendor&&findvendor-maxdepth6-nameAndroidProducts.mk)\ $(SRC_TARGET_DIR)/product/AndroidProducts.mk endef
makefile文件中如出现一些相同的命令序列,可为这些相同的序列定义一个变量,不能和makefile文件中的变量重名,这里是_find-Android-products-files,定义这种命令序列的语法以define开始,以endef结束。
命令包的使用,就像使用变量一样:
defineget-all-product-makefiles $(callget-product-makefiles,$(_find-android-products-files)) endef
$(_find-android-products-files),用$来使用命令包,就像使用函数和变量一样
这里call是函数名,get-product-makefiles和$(_find-android-products-files)是函数的参数
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!