常见的模块描述变量解析:
LOCAL_PATH := $(call my-dir)
将当前目录的路径赋值给LOCAL_PATH变量。$(call my-dir)是一个Makefile函数,用于获取当前Makefile文件所在的目录路径。
CODE_PATH := $(LOCAL_PATH)
这行代码将LOCAL_PATH的值赋给CODE_PATH变量。
include $(CLEAR_VARS)
清除先前定义的变量和规则。它通常用于在Makefile中引入其他Makefile文件或模块。
LOCAL_C_INCLUDES
指定使用的头文件路径,递归搜索子文件夹。
LOCAL_SRC_FILES
指定使用的源文件
LOCAL_CFLAGS
指定C/C++编译器的编译选项(例如优化级别、警告选项等)。
LOCAL_STATIC_LIBRARIES
指定当前模块所依赖的静态库文件。静态链接的过程将会直接将静态库的代码和数据复制到最终的可执行文件或共享库中,使得最终的程序文件独立于静态库文件的存在。(有代码)
LOCAL_SHARED_LIBRARIES
指定当前模块所依赖的共享库文件。
LOCAL_EXPORT_C_INCLUDE_DIRS
指定当前模块导出的C/C++头文件路径。这些导出的头文件路径可以让其他模块引用,其他模块不在需要使用LOCAL_C_INCLUDES 去包含该模块头文件路径。
LOCAL_INCLUDE_BUILD_DIRECTORY := true
指定模块的构建目录作为包含文件的搜索路径,这样include时无需指定完整路径。LOCAL_EXPORT_C_INCLUDE_DIRS
适用于需要导出头文件路径给其他模块使用的情况,而 LOCAL_INCLUDE_BUILD_DIRECTORY
适用于仅在当前模块构建过程中使用的头文件路径。
LOCAL_MODULE
指定当前模块的名称。它通常用于生成输出文件的名称,例如可执行文件或共享库的名称。
LOCAL_PROPRIETARY_MODULE
指定当前模块是否是vendor专有模块。true控制生成路径到vendor/lib,false就是system/lib
include $(BUILD_STATIC_LIBRARY)
编译静态库
include $(PREBUILT_STATIC_LIBRARY)
使用预先构建的静态库(无代码)
不断更新中......