首先来看一个简单的Android makefile,这个是我上篇文章写的,重新摘出来:
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := eng
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
LOCAL_SRC_FILES:= \
ppp.c
LOCAL_MODULE:= PPPreboot
include $(BUILD_EXECUTABLE)
#include $(BUILD_SHARED_LIBRARY)
下面对上面的语法进行解析:
LOCAL_PATH:=$(call my-dir) 定义了当前模块的相对路径
include $(CLEAR_VARS) 清空了当前的环境变量
LOCAL_MODULE_TAGS := eng 指定模块在eng模式下才进行编译
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog 编译需要的库
LOCAL_SRC_FILES:ppp.c 编译所需要的目标源文件,一般都是当前目录下,或者依赖于其它目录下
LOCAL_MODULE:= PPPreboot 编译生成该目标的名称,也就是最终的可执行文件
include $(